Skip to content

Commit e709b41

Browse files
sajeerzejiSajeer
andauthored
Caching the resolved JDK home path on once successfully resolved (#1058)
* Added toolchain JDK home caching * Added Toolchain honored message check as well to the DevMode toolchain test --------- Co-authored-by: Sajeer <sajeer@Sajeers-MacBook-Pro.local>
1 parent 207140a commit e709b41

File tree

2 files changed

+12
-2
lines changed

2 files changed

+12
-2
lines changed

src/main/groovy/io/openliberty/tools/gradle/tasks/AbstractLibertyTask.groovy

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,9 @@ abstract class AbstractLibertyTask extends DefaultTask {
4545
@Optional
4646
public final Property<JavaLauncher> javaLauncher = project.objects.property(JavaLauncher)
4747

48+
// Cached toolchain javaHome
49+
private String resolvedToolchainJavaHome = null
50+
4851
public JavaLauncher getJavaLauncher() {
4952
if(!javaLauncher.isPresent()) {
5053
configureDefaults();
@@ -272,11 +275,14 @@ abstract class AbstractLibertyTask extends DefaultTask {
272275
*/
273276
@Internal
274277
protected String getToolchainJavaHome() {
278+
if (resolvedToolchainJavaHome != null) {
279+
return resolvedToolchainJavaHome
280+
}
275281
def launcher = getConfiguredLauncher()
276282
if (launcher != null) {
277-
return launcher.metadata.installationPath.asFile.absolutePath
283+
resolvedToolchainJavaHome = launcher.metadata.installationPath.asFile.absolutePath
278284
}
279-
return null
285+
return resolvedToolchainJavaHome
280286
}
281287
@Internal
282288
protected boolean isToolchainConfigured() {

src/test/groovy/io/openliberty/tools/gradle/DevModeToolchainTest.groovy

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,10 @@ class DevModeToolchainTest extends BaseDevTest {
8585
System.out.println(stdout)
8686
String stderr = getContents(errFile, "Dev mode std error")
8787
System.out.println(stderr)
88+
assertTrue("Toolchain warning should not appear when dev mode stops",
89+
!verifyLogMessage(0, "Could not determine JDK home from toolchain", errFile))
90+
assertTrue("Toolchain honored message should appear in dev mode output",
91+
verifyLogMessage(0, String.format(TOOLCHAIN_CONFIGURED, "libertyDev"), logFile))
8892
cleanUpAfterClass(true)
8993
}
9094
}

0 commit comments

Comments
 (0)