Scala Simple Built Tool (sbt) 11.2 or higher is required for building.
SBT will automatically download all necessary dependencies (including scala)
upon the first invocation. The cache is stored in ~/.ivy2.
Execute sbt to start the interactive sbt prompt. Below are some of the commonly
used commands:
Command | Description |
---|---|
project daffodil | Switch to the root project (this is the default project) |
project daffodil-lib | Switch to the library sub-project |
project daffodil-core | Switch to the core sub-project |
project daffodil-test | Switch to the conformance test suite sub-project |
The following commands can be run from within any sub-project if you only want
to build/test/etc that subproject. Dependendent tasks in another project will
be performed if required. Running a command from withing the root 'daffodil'
project will run the command in all sub-projects.
Command | Description |
---|---|
compile | Compile all sources |
gen-managed | Create auto-generated sources and resources (daffodil-lib project only) |
test:compile | Compile all test sources |
test | Run all tests in src/tests/scala and src/tests/scala-new |
test-only X | Only runs tests in the TestSuite specified by 'X' |
debug:compile | Compile all tests in src/tests/scala-debug |
new:compile | Compile all tests in src/tests/scala-new |
new | Run only tests in src/tests/scala-new |
clean | Remove all temporary build files |
doc | Create Scala API documentation via scaladoc |
package | Generate jar files |
jacoco:cover | Build coverage reports |
start-script | Generate a script to execute daffodil on the command line (daffodil-core project only) |
publish-local | Publish daffodil-lib and daffodil-core locally |
update-classifiers | Download all dependent libraries to lib_managed |
All commands can be prefixed with the project name followed by a slash to run
that command in the project without having to change project. For example
$ sbt daffodil-lib/compile