aboutsummaryrefslogtreecommitdiffstats
path: root/share/qbs/modules/java/utils.js
diff options
context:
space:
mode:
authorIvan Komissarov <ABBAPOH@gmail.com>2019-06-12 19:50:10 +0200
committerIvan Komissarov <ABBAPOH@gmail.com>2019-06-14 15:47:46 +0000
commitad23c58595f54484f45b00631dc62c6051228a47 (patch)
tree398165f7ed177ffcc8d25d50d70f2ca2b2440739 /share/qbs/modules/java/utils.js
parentc0b67ea8dc0b7ad39a1359f8816f596d3e7284b8 (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.js15
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) {