logo

class

build::JdkTask

sys::Obj
  build::Task
    build::JdkTask
  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  }