Skip to content

Commit

Permalink
Fixed resolving Java Runtime for MacOSX #895
Browse files Browse the repository at this point in the history
  • Loading branch information
hsz committed Feb 10, 2022
1 parent 39c65cc commit 4b7fc90
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 11 deletions.
3 changes: 2 additions & 1 deletion CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,13 @@

## next
- Fixed JBR resolving for MacOSX M1
- Fix compiler resolution for long build numbers [#883](../../issues/883)
- Fixed compiler resolution for long build numbers [#883](../../issues/883)
- Build number fallback when `product-info.json` is missing [#880](../../issues/880)
- Consider `sinceBuild` and `untilBuild` properties of `ListProductsReleasesTask` in task caching [#891](../../issues/891)
- Introduce `jbrVariant` property next to the `jbrVersion` property in `runIde`, `runPluginVerifier`, `buildSearchableOptions`, and `runIdeForUiTest` tasks [#852](../../issues/852)
- Change log level of `JbrResolver.resolveRuntime` logs from `warn` to `debug` [#849](../../issues/849)
- Update runtime classpath for `221+`
- Fixed resolving Java Runtime for MacOSX [#895](../../issues/895)

## 1.3.1
- Fixed execution bit filter when extracting Rider [RIDER-72922](https://youtrack.jetbrains.com/issue/RIDER-72922)
Expand Down
21 changes: 11 additions & 10 deletions src/main/kotlin/org/jetbrains/intellij/jbr/JbrResolver.kt
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ open class JbrResolver @Inject constructor(
.run {
when (resolveExecutable) {
true -> javaExecutable.canonicalPath
else -> javaHome.let(::getJbrRoot).canonicalPath
false -> javaHome.let(::getJbrRoot).canonicalPath
}
}
.also { debug(context, "Using current JVM: $it") }
Expand Down Expand Up @@ -187,16 +187,17 @@ open class JbrResolver @Inject constructor(
}

private fun getJbrRoot(javaHome: File): File {
val jbr = javaHome.listFiles()?.firstOrNull { it.name == "jbr" || it.name == "jbrsdk" }
if (jbr != null && jbr.exists()) {
return when (operatingSystem.isMacOsX) {
true -> jbr.resolve("Contents/Home")
false -> jbr
val jbr = javaHome.listFiles()?.firstOrNull { it.name == "jbr" || it.name == "jbrsdk" }?.takeIf(File::exists)
return when {
operatingSystem.isMacOsX -> when {
javaHome.endsWith("Contents/Home") -> javaHome
jbr != null -> jbr.resolve("Contents/Home")
else -> javaHome.resolve("jdk/Contents/Home")
}
else -> when {
jbr != null -> jbr
else -> javaHome
}
}
return when (operatingSystem.isMacOsX) {
true -> javaHome.resolve("jdk/Contents/Home")
false -> javaHome
}
}

Expand Down

0 comments on commit 4b7fc90

Please sign in to comment.