diff --git a/build.gradle.kts b/build.gradle.kts index faa22c5b..ede7420d 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -392,14 +392,6 @@ tasks { } -if (hasProperty("buildScan")) { - extensions.findByName("buildScan")?.withGroovyBuilder { - setProperty("termsOfServiceUrl", "https://gradle.com/terms-of-service") - setProperty("termsOfServiceAgree", "yes") - } -} - - tasks.register("publishPluginStandalone") { token.set(System.getenv("PUBLISH_TOKEN")) // pluginVersion is based on the SemVer (https://semver.org) and supports pre-release labels, like 2.1.7-alpha.3 diff --git a/ci/release.Jenkinsfile b/ci/release.Jenkinsfile index 4c58a045..64f1f32f 100644 --- a/ci/release.Jenkinsfile +++ b/ci/release.Jenkinsfile @@ -355,7 +355,7 @@ pipeline { sh(""" mkdir -p ./build ./generate-changelog > build/CHANGELOG - ./gradlew --no-daemon -I ./build-cache-init.gradle.kts -I ./repo-cache-init.gradle.kts --build-cache build buildPlugin --scan + ./gradlew --no-daemon -I ./build-cache-init.gradle.kts -I ./repo-cache-init.gradle.kts --build-cache build buildPlugin -PbuildScan """) script { if (env.BRANCH_NAME ==~ /^([0-9][0-9][0-9]\.x)$/) { @@ -378,7 +378,7 @@ pipeline { """ ) sh(""" - ./gradlew --no-daemon -I ./build-cache-init.gradle.kts --build-cache publishPluginStandalone --scan + ./gradlew --no-daemon -I ./build-cache-init.gradle.kts --build-cache publishPluginStandalone -PbuildScan """) } else { diff --git a/settings.gradle.kts b/settings.gradle.kts index 3ac145b1..5862968a 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -1 +1,24 @@ +plugins { + id("com.gradle.develocity") version "4.4.3" +} + rootProject.name = "systemdUnitFilePlugin" + +// Build scans upload build + environment data to Gradle's public service and are +// governed by https://gradle.com/help/legal-terms-of-use . We therefore only +// accept the terms and publish a scan when explicitly opted in via -PbuildScan +// (e.g. from CI). Local and contributor builds neither accept the terms nor upload. +val buildScanOptIn = providers.gradleProperty("buildScan").isPresent + +develocity { + buildScan { + termsOfUseUrl = "https://gradle.com/help/legal-terms-of-use" + // 'termsOfUseAgree' must be exactly "yes" or left unset - the plugin rejects "no". + // Only agree (and publish) when opted in; otherwise leave it unset so a stray + // --scan degrades to a soft "terms not agreed" notice rather than a hard error. + if (buildScanOptIn) { + termsOfUseAgree = "yes" + } + publishing.onlyIf { buildScanOptIn } + } +} \ No newline at end of file