This page covers miscellaneous topics about configuring the Eclipse IDE for work with Daffodil (or generally).
General
To develop on Daffodil using Eclipse, you will need Eclipse with the Scala IDE add-ins. Versions from 4.5 (Mars) seem to work acceptably.
You will need the Java SDK (not just the JRE), and Daffodil requires Java 8 (aka 1.8) at least.
The daffodil tree includes a sub-directory called eclipse-projects. These can all be imported to Daffodil
An Eclipse 'Linked Resource' named DAFFODIL_ROOT must be defined to be the path to the clone of the git repository for Daffodil.
These projects are all set up to use a common lib_managed project directory that is an Eclipse link to the DAFFODIL_ROOT/lib_managed which is populated using sbt. See the note below about "pre-build with sbt".
Pre-build with sbt to Retrieve Libraries
Before starting Eclipse, you must issue the 'sbt updateClassifiers compile' command. This pulls down all libraries needed, and puts them into lib_managed where the eclipse projects are setup to find them. This also pulls down all the source and javadoc jars for convenient access. The compile command forces some code-generator steps to run which create source code in the daffodil-lib module.
Build Macro Lib First
Before building the rest of the Daffodil modules, you must first build daffodil-macro-lib. This defines macros that are used in the other modules.
Graphics Problems on Linux/Fedora
The problems I was having:
Windows/buttons/bars missing.
Frequent errors to where it would state something about SWT and recommend restarting Eclipse.
Window would go black and render Eclipse unusable until you quit and restart it.
Odd additional "DragPlaceholder" tabs added each and every time Eclipse would crash.
Below is the fix.
Whatever you use to execute eclipse, you have to add the following statement: export SWT_GTK3=0
https://bugs.eclipse.org/bugs/show_bug.cgi?id=497705
I added that export line to the script I use to launch my Eclipse and it fixed all of my issues.
You have the choice of either adding it to your /usr/share/applications eclipse.desktop file:
Exec=env SWT_GTK3=0 /bin/eclipse
Or adding it to whatever script you use to launch eclipse, which in my case is:
#!/bin/bash
export ECLIPSE_HOME="/home/username/Programs/eclipse"
export SWT_GTK3=0
$ECLIPSE_HOME/eclipse $*
I'd tried adding the '-Dswt.enable.autoScale=false' line to my eclipse.ini file and that didn't do anything, thus I resorted to altering the script above.