stevedlawrence opened a new pull request, #136: URL: https://github.com/apache/daffodil-sbt/pull/136
The reflection code is messy and hard to maintain. This also is no longer the recommended way to create tools that support multiple versions of Daffodil--instead we should use sbt-projectmatrix to create separate jars with thin shim layers to deal with differences in Daffodil APIs. This commit does just that. We change our build.sbt to add a new "utils" subproject that contains code that needs cross Daffodil support. This subproject uses sbt-projectmatrix to build three jars, one for Scala 2.12, 2.13, and 3, which are mapped to the various Daffodil versions. This appropriate jar is added as a libraryDependency along with the Daffodil version. DaffodilSaver is moved into this util subproject and rewritten in Scala. Scala type inference and similarites in the API in different versions of Daffodil allow this code to mostly not need to know anything about the Daffodil version being used. In cases where that is needed, we use a new DaffodilAPI shim class that provides type alases or helper functions that are Scala/Daffodil version speciic. Closes #135 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
