Skip to content

Upgrade to Daffodil 4.1.0 / ACE 12+13, add SimpleEDI schema and setup script#28

Open
matthiasblomme wants to merge 11 commits intoOpenDFDL:masterfrom
matthiasblomme:master
Open

Upgrade to Daffodil 4.1.0 / ACE 12+13, add SimpleEDI schema and setup script#28
matthiasblomme wants to merge 11 commits intoOpenDFDL:masterfrom
matthiasblomme:master

Conversation

@matthiasblomme
Copy link
Copy Markdown

Summary

  • Daffodil 4.1.0 API migration (IBM_DFDL.scala): updated imports from lib.apilib.iapi, replaced removed ValidationMode enum with withValidation(String), updated getProcessor signature (removed useSerializedProcessor), fixed getDiagnostics return type to java.util.List, updated Diagnostic constructor call, fixed EmbeddedSchemaSource.copy to pass all args, and adopted Scala 3 vararg syntax.
  • Java 17 requirement: Daffodil 4.1.0 requires Java 17 (class file version 61). README and UPGRADE-NOTES document the -java-home flag for sbt, pointing at the Java 17 bundled with ACE.
  • ACE 12/13 support: README jar list updated from ACE 11 names to ACE 12/13 names (protobuf-java-3.25.5.jar, ibm-dfdl-eclipse-dependencies.jar, icu4j-charset.jar, new EMF jar names). scd.jar is no longer shipped.
  • setup-ace-jars.ps1: new PowerShell setup script that copies all required DFDL runtime jars and IBM sample files from an ACE installation into the project. Accepts -AceVersion 12|13 (defaults to 12) or -AcePath <custom path> for non-standard install locations.
  • SimpleEDI example schema: new SimpleEDI.dfdl.xsd (EDI-inspired, + field separator, ' segment terminator), test data files (SimpleEDI-happy.txt, SimpleEDI-error.txt), TDML test suite (SimpleEDITests.tdml with parse, round-trip, and error cases), and Scala test runner (TestSimpleEDI.scala). All three tests pass against both IBM DFDL (ACE 12) and Daffodil.
  • UPGRADE-NOTES.md: new document covering all 9 Daffodil API changes with before/after code snippets, the ACE 11 → ACE 12/13 jar name mapping table, and descriptions of all new files.
  • README.md: rewritten for accuracy — fixed typos, updated requirements (Daffodil 4.1.0 + Java 17), corrected jar list, added Java Setup and quick-setup sections, updated resource tree to include SimpleEDI files.

Test plan

  • Run .\setup-ace-jars.ps1 -AceVersion 12 — verify 11 jars copied to lib/
  • Run .\setup-ace-jars.ps1 -AceVersion 13 — verify same result from ACE 13 install
  • Run .\setup-ace-jars.ps1 -AcePath "<custom path>" — verify custom path is accepted
  • sbt -java-home "C:\Program Files\IBM\ACE\12.0.12.17\common\java17" compile — clean build
  • sbt -java-home "C:\Program Files\IBM\ACE\12.0.12.17\common\java17" test — all 11 tests pass (TestIBMDFDLSamples ×2, TestCrossTestRig ×6, TestSimpleEDI ×3)

🤖 Generated with Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant