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
-
@target = "delete all intermediate and target files"
virtual Void clean()Clean all targets which might be built for this pod.
- compileSource
-
@target = "compile fan source into pod and all associated natives"
virtual Void compile()Compile the source into a pod file and all associated natives. See compileJava and compileDotnet.
- compileDotnetSource
-
virtual Void compileDotnet()
Compile native .NET assembly is podDotnetDirs configured
- compileJavaSource
-
virtual Void compileJava()
Compile native Java jar file if podJavaDirs is configured
- defaultTargetSource
-
override Target defaultTarget()
Overrides build::BuildScript.defaultTarget
Default target is compile.
- dependsDirSource
-
Uri? dependsDir
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
-
@target = "build fandoc HTML docs"
virtual Void doc()Build the HTML documentation
- dumpEnvSource
-
@target = "Dump env details to help build debugging"
override Void dumpEnv()Overrides build::BuildScript.dumpEnv
- fullSource
-
override internal Void initEnv()
Overrides build::BuildScript.initEnv
Internal initialization before setup is called
- outDirSource
-
Uri? outDir
Directory to write pod file. By default it goes into "{Env.cur.workDir}/fan/lib"
- podDefSource
-
File? podDef
Location of "pod.fan" which defines the pod meta-data needed to compile the pod from source. By default this is assumed to be a peer to the build script.
- podDependsSource
-
Depend[] podDepends()
Pod facet
@sys::podDepends
- podDotnetDirsSource
-
Uri[]? podDotnetDirs()
Pod facet
@sys::podDotnetDirs
- podFacetsSource
-
PodFacetsParser podFacets()
Parse the facets from the "pod.fan" source file.
-
private PodFacetsParser? podFacetsParser
- podJavaDirsSource
-
Uri[]? podJavaDirs()
Pod facet
@sys::podJavaDirs
- podJsSource
-
Bool podJs()
Pod facet
@sys::js
- podJsDirsSource
-
Uri[]? podJsDirs()
Pod facet
@sys::podJsDirs
- podNameSource
-
Str? podName
Programatic name of the pod. Required to match name in "pod.fan".
- podNodocSource
-
Bool podNodoc()
Pod facet
@sys::nodoc
- podResDirsSource
-
Uri[]? podResDirs()
Pod facet
@sys::podResDirs
- podSrcDirsSource
-
Uri[]? podSrcDirs()
Pod facet
@sys::podSrcDirs
- testSource
-
@target = "run fant for specified pod"
virtual Void test()Run the unit tests using
fant
for this pod. -
override internal Void validate()
Overrides build::BuildScript.validate
Validate subclass constructor setup required meta-data.
- versionSource
-
Version? version
Version of the pod - default is set to config prop
buildVersion
. Required.