File tree Expand file tree Collapse file tree
native-cli/src/main/scala/org/mule/weave/dwnative/cli Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -282,8 +282,18 @@ class CLIArgumentsParser(console: Console) {
282282 }
283283
284284 if (commandLine.hasOption(Options .LANGUAGE_LEVEL )) {
285+ val semVerPattern = " ^([1-9]\\ d*)\\ .(0|[1-9]\\ d*)" .r
285286 val languageLevelStr = commandLine.getOptionValue(Options .LANGUAGE_LEVEL )
286- maybeLanguageLevel = Some (DataWeaveVersion (languageLevelStr))
287+ maybeLanguageLevel = semVerPattern.findFirstMatchIn(languageLevelStr) match {
288+ case Some (languageLevel) => {
289+ val version = new DataWeaveVersion (languageLevel.group(1 ).toInt, languageLevel.group(2 ).toInt)
290+ if (version > DataWeaveVersion ()) {
291+ return Right (s " Invalid language level, cannot be higher than ${DataWeaveVersion ().toString()}" )
292+ }
293+ Some (version)
294+ }
295+ case None => return Right (s " Unrecognized language level " )
296+ }
287297 }
288298
289299 val commandLineArgs = commandLine.getArgs
You can’t perform that action at this time.
0 commit comments