Skip to content

Commit fad0baa

Browse files
committed
Use correct Java version for Maven build tools
1 parent c3b8f4b commit fad0baa

File tree

4 files changed

+36
-2
lines changed

4 files changed

+36
-2
lines changed

.github/workflows/ci.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ jobs:
88
test:
99
runs-on: ${{ matrix.os }}
1010
strategy:
11+
fail-fast: false
1112
matrix:
1213
# NOTE(olafurpg) Windows is not enabled because it times out due to reasons I don't understand.
1314
# os: [windows-latest, ubuntu-latest]

scip-java/src/main/scala/com/sourcegraph/scip_java/buildtools/MavenBuildTool.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import java.nio.file.Path
55
import java.nio.file.Paths
66

77
import scala.collection.mutable.ListBuffer
8-
import scala.util.Properties
98

109
import com.sourcegraph.scip_java.Embedded
1110
import com.sourcegraph.scip_java.commands.IndexCommand
@@ -36,14 +35,15 @@ class MavenBuildTool(index: IndexCommand) extends BuildTool("Maven", index) {
3635
else {
3736
"mvn"
3837
}
38+
val start = System.nanoTime()
3939
val buildCommand = ListBuffer.empty[String]
4040
val executable = Embedded.customJavac(
4141
index.workingDirectory,
4242
index.finalTargetroot(defaultTargetroot),
4343
tmp,
4444
// TODO: infer Java version from `java -version` because it may not
4545
// match the Java version that's used by the current process.
46-
Properties.isJavaAtLeast(11)
46+
GradleJavaToolchains.isJavaAtLeast(SystemJavaVersion.detect(), "11")
4747
)
4848
buildCommand ++=
4949
List(
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package com.sourcegraph.scip_java.buildtools
2+
3+
import java.nio.file.Files
4+
5+
import com.sourcegraph.scip_java.Embedded
6+
7+
object SystemJavaVersion {
8+
def detect(): String = {
9+
val tmp = Files.createTempDirectory("java-version")
10+
val jar = Embedded.semanticdbJar(tmp)
11+
try {
12+
os.proc(
13+
"java",
14+
"-cp",
15+
jar.toString(),
16+
"com.sourcegraph.semanticdb_javac.PrintJavaVersion"
17+
)
18+
.call()
19+
.out
20+
.text()
21+
.trim()
22+
} finally {
23+
Files.deleteIfExists(jar)
24+
}
25+
}
26+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package com.sourcegraph.semanticdb_javac;
2+
3+
public class PrintJavaVersion {
4+
public static void main(String[] args) {
5+
System.out.print(System.getProperty("java.version"));
6+
}
7+
}

0 commit comments

Comments
 (0)