Versions of Tools Needed
See Tested/Verified Tool Versions.
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.
- Install Java Software Development Kit aka SDK or JDK. (Note: Not only the Java Runtime Environment or JRE, you need the full JDK)
If you are running Linux, you can choose to use the OpenJDK. Follow the instructions here: http://openjdk.java.net/install/
On either Linux or MS-Windows, you can choose to use the Oracle JDK. The Java Install instructions from Oracle will tell you how to install the JDK for your platform.
- Install SBT
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"
- Set Environment Variables
- 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