diff --git a/gradle/toolchains.gradle b/gradle/toolchains.gradle index cab0dbd5ceb..5573efa1a52 100644 --- a/gradle/toolchains.gradle +++ b/gradle/toolchains.gradle @@ -29,6 +29,7 @@ * } * * @author Brian Clozel + * @author Sam Brannen */ def mainToolchainConfigured() { @@ -129,7 +130,7 @@ pluginManager.withPlugin("kotlin") { } } } - + if (testToolchainConfigured()) { def testLanguageVersion = testToolchainLanguageVersion() def compiler = javaToolchains.compilerFor { @@ -160,4 +161,22 @@ pluginManager.withPlugin("me.champeau.jmh") { } } } -} \ No newline at end of file +} + +// Store resolved Toolchain JVM information as custom values in the build scan. +rootProject.ext { + resolvedMainToolchain = false + resolvedTestToolchain = false +} +gradle.taskGraph.afterTask { Task task, TaskState state -> + if (mainToolchainConfigured() && !resolvedMainToolchain && task instanceof JavaCompile && task.javaCompiler.isPresent()) { + def metadata = task.javaCompiler.get().metadata + task.project.buildScan.value('Main toolchain', "$metadata.vendor $metadata.languageVersion ($metadata.installationPath)") + resolvedMainToolchain = true + } + if (testToolchainConfigured() && !resolvedTestToolchain && task instanceof Test && task.javaLauncher.isPresent()) { + def metadata = task.javaLauncher.get().metadata + task.project.buildScan.value('Test toolchain', "$metadata.vendor $metadata.languageVersion ($metadata.installationPath)") + resolvedTestToolchain = true + } +} diff --git a/settings.gradle b/settings.gradle index 4779c598108..6c2fb1952c6 100644 --- a/settings.gradle +++ b/settings.gradle @@ -45,12 +45,6 @@ rootProject.children.each {project -> settings.gradle.projectsLoaded { gradleEnterprise { buildScan { - if (settings.gradle.rootProject.hasProperty('mainToolchain') && settings.gradle.rootProject.getProperty('mainToolchain')) { - value("Main toolchain", 'JDK' + settings.gradle.rootProject.getProperty('mainToolchain')) - } - if (settings.gradle.rootProject.hasProperty('testToolchain') && settings.gradle.rootProject.getProperty('testToolchain')) { - value("Test toolchain", 'JDK' + settings.gradle.rootProject.getProperty('testToolchain')) - } File buildDir = settings.gradle.rootProject.getBuildDir() buildDir.mkdirs() new File(buildDir, "build-scan-uri.txt").text = "(build scan not generated)"