Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The standard file tree would be:

Code Block
languagediff
RFormat/
├── src/
│   ├── main/
│   │   └── resources/
│   │       └── com/
│   │           └── tresys/
│   │               └── RFormat/
│   │                   ├── xsd/
│   │                   │   ├── main.dfdl.xsd    - main DFDL schema

...

 file
│   │                   │   └── format.dfdl.xsd  - DFDL schema file imported/included from

...

  • In the above note that the 'xsd' is at the end, after the com/tresys/RFormat. This is intentional, and different from the way 'code' like scala or java code are organized.

...

 main
│   │                   └── xsl/
│   │                       └── xforms.xsl       - resources other than XSD go in other directories
│   └── test/
│       ├── resources/
│       │   └── com/
│       │        tresys/
│       │           └── RFormat/
│       │               └── tests1.tdml    - TDML test file (may be more than 1)
│       └── scala/
│           └── com/
│               └── tresys/
│                   └── RFormat/
│                       └── Tests1.scala   - Scala test driver file. Boilerplate, but makes running tests easy
│
├── build.sbt    - simple build tool (sbt) specification file. Edit to change version of Daffodil needed, or versions of other DFDL schemas needed
├── README.md    - Documentation about the DFDL schema in Markdown file format (https://en.wikipedia.org/wiki/Markdown)
├── .classpath   - Eclipse classpath file (optional)
├── .project     - Eclipse project file (optional)
└── .gitignore   - Git revision control system 'ignore' file (should contain 'target' and 'lib_managed' entries)


After you run 'sbt test', you'll notice a directory lib_manage directory has been created:

  • lib_managed

. This directory is created by sbt to hold all the dependencies of the project.

Eclipse

...

ID

If you organize your DFDL schema project using the above conventions, and then run 'sbt compile', the lib_managed directory will be populated. Then if you create a new Eclipse scala project from the directory tree, Eclipse will see the lib_managed directory and construct a classpath containing all those jars.

...