type
BuildPod
abstract class BuildPod : BuildScript
BuildPod is the base class for build scripts used to manage building a Fantom source code and resources into a Fantom pod.
See Build for details.
fields
depends |
List of dependencies for pod formatted as |
---|---|
dependsDir |
The directory to look in for the dependency pod file (and potentially their recursive dependencies). |
docApi |
Indicates if if fandoc API should be included in the documentation. |
docSrc |
Indicates if if source code should be included in the pod/documentation. |
dotnetDirs |
List of Uris relative to build script of directories containing the C# source files to compile for .NET native methods. |
index |
Pod index name/value pairs to compile into pod. |
javaDirs |
List of Uris relative to build script of directories containing the Java source files to compile for Java native methods. |
jniDirs |
List of Uris relative to build script of directories containing the JNI C source files to compile. |
jniPlatforms |
If non-null, whitelist of platforms JNI should be enabled for. |
jsDirs |
List of Uris relative to build script of directories containing the JavaScript source files to compile for JavaScript native methods. |
meta |
Pod meta-data name/value pairs to compile into pod. |
outDocDir |
Directory to output documentation (docs always get placed in sub-directory named by pod). |
outPodDir |
Directory to output pod file. |
podName |
Required name of the pod. |
resDirs |
List of optional Uris relative to build script of directories of resources files to package into pod zip file. |
srcDirs |
List of Uris relative to build script of directories containing the Fan source files to compile. |
summary |
Required summary description of pod. |
version |
Version of the pod - default is set to |
methods
clean |
Delete all intermediate and target files |
---|---|
compile |
Compile the source into a pod file and all associated natives. |
compileDotnet |
Compile native .NET assembly dotnetDirs configured |
compileFan |
Compile Fan code into pod file |
compileJava |
Compile Java class files if javaDirs is configured |
compileJni |
Compile JNI bindings if jniDirs configured. |
compileNodeJs |
Compile to javascript node module |
full |
Run clean, compile, and test |
nodeJs |
Compile to all classes to run in Node.js |
onCompileFan |
Callback to tune the Fantom compiler input |
test |
Run the unit tests using |
Slot Details
clean
compile
@Target { help=... }
virtual Void compile()
Compile the source into a pod file and all associated natives. See compileFan
, compileJava
, and compileDotnet
.
compileDotnet
virtual Void compileDotnet()
Compile native .NET assembly dotnetDirs configured
compileFan
virtual Void compileFan()
Compile Fan code into pod file
compileJava
virtual Void compileJava()
Compile Java class files if javaDirs is configured
compileJni
virtual Void compileJni()
Compile JNI bindings if jniDirs configured.
compileNodeJs
virtual Void compileNodeJs()
Compile to javascript node module
depends
Str[] depends := Str[,]
List of dependencies for pod formatted as Depend
. Strings are automatically run through BuildScript.applyMacros
.
dependsDir
Uri? dependsDir := null
The directory to look in for the dependency pod file (and potentially their recursive dependencies). If null then we use the compiler's own pod definitions via reflection (which is more efficient). As a general rule you shouldn't mess with this field - it is used by the build
and compiler
build scripts for bootstrap build.
docApi
Bool docApi := true
Indicates if if fandoc API should be included in the documentation. By default API is included.
docSrc
Bool docSrc := false
Indicates if if source code should be included in the pod/documentation. By default source code it not included.
dotnetDirs
Uri[]? dotnetDirs
List of Uris relative to build script of directories containing the C# source files to compile for .NET native methods.
full
index
javaDirs
Uri[]? javaDirs
List of Uris relative to build script of directories containing the Java source files to compile for Java native methods.
jniDirs
Uri[]? jniDirs
List of Uris relative to build script of directories containing the JNI C source files to compile.
jniPlatforms
Str[]? jniPlatforms
If non-null, whitelist of platforms JNI should be enabled for. Platform string may be full platform name ("macosx-x86_64") or OS only ("macosx").
jsDirs
Uri[]? jsDirs
List of Uris relative to build script of directories containing the JavaScript source files to compile for JavaScript native methods.
meta
nodeJs
onCompileFan
virtual Void onCompileFan(CompilerInput ci)
Callback to tune the Fantom compiler input
outDocDir
Uri outDocDir := Env.cur().workDir().plus(`doc/`).uri
Directory to output documentation (docs always get placed in sub-directory named by pod). By default it goes into "{Env.cur.workDir}/doc/"
outPodDir
Uri outPodDir := Env.cur().workDir().plus(`lib/fan/`).uri
Directory to output pod file. By default it goes into "{Env.cur.workDir}/lib/fan/"
podName
Str? podName := null
Required name of the pod.
resDirs
Uri[]? resDirs
List of optional Uris relative to build script of directories of resources files to package into pod zip file. If a file has a "jar" extension then its contents are unzipped into the target pod.
srcDirs
Uri[]? srcDirs
List of Uris relative to build script of directories containing the Fan source files to compile.
summary
Str? summary := null
Required summary description of pod.
test
version
Version version := ...
Version of the pod - default is set to BuildScript.config
prop buildVersion
.