Skip to content

Commit 0369edc

Browse files
authored
Fixing #74. Fixing build (#75)
* Fixing #74. Fixing build * Trying to fix tests * Trying to fix tests * Trying to fix tests * Trying to fix tests * Trying to fix tests * Trying to fix tests * Adding compatibility version
1 parent dbca385 commit 0369edc

3 files changed

Lines changed: 31 additions & 19 deletions

File tree

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
weaveVersion=2.6.0-SNAPSHOT
2-
weaveTestSuiteVersion=2.5.0-SNAPSHOT
2+
weaveTestSuiteVersion=2.6.0-SNAPSHOT
33
nativeVersion=100.100.100
44
scalaVersion=2.12.11
55
ioVersion=1.0.0-SNAPSHOT

native-cli-integration-tests/src/test/scala/org/mule/weave/native/NativeCliRuntimeIT.scala

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -59,14 +59,16 @@ class NativeCliRuntimeIT extends FunSpec
5959
private val INPUT_FILE_PATTERN = Pattern.compile("in[0-9]+\\.[a-zA-Z]+")
6060
private val OUTPUT_FILE_PATTERN = Pattern.compile("out\\.[a-zA-Z]+")
6161

62+
private val versionString: String = DataWeaveVersion(ComponentVersion.weaveSuiteVersion).toString()
63+
6264
val testSuites = Seq(
63-
TestSuite("master", loadTestZipFile(s"weave-suites/runtime-${ComponentVersion.weaveSuiteVersion}-test.zip")),
64-
TestSuite("yaml", loadTestZipFile(s"weave-suites/yaml-module-${ComponentVersion.weaveSuiteVersion}-test.zip"))
65-
)
65+
TestSuite("master", loadTestZipFile(s"weave-suites/runtime-${ComponentVersion.weaveSuiteVersion}-test.zip")),
66+
TestSuite("yaml", loadTestZipFile(s"weave-suites/yaml-module-${ComponentVersion.weaveSuiteVersion}-test.zip"))
67+
)
6668

6769
private def loadTestZipFile(testSuiteExample: String): File = {
6870
val url = getResource(testSuiteExample)
69-
val connection = url.openConnection.asInstanceOf[FileURLConnection]
71+
val connection = url.openConnection
7072
val zipFile = new File(connection.getURL.toURI)
7173
zipFile
7274
}
@@ -131,6 +133,7 @@ class NativeCliRuntimeIT extends FunSpec
131133
}
132134
}
133135

136+
134137
def runTestCase(testFolders: Array[File]): Unit = {
135138
val unsortedScenarios = for {
136139
testFolder <- testFolders
@@ -148,7 +151,7 @@ class NativeCliRuntimeIT extends FunSpec
148151
scenario.inputs.foreach(f => {
149152
val name = FilenameUtils.getBaseName(f.getName)
150153
args = args :+ "-i"
151-
args = args :+ (name + s"=${f.getAbsolutePath}" )
154+
args = args :+ (name + s"=${f.getAbsolutePath}")
152155

153156
})
154157

@@ -209,7 +212,7 @@ class NativeCliRuntimeIT extends FunSpec
209212

210213

211214
args = args :+ s"--file=${cliTransform.getAbsolutePath}"
212-
val languageLevel = DataWeaveVersion(ComponentVersion.weaveSuiteVersion).toString()
215+
val languageLevel = versionString
213216
args = args :+ "--language-level=" + languageLevel
214217

215218
val (exitCode, _, _) = NativeCliITTestRunner(args).execute(TIMEOUT._1, TIMEOUT._2)
@@ -398,7 +401,7 @@ class NativeCliRuntimeIT extends FunSpec
398401
Array("sql_date_mapping") ++
399402
Array("runtime_run")
400403

401-
if (DataWeaveVersion(ComponentVersion.weaveSuiteVersion).toString() == "2.4") {
404+
val testToIgnore = if (versionString == "2.4") {
402405
baseArray ++
403406
// A change to json streaming in 2.5.0 breaks this test
404407
Array("default_with_extended_null_type") ++
@@ -423,10 +426,16 @@ class NativeCliRuntimeIT extends FunSpec
423426
) ++
424427
Array("as-operator",
425428
"type-equality"
426-
)
427-
} else {
429+
) ++
430+
Array("xml_doctype", "stringutils_unwrap")
431+
} else if (versionString == "2.5") {
432+
baseArray ++
433+
Array("xml_doctype", "stringutils_unwrap")
434+
}
435+
else {
428436
baseArray
429437
}
438+
testToIgnore
430439
}
431440
}
432441

native-cli/src/main/scala/org/mule/weave/dwnative/NativeRuntime.scala

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ import org.mule.weave.v2.parser.phase.CompositeModuleParsingPhasesManager
2525
import org.mule.weave.v2.parser.phase.ModuleLoader
2626
import org.mule.weave.v2.parser.phase.ModuleLoaderManager
2727
import org.mule.weave.v2.parser.phase.ModuleParsingPhasesManager
28+
import org.mule.weave.v2.runtime.CompilationConfig
2829
import org.mule.weave.v2.runtime.DataWeaveResult
2930
import org.mule.weave.v2.runtime.DataWeaveScript
3031
import org.mule.weave.v2.runtime.DataWeaveScriptingEngine
@@ -55,16 +56,9 @@ class NativeRuntime(libDir: File, path: Array[File], console: Console, maybeLang
5556

5657
private val pathBasedResourceResolver: PathBasedResourceResolver = PathBasedResourceResolver(path ++ Option(libDir.listFiles()).getOrElse(new Array[File](0)))
5758

58-
private val languageLevelService: LanguageLevelService = {
59-
maybeLanguageLevel match {
60-
case Some(version) => WeaveLanguageLevelService(version)
61-
case None => DefaultLanguageLevelService
62-
}
63-
}
64-
6559
private val weaveScriptingEngine: DataWeaveScriptingEngine = {
6660
setupEnv()
67-
new DataWeaveScriptingEngine(new NativeModuleComponentFactory(() => pathBasedResourceResolver, systemFirst = true), ParserConfiguration(), new Properties(), languageLevelService = languageLevelService)
61+
new DataWeaveScriptingEngine(new NativeModuleComponentFactory(() => pathBasedResourceResolver, systemFirst = true), ParserConfiguration(), new Properties())
6862
}
6963

7064
if (console.isDebugEnabled()) {
@@ -108,7 +102,16 @@ class NativeRuntime(libDir: File, path: Array[File], console: Console, maybeLang
108102
}
109103

110104
private def compileScript(script: String, inputs: ScriptingBindings, nameIdentifier: NameIdentifier, defaultOutputMimeType: String) = {
111-
weaveScriptingEngine.compile(script, nameIdentifier, inputs.entries().map(wi => new InputType(wi, None)).toArray, defaultOutputMimeType)
105+
var config = weaveScriptingEngine.newConfig()
106+
.withScript(script)
107+
.withInputs(inputs.entries().map(wi => new InputType(wi, None)).toArray)
108+
.withNameIdentifier(nameIdentifier)
109+
.withDefaultOutputType(defaultOutputMimeType)
110+
111+
if (maybeLanguageLevel.isDefined) {
112+
config = config.withLanguageVersion(maybeLanguageLevel.get)
113+
}
114+
weaveScriptingEngine.compileWith(config)
112115
}
113116

114117
private def createServiceManager(maybePrivileges: Option[Seq[String]] = None): ServiceManager = {

0 commit comments

Comments
 (0)