BuildPod is the base class for build scripts used to manage building a Fantom source code and resources into a Fantom pod.
See docTools::Build for details.
Slots
- cleanSource
-
Delete all intermediate and target files
- compileSource
-
@Target
virtual Void compile()Compile the source into a pod file and all associated natives. See compileFan, compileJava, and compileDotnet.
- compileDotnetSource
-
virtual Void compileDotnet()
Compile native .NET assembly is podDotnetDirs configured
- compileFanSource
-
virtual Void compileFan()
Compile Fan code into pod file
- compileJavaSource
-
virtual Void compileJava()
Compile native Java jar file if podJavaDirs is configured
- dependsSource
-
Str[] depends := Str[,]
List of dependencies for pod formatted as
sys::Depend
. - dependsDirSource
-
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
andcompiler
build scripts for bootstrap build. - docSource
-
Build the HTML documentation
- docApiSource
-
Bool docApi := true
Indicates if if fandoc API should be included in the documentation. By default API is included.
- docSrcSource
-
Bool docSrc := false
Indicates if if source code should be included in the documentation. By default source code it not included.
- dotnetDirsSource
-
Uri[]? dotnetDirs
List of Uris relative to build script of directories containing the C# source files to compile for .NET native methods.
- fullSource
-
Run clean, compile, and test
- indexSource
-
Pod index name/value pairs to compile into pod. See
sys::Env.index
. The index values can be a single Str or a Str[] if there are multiple values mapped to one key. - javaDirsSource
-
Uri[]? javaDirs
List of Uris relative to build script of directories containing the Java source files to compile for Java native methods.
- jsDirsSource
-
Uri[]? jsDirs
List of Uris relative to build script of directories containing the JavaScript source files to compile for JavaScript native methods.
- metaSource
-
Pod meta-data name/value pairs to compile into pod. See
sys::Pod.meta
. - outDirSource
-
Uri outDir := Env.cur().workDir().plus(`lib/fan/`).uri
Directory to write pod file. By default it goes into "{Env.cur.workDir}/lib/fan/"
- podNameSource
-
Str? podName := null
Required name of the pod.
- resDirsSource
-
Uri[]? resDirs
List of Uris relative to build script of directories of resources files to package into pod zip file. Optional.
- srcDirsSource
-
Uri[]? srcDirs
List of Uris relative to build script of directories containing the Fan source files to compile.
- summarySource
-
Str? summary := null
Required summary description of pod.
- testSource
-
Run the unit tests using
fant
for this pod -
private Void validate()
- versionSource
-
Version version := ...
Version of the pod - default is set to config prop
buildVersion
.