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:
For MS-Windows users: Setup Microsoft Windows for Unicode, as full Unicode support is required for using Daffodil.
- For MS-Windows users: Install Cygwin - a unix/linux compatibility layer for MS-Windows. (Some of our test system requires it due to scripting.)
- 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
- MS Windows Users - you must turn off the "autocrlf" feature. The default that the Windows installer uses WILL NOT WORK.
- The git config file (c:\ProgramData\Git\config) should have "autocrlf = input"
- Obtain Daffodil Source - See Getting Daffodil
- Execute a Preliminary Build to Retrieve Libraries
- Build Daffodil
- Run Daffodil you just Compiled from the Command Line
- Development Workflow