Can we avoid the branches via one of these techniques: https://chatgpt.com/share/683f40bb-1d8c-800f-a692-9cc23b7ce033
On Tue, Jun 3, 2025 at 12:14 PM Adams, Joshua <jad...@owlcyberdefense.com.invalid> wrote: > 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