We support Daffodil on all the Java "long term support" releases, which are
currently Java 8, Java 11, and Java 17 (new).

In attempting to regression test a wide variety of DFDL schemas against
Daffodil using Java 17 I discovered that most have a build.sbt specifying
scala 2.12.11 to be used when testing the schema.

Java 17 is not compatible with scala 2.12.11. It requires scala 2.12.15.

I have verified that scala 2.12.15 and java 17 are backward compatible with
at least Daffodil 3.1.0, 2.6.0, and 2.4.0.

So if you have products/applications still using earlier versions, updating
your schemas' build.sbt files to specify scala 2.12.15 should not break
their tests.

So just upgrading all schemas to scala 2.12.15 in build.sbt unconditionally
seems appropriate.

You can then use any Java LTS version, 8, 11, or 17, for testing them.

Note that there is still an annoying warning *from sbt* with Java 17.

WARNING: A terminally deprecated method in java.lang.System has been called
WARNING: System::setSecurityManager has been called by sbt.TrapExit$
(file:/home/mbeckerle/.sbt/boot/scala-2.12.14/org.scala-sbt/sbt/1.5.5/run_2.12-1.5.5.jar)
WARNING: Please consider reporting this to the maintainers of sbt.TrapExit$
WARNING: System::setSecurityManager will be removed in a future release


 I have tried sbt 1.5.5 (the latest as of today) and it does NOT fix this
warning, but it is just a warning.

Reply via email to