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]

Reply via email to