2024-01-23 16:44:34 -07:00
|
|
|
import * as core from '@actions/core'
|
2024-04-03 22:47:50 +02:00
|
|
|
import {getBuildScanPublishEnabled, getBuildScanTermsOfUseUrl, getBuildScanTermsOfUseAgree} from './input-params'
|
2024-01-23 16:44:34 -07:00
|
|
|
|
|
|
|
export function setup(): void {
|
2024-04-03 22:47:50 +02:00
|
|
|
maybeExportVariable('DEVELOCITY_INJECTION_INIT_SCRIPT_NAME', 'gradle-actions.inject-develocity.init.gradle')
|
|
|
|
maybeExportVariable('DEVELOCITY_AUTO_INJECTION_CUSTOM_VALUE', 'gradle-actions')
|
|
|
|
if (getBuildScanPublishEnabled() && verifyTermsOfUseAgreement()) {
|
2024-01-23 16:44:34 -07:00
|
|
|
maybeExportVariable('DEVELOCITY_INJECTION_ENABLED', 'true')
|
2024-04-03 14:51:01 -06:00
|
|
|
maybeExportVariable('DEVELOCITY_PLUGIN_VERSION', '3.17')
|
2024-03-12 16:10:21 +13:00
|
|
|
maybeExportVariable('DEVELOCITY_CCUD_PLUGIN_VERSION', '1.13')
|
2024-04-03 22:47:50 +02:00
|
|
|
maybeExportVariable('DEVELOCITY_TERMS_OF_USE_URL', getBuildScanTermsOfUseUrl())
|
|
|
|
maybeExportVariable('DEVELOCITY_TERMS_OF_USE_AGREE', getBuildScanTermsOfUseAgree())
|
2024-01-23 16:44:34 -07:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2024-04-03 22:47:50 +02:00
|
|
|
function verifyTermsOfUseAgreement(): boolean {
|
2024-01-23 16:44:34 -07:00
|
|
|
if (
|
2024-04-03 22:47:50 +02:00
|
|
|
(getBuildScanTermsOfUseUrl() !== 'https://gradle.com/terms-of-service' &&
|
|
|
|
getBuildScanTermsOfUseUrl() !== 'https://gradle.com/help/legal-terms-of-use') ||
|
|
|
|
getBuildScanTermsOfUseAgree() !== 'yes'
|
2024-01-23 16:44:34 -07:00
|
|
|
) {
|
2024-04-03 22:47:50 +02:00
|
|
|
core.warning(`Terms of use must be agreed in order to publish build scans.`)
|
2024-01-23 16:44:34 -07:00
|
|
|
return false
|
|
|
|
}
|
|
|
|
return true
|
|
|
|
}
|
|
|
|
|
|
|
|
function maybeExportVariable(variableName: string, value: unknown): void {
|
|
|
|
if (!process.env[variableName]) {
|
|
|
|
core.exportVariable(variableName, value)
|
|
|
|
}
|
|
|
|
}
|