stevedlawrence commented on a change in pull request #532:
URL: https://github.com/apache/daffodil/pull/532#discussion_r617688083
##########
File path:
daffodil-tdml-lib/src/main/scala/org/apache/daffodil/tdml/TDMLRunner.scala
##########
@@ -477,7 +476,13 @@ abstract class TestCase(testCaseXML: NodeSeq, val parent:
DFDLTestSuite)
lazy val tdmlDFDLProcessorFactory: AbstractTDMLDFDLProcessorFactory = {
import scala.language.existentials
- val className =
"org.apache.daffodil.tdml.processor.TDMLDFDLProcessorFactory"
+ // tdmlImplementation is a tunable choice with three values.
+ val className = tunableObj.tdmlImplementation match {
+ // Right now daffodil and ibm use the same ProcessFactory name
+ case "daffodil" | "ibm" =>
"org.apache.daffodil.tdml.processor.TDMLDFDLProcessorFactory"
+ case "daffodil-runtime2" =>
"org.apache.daffodil.tdml.processor.Runtime2TDMLDFDLProcessorFactory"
+ case other => Assert.invariantFailed("'%s' not valid for
tdmlImplementation".format(other))
Review comment:
One thing to point out about IBM cross tester and adding it permanently
to the class path is that IBM DFDL and Daffodil have conflicting dependencies.
I believe IBM depends on ICU 51 and Daffodil depends on a much newer version. I
don't remember if these differences just cause certain tests to fail or if
there are actual binary incompatibilities that cause other issues. But I think
that's the reaoson why instructions require manually enabling/disabling the ibm
cross tester.
I think there's been mention that Java 9 modules might help with this, but I
haven't looked into it in much detail.
--
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.
For queries about this service, please contact Infrastructure at:
[email protected]