Most users should not need to build Cromwell and can use pre-built Cromwell releases.
If for some reason you require a non-release version of Cromwell or are developing new Cromwell features or fixes, the following are required to build Cromwell from source:
First start by cloning the Cromwell repository from GitHub:
$ git clone git@github.com:broadinstitute/cromwell.git
Next change into the cromwell
directory:
$ cd cromwell
If you require a specific version of Cromwell as a starting point, do the appropriate git checkout
now.
Finally build the Cromwell jar:
$ sbt assembly
sbt assembly
will build the runnable Cromwell JAR in server/target/scala-2.13/
with a name like cromwell-<VERSION>.jar
. It will also build a runnable Womtool JAR in womtool/target/scala-2.13/
with a name like womtool-<VERSION>.jar
.
Docker
The following Docker build configurations are supported. Most users will want Snapshot, resulting in an image like broadinstitute/cromwell:<VERSION>-SNAP
.
Command | Build Type | Debug Tools | Description |
---|---|---|---|
sbt server/docker |
Snapshot | No | Most common local build |
sbt -Dproject.isDebug=true server/docker |
Debug | Yes | Local build with debugging/profiling |
sbt -Dproject.isSnapshot=false server/docker |
Standard | No | Reserved for CI: commit on develop |
sbt -Dproject.isRelease=true server/docker |
Release | No | Reserved for CI: numbered release |