diff --git a/subprojects/tooling-api-testing/src/main/java/com/itsaky/androidide/tooling/testing/ToolingApiTestLauncher.kt b/subprojects/tooling-api-testing/src/main/java/com/itsaky/androidide/tooling/testing/ToolingApiTestLauncher.kt index 215eceb7b..0acdd46b5 100644 --- a/subprojects/tooling-api-testing/src/main/java/com/itsaky/androidide/tooling/testing/ToolingApiTestLauncher.kt +++ b/subprojects/tooling-api-testing/src/main/java/com/itsaky/androidide/tooling/testing/ToolingApiTestLauncher.kt @@ -29,6 +29,7 @@ import com.itsaky.androidide.tooling.events.ProgressEvent import com.itsaky.androidide.utils.FileProvider import com.itsaky.androidide.utils.ILogger import java.io.BufferedReader +import java.io.File import java.io.InputStream import java.io.InputStreamReader import java.nio.file.Path @@ -82,6 +83,16 @@ class ToolingApiTestLauncher { private fun createProcessCmd(jar: String): List { val cmd = mutableListOf("java") + System.getenv("JAVA_HOME")?.let { + val java = File(it, "bin/java") + if (java.exists() && java.isFile) { + if (!java.canExecute()) { + java.setExecutable(true) + } + + cmd[0] = java.absolutePath + } + } for (open in opens) { cmd.add("--add-opens=${open.key}/${open.value}=ALL-UNNAMED") } @@ -157,11 +168,11 @@ class ToolingApiTestLauncher { CompletableFuture.completedFuture(GradleWrapperCheckResult(true)) private fun Path.replaceContents(dest: Path, comment: String = "//", - candidate: Pair + candidate: Pair ) = replaceContents(dest, comment, *arrayOf(candidate)) private fun Path.replaceContents(dest: Path, comment: String = "//", - vararg candidates: Pair + vararg candidates: Pair ) { val contents = StringBuilder().append(comment) .append(" ")