
1 // 2 // Copyright (c) 2006, Brian Frank and Andy Frank 3 // Licensed under the Academic Free License version 3.0 4 // 5 // History: 6 // 4 Nov 06 Brian Frank Creation 7 // 8 9 ** 10 ** Java Developer Kit task provides a common set of 11 ** environment variables for the Java environment. 12 ** 13 class JdkTask : Task 14 { 15 16 ////////////////////////////////////////////////////////////////////////// 17 // Construction 18 ////////////////////////////////////////////////////////////////////////// 19 20 ** 21 ** Initialize the JDK environment fields. 22 ** 23 new make(BuildScript script) 24 : super(script) 25 { 26 // jdkHomeDir 27 jdkHomeProp := Sys.env["fan.build.jdkHome"] 28 try 29 { 30 jdkHomeDir = jdkHomeProp.toUri.toFile 31 if (!jdkHomeDir.exists || !jdkHomeDir.isDir) throw Err.make 32 } 33 catch 34 { 35 throw fatal("Missing or invalid URI for fan.build.jdkHome: $jdkHomeProp") 36 } 37 38 // derived files 39 jdkBinDir = jdkHomeDir + `bin/` 40 javaExe = jdkBinDir + `java.exe` 41 javacExe = jdkBinDir + `javac.exe` 42 jarExe = jdkBinDir + `jar.exe` 43 rtJar = jdkHomeDir + `jre/lib/rt.jar` 44 } 45 46 ////////////////////////////////////////////////////////////////////////// 47 // Run 48 ////////////////////////////////////////////////////////////////////////// 49 50 ** 51 ** Run not implemented 52 ** 53 override Void run() 54 { 55 throw fatal("not implemented") 56 } 57 58 ////////////////////////////////////////////////////////////////////////// 59 // Fields 60 ////////////////////////////////////////////////////////////////////////// 61 62 ** Home directory for jdk installation 63 ** configured via Sys.env["fan.build.jdkHome"] 64 File jdkHomeDir 65 66 ** JDK bin for executables: {jdkHomeDir}/bin/ 67 File jdkBinDir 68 69 ** Java runtime executable: {jdkBinDir}/java.exe 70 File javaExe 71 72 ** Javac compiler executable: {jdkBinDir}/javac.exe 73 File javacExe 74 75 ** Jar (Java Archive) executable: {jdkBinDir}/javac.exe 76 File jarExe 77 78 ** Standard runtime library jar file: {jdkHomeDir}/jre/lib/rt.jar 79 File rtJar 80 81 }