2024-01-23 16:44:34 -07:00
|
|
|
import * as core from '@actions/core'
|
2024-05-16 00:49:55 +02:00
|
|
|
import {BuildScanConfig} from '../configuration'
|
|
|
|
import {setupToken} from './short-lived-token'
|
2024-01-23 16:44:34 -07:00
|
|
|
|
2024-05-16 00:49:55 +02:00
|
|
|
export async function setup(config: BuildScanConfig): Promise<void> {
|
2024-04-03 22:47:50 +02:00
|
|
|
maybeExportVariable('DEVELOCITY_INJECTION_INIT_SCRIPT_NAME', 'gradle-actions.inject-develocity.init.gradle')
|
2025-04-04 21:39:30 +02:00
|
|
|
maybeExportVariable('DEVELOCITY_INJECTION_CUSTOM_VALUE', 'gradle-actions')
|
2024-06-13 11:42:47 -07:00
|
|
|
|
|
|
|
maybeExportVariableNotEmpty('DEVELOCITY_INJECTION_ENABLED', config.getDevelocityInjectionEnabled())
|
2025-04-04 21:39:30 +02:00
|
|
|
maybeExportVariableNotEmpty('DEVELOCITY_INJECTION_URL', config.getDevelocityUrl())
|
|
|
|
maybeExportVariableNotEmpty(
|
|
|
|
'DEVELOCITY_INJECTION_ALLOW_UNTRUSTED_SERVER',
|
|
|
|
config.getDevelocityAllowUntrustedServer()
|
|
|
|
)
|
|
|
|
maybeExportVariableNotEmpty(
|
|
|
|
'DEVELOCITY_INJECTION_CAPTURE_FILE_FINGERPRINTS',
|
|
|
|
config.getDevelocityCaptureFileFingerprints()
|
|
|
|
)
|
|
|
|
maybeExportVariableNotEmpty('DEVELOCITY_INJECTION_ENFORCE_URL', config.getDevelocityEnforceUrl())
|
|
|
|
maybeExportVariableNotEmpty('DEVELOCITY_INJECTION_DEVELOCITY_PLUGIN_VERSION', config.getDevelocityPluginVersion())
|
|
|
|
maybeExportVariableNotEmpty('DEVELOCITY_INJECTION_CCUD_PLUGIN_VERSION', config.getDevelocityCcudPluginVersion())
|
|
|
|
maybeExportVariableNotEmpty('DEVELOCITY_INJECTION__PLUGIN_REPOSITORY_URL', config.getGradlePluginRepositoryUrl())
|
|
|
|
maybeExportVariableNotEmpty(
|
|
|
|
'DEVELOCITY_INJECTION__PLUGIN_REPOSITORY_USERNAME',
|
|
|
|
config.getGradlePluginRepositoryUsername()
|
|
|
|
)
|
|
|
|
maybeExportVariableNotEmpty(
|
|
|
|
'DEVELOCITY_INJECTION__PLUGIN_REPOSITORY_PASSWORD',
|
|
|
|
config.getGradlePluginRepositoryPassword()
|
|
|
|
)
|
2024-06-13 11:42:47 -07:00
|
|
|
|
2024-11-15 14:32:34 -07:00
|
|
|
// If build-scan-publish is enabled, ensure the environment variables are set
|
|
|
|
// The DEVELOCITY_PLUGIN_VERSION and DEVELOCITY_CCUD_PLUGIN_VERSION are set to the latest versions
|
|
|
|
// except if they are defined in the configuration
|
|
|
|
if (config.getBuildScanPublishEnabled()) {
|
|
|
|
maybeExportVariable('DEVELOCITY_INJECTION_ENABLED', 'true')
|
2025-04-09 17:19:54 +02:00
|
|
|
maybeExportVariable('DEVELOCITY_INJECTION_DEVELOCITY_PLUGIN_VERSION', '4.0')
|
2025-04-04 21:39:30 +02:00
|
|
|
maybeExportVariable('DEVELOCITY_INJECTION_CCUD_PLUGIN_VERSION', '2.1')
|
|
|
|
maybeExportVariable('DEVELOCITY_INJECTION_TERMS_OF_USE_URL', config.getBuildScanTermsOfUseUrl())
|
|
|
|
maybeExportVariable('DEVELOCITY_INJECTION_TERMS_OF_USE_AGREE', config.getBuildScanTermsOfUseAgree())
|
2024-11-15 14:32:34 -07:00
|
|
|
}
|
|
|
|
|
2025-03-12 14:12:04 -05:00
|
|
|
return setupToken(
|
|
|
|
config.getDevelocityAccessKey(),
|
2025-03-13 08:44:52 -05:00
|
|
|
config.getDevelocityAllowUntrustedServer(),
|
|
|
|
config.getDevelocityTokenExpiry()
|
2025-03-12 14:12:04 -05:00
|
|
|
)
|
2024-01-23 16:44:34 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
function maybeExportVariable(variableName: string, value: unknown): void {
|
|
|
|
if (!process.env[variableName]) {
|
|
|
|
core.exportVariable(variableName, value)
|
|
|
|
}
|
|
|
|
}
|
2024-06-13 11:42:47 -07:00
|
|
|
|
|
|
|
function maybeExportVariableNotEmpty(variableName: string, value: unknown): void {
|
|
|
|
if (value !== null && value !== undefined && value !== '') {
|
|
|
|
maybeExportVariable(variableName, value)
|
|
|
|
}
|
|
|
|
}
|