As we have run into issues testing Daffodil 3.11.0 it has become clear that we 
need to release an update to the Daffodil SBT Plugin that can support Daffodil 
3.11.0.

The major change in v1.4.0 will be the support of Daffodil 3.11.0 and therefore 
Scala 2.13.  This has a significant impact on Daffodil plugins/layers and the 
DFDL schema projects that use them.

There are a couple caveats with how this update handles Daffodil 3.11.0 and 
prior versions:

For Daffodil 3.11.0:
 - All Scala based plugins, layers and test code using Daffodil SBT needs to be 
compatible with Scala 2.13
 - daffodilPackageBinVersions must only contain "3.11.0".  Attempting to do 
something like daffodilPackageBinVersions := Seq("3.10.0", "3.11.0") is not 
supported and will likely fail


For prior versions of Daffodil (<= 3.10.0)
 - All Scala based plugins, layers and test code using Daffodil SBT needs to be 
compatible with Scala 2.12
 - daffodilPackageBinVersions must not contain "3.11.0".  
daffodilPackageBinVersions := Seq("3.10.0", "3.9.0", "3.8.0", ...) is 
supported, but cannot include 3.11.0


When developing a schema that targets "3.11.0" AND prior versions, it is 
recommended to use separate branches for 3.11.0 and prior versions of Daffodil 
with the above changes in configuration.

In my experience it is usually possible to make Scala based plugin, layer and 
test code cross compatible between Scala 2.12 and 2.13 with some small changes. 
 Once the Scala code is cross compatible, the only manual changes needed to 
target different versions of Daffodil using Daffodil SBT v1.4.0 are as follows:

Daffodil 3.11.0:
 - No special configuration required.  Daffodil SBT should default to Daffodil 
3.11.0

Daffodil <= 3.10.0:
 - Manually set daffodilVersion := "3.xx.0" and daffodilPackageBinVersions := 
Seq("3.10.0", "3.9.0", ...)



Other than the changes to support Daffodil 3.11.0 there have been some minor 
release workflow changes to Daffodil SBT and there are a handful of minor 
dependency updates that should be reviewed and merged before release.

Are there any other changes that anyone would like to see in Daffodil SBT 
v1.4.0?  If not, I will volunteer to be the release manager of Daffodil SBT 
v1.4.0 and will begin the release process once the merge requests have been 
reviewed and merged.

Josh Adams

Reply via email to