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

Reply via email to