Apache Daffodil is an open-source implementation of the DFDL specification that uses DFDL data descriptions to parse fixed format data into an infoset. This infoset is commonly converted into XML or JSON to enable the use of well-established XML or JSON technologies and libraries to consume, inspect, and manipulate fixed format data in existing solutions. Daffodil is also capable of serializing or “unparsing” data back to the original data format. The DFDL infoset can also be converted directly to/from the data structures carried by data processing frameworks so as to bypass any XML/JSON overheads.
For more information about Daffodil, see https://daffodil.apache.org/.
SBT is the officially supported tool to build Daffodil, run all tests, create packages, and more. Below are some of the more common commands used for Daffodil development.
$ sbt compile
Run all unit tests:
$ sbt test
Run all command line interface tests:
$ sbt it:test
Create Linux and Windows shell scripts in
daffodil-cli/target/universal/stage/bin/. See the Command Line Interface documentation for details on its usage:
$ sbt daffodil-cli/stage
Generate an Apache RAT license check report located in
target/rat.txt and error if any unapproved licenses are found:
$ sbt ratCheck
Generate an sbt-scoverage test coverage report located in
$ sbt clean coverage test it:test $ sbt coverageAggregate
Apache Daffodil is licensed under the Apache License, v2.0.