diff options
author | Ivan Komissarov <ABBAPOH@gmail.com> | 2019-06-12 19:50:10 +0200 |
---|---|---|
committer | Ivan Komissarov <ABBAPOH@gmail.com> | 2019-06-14 15:47:46 +0000 |
commit | ad23c58595f54484f45b00631dc62c6051228a47 (patch) | |
tree | 398165f7ed177ffcc8d25d50d70f2ca2b2440739 /share/qbs/modules/java/utils.js | |
parent | c0b67ea8dc0b7ad39a1359f8816f596d3e7284b8 (diff) |
Fix javac version detection
It seems, that javac -version can return "12" instead of "12.0.0"
Change-Id: I804cbadb410dc11f566fda122f3082a8607ebb36
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'share/qbs/modules/java/utils.js')
-rw-r--r-- | share/qbs/modules/java/utils.js | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/share/qbs/modules/java/utils.js b/share/qbs/modules/java/utils.js index 52c0e880a..ae0c1356b 100644 --- a/share/qbs/modules/java/utils.js +++ b/share/qbs/modules/java/utils.js @@ -136,7 +136,7 @@ function findJdkVersion(compilerFilePath) { var p = new Process(); try { p.exec(compilerFilePath, ["-version"]); - var re = /^javac (([0-9]+(?:\.[0-9]+){2,2})(_([0-9]+))?)$/m; + var re = /^javac (([0-9]+(?:\.[0-9]+){0,2})(_([0-9]+))?)$/m; var match = p.readStdErr().trim().match(re); if (!match) match = p.readStdOut().trim().match(re); @@ -147,6 +147,19 @@ function findJdkVersion(compilerFilePath) { } } +function splitVersionString(compilerVersion) { + if (!compilerVersion) + return []; + + var result = compilerVersion.split(/[\._]/).map(function(item) { + return parseInt(item, 10); + }); + // special case, if javac -version returned "12" instead of "12.0.0" + if (result.length === 1) + result.push(0, 0); + return result; +} + function supportsGeneratedNativeHeaderFiles(product) { var compilerVersionMajor = ModUtils.moduleProperty(product, "compilerVersionMajor"); if (compilerVersionMajor === 1) { |