Daffodil development uses quite a few tools. To avoid the pages of this wiki becoming obsolete every time a tool-version changes, we centralize the Tested/Verified Tool Versions so that there's only one place that contains the actual version numbers. All the other pages should avoid specifying versions of anything.
In order to contribute to Daffodil, you will need to follow a few steps.
Setup for command-line tool building of Daffodil is mandatory. Some things required by our development processes have to be done from the command line, regardless of whether most of your time will be spent using an IDE like Eclipse.
Setup for the Eclipse IDE is optional. See the Eclipse for Daffodil page.
IMPORTANT: You are expected to use the versions of the tools below that are given at Tested/Verified Tool Versions.
You will need to:
- Development Kit aka SDK or JDK. (Note: Not only the Java Runtime Environment or JRE, you need the full JDK)
Note: you need sbt even if you intend to do development from an IDE like Eclipse. There are things built using sbt that are necessary for the IDE environment.
You can find SBT installation instructions here: http://www.scala-sbt.org/0.13/docs/index.html
- Install Git
- Instructions here: https://git-scm.com/book/en/v2/Getting-Started-Installing-Git
- [Increase Available Memory via Environment Variables]
- Obtain Daffodil Source - See Getting Daffodil
- Execute a Preliminary Build to Retrieve Libraries
- Build Daffodil
- Run Daffodil
- Development Workflow