diff --git a/settings.gradle b/settings.gradle index e0b91d6a7..cc8ef0e08 100644 --- a/settings.gradle +++ b/settings.gradle @@ -6,7 +6,7 @@ pluginManagement { } plugins { - id 'com.gradle.enterprise' version '3.17' + id 'com.gradle.develocity' version '3.17.2' } dependencyResolutionManagement { @@ -15,12 +15,14 @@ dependencyResolutionManagement { } } -gradleEnterprise { +def isCI = providers.environmentVariable('CI').present + +develocity { buildScan { - termsOfServiceUrl = 'https://gradle.com/terms-of-service' - termsOfServiceAgree = 'yes' - publishAlways() - if (System.env.CI == 'true') { + termsOfUseUrl = 'https://gradle.com/terms-of-service' + termsOfUseAgree = 'yes' + publishing.onlyIf { isCI } + if (isCI) { tag 'CI' if (System.env.CIRCLE_TAG) { link 'VCS', "https://github.com/johnrengelman/shadow/tree/${System.env.CIRCLE_TAG}" diff --git a/src/main/groovy/com/github/jengelman/gradle/plugins/shadow/ShadowPlugin.groovy b/src/main/groovy/com/github/jengelman/gradle/plugins/shadow/ShadowPlugin.groovy index 1191afc94..36ced5f5d 100644 --- a/src/main/groovy/com/github/jengelman/gradle/plugins/shadow/ShadowPlugin.groovy +++ b/src/main/groovy/com/github/jengelman/gradle/plugins/shadow/ShadowPlugin.groovy @@ -6,8 +6,6 @@ import org.gradle.api.Project import org.gradle.api.plugins.ApplicationPlugin import org.gradle.api.plugins.JavaPlugin -import static java.util.Objects.nonNull - class ShadowPlugin implements Plugin { @Override @@ -21,17 +19,25 @@ class ShadowPlugin implements Plugin { plugins.apply(ShadowApplicationPlugin) } + // Legacy build scan support for Gradle Enterprise, users should migrate to develocity plugin. rootProject.plugins.withId('com.gradle.enterprise') { - rootProject.buildScan.buildFinished { - def shadowTasks = tasks.withType(ShadowJar) - shadowTasks.each { task -> - if (task.didWork) { - task.stats.buildScanData.each { k, v -> - rootProject.buildScan.value "shadow.${task.path}.${k}", v.toString() - } - rootProject.buildScan.value "shadow.${task.path}.configurations", task.configurations*.name.join(", ") - } + configureBuildScan(rootProject) + } + rootProject.plugins.withId('com.gradle.develocity') { + configureBuildScan(rootProject) + } + } + } + + private void configureBuildScan(Project rootProject) { + rootProject.buildScan.buildFinished { + def shadowTasks = tasks.withType(ShadowJar) + shadowTasks.each { task -> + if (task.didWork) { + task.stats.buildScanData.each { k, v -> + rootProject.buildScan.value "shadow.${task.path}.${k}", v.toString() } + rootProject.buildScan.value "shadow.${task.path}.configurations", task.configurations*.name.join(", ") } } }