Mute license warning when terms are accepted (#911)

With licensing changes in v6, a license warning was added to the logs
and job summary. Now, accepting the Build Scan Terms of Use or providing
a Develocity Access Key will mute this warning.
This commit is contained in:
Daz DeBoer
2026-03-24 08:46:15 -06:00
committed by GitHub
parent c2457a7fb2
commit f64284c333
11 changed files with 91 additions and 29 deletions
+20 -10
View File
@@ -166,6 +166,11 @@ export class CacheConfig {
getCacheExcludes(): string[] {
return core.getMultilineInput('gradle-home-cache-excludes')
}
isCacheLicenseAccepted(): boolean {
const dvConfig = new DevelocityConfig()
return dvConfig.getDevelocityAccessKey() !== '' || dvConfig.hasTermsOfUseAgreement()
}
}
export enum CacheCleanupOption {
@@ -229,7 +234,7 @@ export enum JobSummaryOption {
OnFailure = 'on-failure'
}
export class BuildScanConfig {
export class DevelocityConfig {
static DevelocityAccessKeyEnvVar = 'DEVELOCITY_ACCESS_KEY'
static GradleEnterpriseAccessKeyEnvVar = 'GRADLE_ENTERPRISE_ACCESS_KEY'
@@ -237,19 +242,19 @@ export class BuildScanConfig {
return getBooleanInput('build-scan-publish') && this.verifyTermsOfUseAgreement()
}
getBuildScanTermsOfUseUrl(): string {
getTermsOfUseUrl(): string {
return core.getInput('build-scan-terms-of-use-url')
}
getBuildScanTermsOfUseAgree(): string {
getTermsOfUseAgree(): string {
return core.getInput('build-scan-terms-of-use-agree')
}
getDevelocityAccessKey(): string {
return (
core.getInput('develocity-access-key') ||
process.env[BuildScanConfig.DevelocityAccessKeyEnvVar] ||
process.env[BuildScanConfig.GradleEnterpriseAccessKeyEnvVar] ||
process.env[DevelocityConfig.DevelocityAccessKeyEnvVar] ||
process.env[DevelocityConfig.GradleEnterpriseAccessKeyEnvVar] ||
''
)
}
@@ -290,12 +295,17 @@ export class BuildScanConfig {
return new PluginRepositoryConfig()
}
hasTermsOfUseAgreement(): boolean {
const develocityAccessKeySet = this.getDevelocityAccessKey() !== ''
const termsUrlSet =
this.getTermsOfUseUrl() === 'https://gradle.com/terms-of-service' ||
this.getTermsOfUseUrl() === 'https://gradle.com/help/legal-terms-of-use'
const termsAgreed = this.getTermsOfUseAgree() === 'yes'
return develocityAccessKeySet || (termsUrlSet && termsAgreed)
}
private verifyTermsOfUseAgreement(): boolean {
if (
(this.getBuildScanTermsOfUseUrl() !== 'https://gradle.com/terms-of-service' &&
this.getBuildScanTermsOfUseUrl() !== 'https://gradle.com/help/legal-terms-of-use') ||
this.getBuildScanTermsOfUseAgree() !== 'yes'
) {
if (!this.hasTermsOfUseAgreement()) {
core.warning(
`Terms of use at 'https://gradle.com/help/legal-terms-of-use' must be agreed in order to publish build scans.`
)