mirror of
https://github.com/gradle/actions.git
synced 2025-08-18 23:01:27 +08:00
Fix develocity deprecations triggered by init-scripts (#128)
Fixes #126
This commit is contained in:
commit
220951bf17
@ -1,6 +1,6 @@
|
|||||||
plugins {
|
plugins {
|
||||||
id "com.gradle.develocity" version "3.17"
|
id "com.gradle.develocity" version "3.17"
|
||||||
id "com.gradle.common-custom-user-data-gradle-plugin" version "1.13"
|
id "com.gradle.common-custom-user-data-gradle-plugin" version "2.0"
|
||||||
}
|
}
|
||||||
|
|
||||||
develocity {
|
develocity {
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
plugins {
|
plugins {
|
||||||
id("com.gradle.develocity") version "3.17"
|
id("com.gradle.develocity") version "3.17"
|
||||||
id("com.gradle.common-custom-user-data-gradle-plugin") version "1.13"
|
id("com.gradle.common-custom-user-data-gradle-plugin") version "2.0"
|
||||||
}
|
}
|
||||||
|
|
||||||
develocity {
|
develocity {
|
||||||
|
@ -25,7 +25,7 @@ jobs:
|
|||||||
DEVELOCITY_INJECTION_ENABLED: true
|
DEVELOCITY_INJECTION_ENABLED: true
|
||||||
DEVELOCITY_URL: https://ge.solutions-team.gradle.com
|
DEVELOCITY_URL: https://ge.solutions-team.gradle.com
|
||||||
DEVELOCITY_PLUGIN_VERSION: ${{ matrix.plugin-version }}
|
DEVELOCITY_PLUGIN_VERSION: ${{ matrix.plugin-version }}
|
||||||
DEVELOCITY_CCUD_PLUGIN_VERSION: 1.13
|
DEVELOCITY_CCUD_PLUGIN_VERSION: '2.0'
|
||||||
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }} # required to test against GE plugin 3.16.2
|
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }} # required to test against GE plugin 3.16.2
|
||||||
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
|
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
|
||||||
strategy:
|
strategy:
|
||||||
|
2
dist/dependency-submission/main/index.js
vendored
2
dist/dependency-submission/main/index.js
vendored
@ -139733,7 +139733,7 @@ function setup(config) {
|
|||||||
if (config.getBuildScanPublishEnabled()) {
|
if (config.getBuildScanPublishEnabled()) {
|
||||||
maybeExportVariable('DEVELOCITY_INJECTION_ENABLED', 'true');
|
maybeExportVariable('DEVELOCITY_INJECTION_ENABLED', 'true');
|
||||||
maybeExportVariable('DEVELOCITY_PLUGIN_VERSION', '3.17');
|
maybeExportVariable('DEVELOCITY_PLUGIN_VERSION', '3.17');
|
||||||
maybeExportVariable('DEVELOCITY_CCUD_PLUGIN_VERSION', '1.13');
|
maybeExportVariable('DEVELOCITY_CCUD_PLUGIN_VERSION', '2.0');
|
||||||
maybeExportVariable('DEVELOCITY_TERMS_OF_USE_URL', config.getBuildScanTermsOfUseUrl());
|
maybeExportVariable('DEVELOCITY_TERMS_OF_USE_URL', config.getBuildScanTermsOfUseUrl());
|
||||||
maybeExportVariable('DEVELOCITY_TERMS_OF_USE_AGREE', config.getBuildScanTermsOfUseAgree());
|
maybeExportVariable('DEVELOCITY_TERMS_OF_USE_AGREE', config.getBuildScanTermsOfUseAgree());
|
||||||
}
|
}
|
||||||
|
2
dist/dependency-submission/main/index.js.map
vendored
2
dist/dependency-submission/main/index.js.map
vendored
File diff suppressed because one or more lines are too long
2
dist/dependency-submission/post/index.js
vendored
2
dist/dependency-submission/post/index.js
vendored
@ -91161,7 +91161,7 @@ function setup(config) {
|
|||||||
if (config.getBuildScanPublishEnabled()) {
|
if (config.getBuildScanPublishEnabled()) {
|
||||||
maybeExportVariable('DEVELOCITY_INJECTION_ENABLED', 'true');
|
maybeExportVariable('DEVELOCITY_INJECTION_ENABLED', 'true');
|
||||||
maybeExportVariable('DEVELOCITY_PLUGIN_VERSION', '3.17');
|
maybeExportVariable('DEVELOCITY_PLUGIN_VERSION', '3.17');
|
||||||
maybeExportVariable('DEVELOCITY_CCUD_PLUGIN_VERSION', '1.13');
|
maybeExportVariable('DEVELOCITY_CCUD_PLUGIN_VERSION', '2.0');
|
||||||
maybeExportVariable('DEVELOCITY_TERMS_OF_USE_URL', config.getBuildScanTermsOfUseUrl());
|
maybeExportVariable('DEVELOCITY_TERMS_OF_USE_URL', config.getBuildScanTermsOfUseUrl());
|
||||||
maybeExportVariable('DEVELOCITY_TERMS_OF_USE_AGREE', config.getBuildScanTermsOfUseAgree());
|
maybeExportVariable('DEVELOCITY_TERMS_OF_USE_AGREE', config.getBuildScanTermsOfUseAgree());
|
||||||
}
|
}
|
||||||
|
2
dist/dependency-submission/post/index.js.map
vendored
2
dist/dependency-submission/post/index.js.map
vendored
File diff suppressed because one or more lines are too long
2
dist/setup-gradle/main/index.js
vendored
2
dist/setup-gradle/main/index.js
vendored
@ -139733,7 +139733,7 @@ function setup(config) {
|
|||||||
if (config.getBuildScanPublishEnabled()) {
|
if (config.getBuildScanPublishEnabled()) {
|
||||||
maybeExportVariable('DEVELOCITY_INJECTION_ENABLED', 'true');
|
maybeExportVariable('DEVELOCITY_INJECTION_ENABLED', 'true');
|
||||||
maybeExportVariable('DEVELOCITY_PLUGIN_VERSION', '3.17');
|
maybeExportVariable('DEVELOCITY_PLUGIN_VERSION', '3.17');
|
||||||
maybeExportVariable('DEVELOCITY_CCUD_PLUGIN_VERSION', '1.13');
|
maybeExportVariable('DEVELOCITY_CCUD_PLUGIN_VERSION', '2.0');
|
||||||
maybeExportVariable('DEVELOCITY_TERMS_OF_USE_URL', config.getBuildScanTermsOfUseUrl());
|
maybeExportVariable('DEVELOCITY_TERMS_OF_USE_URL', config.getBuildScanTermsOfUseUrl());
|
||||||
maybeExportVariable('DEVELOCITY_TERMS_OF_USE_AGREE', config.getBuildScanTermsOfUseAgree());
|
maybeExportVariable('DEVELOCITY_TERMS_OF_USE_AGREE', config.getBuildScanTermsOfUseAgree());
|
||||||
}
|
}
|
||||||
|
2
dist/setup-gradle/main/index.js.map
vendored
2
dist/setup-gradle/main/index.js.map
vendored
File diff suppressed because one or more lines are too long
2
dist/setup-gradle/post/index.js
vendored
2
dist/setup-gradle/post/index.js
vendored
@ -137186,7 +137186,7 @@ function setup(config) {
|
|||||||
if (config.getBuildScanPublishEnabled()) {
|
if (config.getBuildScanPublishEnabled()) {
|
||||||
maybeExportVariable('DEVELOCITY_INJECTION_ENABLED', 'true');
|
maybeExportVariable('DEVELOCITY_INJECTION_ENABLED', 'true');
|
||||||
maybeExportVariable('DEVELOCITY_PLUGIN_VERSION', '3.17');
|
maybeExportVariable('DEVELOCITY_PLUGIN_VERSION', '3.17');
|
||||||
maybeExportVariable('DEVELOCITY_CCUD_PLUGIN_VERSION', '1.13');
|
maybeExportVariable('DEVELOCITY_CCUD_PLUGIN_VERSION', '2.0');
|
||||||
maybeExportVariable('DEVELOCITY_TERMS_OF_USE_URL', config.getBuildScanTermsOfUseUrl());
|
maybeExportVariable('DEVELOCITY_TERMS_OF_USE_URL', config.getBuildScanTermsOfUseUrl());
|
||||||
maybeExportVariable('DEVELOCITY_TERMS_OF_USE_AGREE', config.getBuildScanTermsOfUseAgree());
|
maybeExportVariable('DEVELOCITY_TERMS_OF_USE_AGREE', config.getBuildScanTermsOfUseAgree());
|
||||||
}
|
}
|
||||||
|
2
dist/setup-gradle/post/index.js.map
vendored
2
dist/setup-gradle/post/index.js.map
vendored
File diff suppressed because one or more lines are too long
@ -7,7 +7,7 @@ export function setup(config: BuildScanConfig): void {
|
|||||||
if (config.getBuildScanPublishEnabled()) {
|
if (config.getBuildScanPublishEnabled()) {
|
||||||
maybeExportVariable('DEVELOCITY_INJECTION_ENABLED', 'true')
|
maybeExportVariable('DEVELOCITY_INJECTION_ENABLED', 'true')
|
||||||
maybeExportVariable('DEVELOCITY_PLUGIN_VERSION', '3.17')
|
maybeExportVariable('DEVELOCITY_PLUGIN_VERSION', '3.17')
|
||||||
maybeExportVariable('DEVELOCITY_CCUD_PLUGIN_VERSION', '1.13')
|
maybeExportVariable('DEVELOCITY_CCUD_PLUGIN_VERSION', '2.0')
|
||||||
maybeExportVariable('DEVELOCITY_TERMS_OF_USE_URL', config.getBuildScanTermsOfUseUrl())
|
maybeExportVariable('DEVELOCITY_TERMS_OF_USE_URL', config.getBuildScanTermsOfUseUrl())
|
||||||
maybeExportVariable('DEVELOCITY_TERMS_OF_USE_AGREE', config.getBuildScanTermsOfUseAgree())
|
maybeExportVariable('DEVELOCITY_TERMS_OF_USE_AGREE', config.getBuildScanTermsOfUseAgree())
|
||||||
}
|
}
|
||||||
|
@ -45,8 +45,8 @@ abstract class BuildResultsRecorder implements BuildService<BuildResultsRecorder
|
|||||||
buildScanFailed: false
|
buildScanFailed: false
|
||||||
]
|
]
|
||||||
|
|
||||||
def runnerTempDir = System.getenv("RUNNER_TEMP")
|
def runnerTempDir = System.getProperty("RUNNER_TEMP") ?: System.getenv("RUNNER_TEMP")
|
||||||
def githubActionStep = System.getenv("GITHUB_ACTION")
|
def githubActionStep = System.getProperty("GITHUB_ACTION") ?: System.getenv("GITHUB_ACTION")
|
||||||
if (!runnerTempDir || !githubActionStep) {
|
if (!runnerTempDir || !githubActionStep) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -3,6 +3,13 @@
|
|||||||
*/
|
*/
|
||||||
import org.gradle.util.GradleVersion
|
import org.gradle.util.GradleVersion
|
||||||
|
|
||||||
|
def BUILD_SCAN_PLUGIN_ID = "com.gradle.build-scan"
|
||||||
|
def BUILD_SCAN_EXTENSION = "buildScan"
|
||||||
|
def DEVELOCITY_PLUGIN_ID = "com.gradle.develocity"
|
||||||
|
def DEVELOCITY_EXTENSION = "develocity"
|
||||||
|
def GE_PLUGIN_ID = "com.gradle.enterprise"
|
||||||
|
def GE_EXTENSION = "gradleEnterprise"
|
||||||
|
|
||||||
// Only run against root build. Do not run against included builds.
|
// Only run against root build. Do not run against included builds.
|
||||||
def isTopLevelBuild = gradle.getParent() == null
|
def isTopLevelBuild = gradle.getParent() == null
|
||||||
if (isTopLevelBuild) {
|
if (isTopLevelBuild) {
|
||||||
@ -22,14 +29,17 @@ if (isTopLevelBuild) {
|
|||||||
} else {
|
} else {
|
||||||
captureUsingBuildFinished(gradle, invocationId)
|
captureUsingBuildFinished(gradle, invocationId)
|
||||||
}
|
}
|
||||||
|
|
||||||
// The `buildScanPublished` hook allows the capture of the Build Scan URI.
|
|
||||||
// Results captured this way will overwrite any results from the other mechanism.
|
settings.pluginManager.withPlugin(GE_PLUGIN_ID) {
|
||||||
settings.pluginManager.withPlugin("com.gradle.enterprise") {
|
// Only execute if develocity plugin isn't applied.
|
||||||
captureUsingBuildScanPublished(settings.extensions["gradleEnterprise"].buildScan, settings.rootProject, invocationId)
|
if (!settings.extensions.findByName(DEVELOCITY_EXTENSION)) {
|
||||||
|
captureUsingBuildScanPublished(settings.extensions[GE_EXTENSION].buildScan, settings.rootProject, invocationId)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
settings.pluginManager.withPlugin("com.gradle.develocity") {
|
|
||||||
captureUsingBuildScanPublished(settings.extensions["develocity"].buildScan, settings.rootProject, invocationId)
|
settings.pluginManager.withPlugin(DEVELOCITY_PLUGIN_ID) {
|
||||||
|
captureUsingBuildScanPublished(settings.extensions[DEVELOCITY_EXTENSION].buildScan, settings.rootProject, invocationId)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (atLeastGradle3) {
|
} else if (atLeastGradle3) {
|
||||||
@ -37,15 +47,22 @@ if (isTopLevelBuild) {
|
|||||||
// By default, use 'buildFinished' to capture build results
|
// By default, use 'buildFinished' to capture build results
|
||||||
captureUsingBuildFinished(gradle, invocationId)
|
captureUsingBuildFinished(gradle, invocationId)
|
||||||
|
|
||||||
// The `buildScanPublished` hook allows the capture of the Build Scan URI.
|
gradle.rootProject.pluginManager.withPlugin(BUILD_SCAN_PLUGIN_ID) {
|
||||||
// Results captured this way will overwrite any results from 'buildFinished'.
|
// Only execute if develocity plugin isn't applied.
|
||||||
gradle.rootProject.pluginManager.withPlugin("com.gradle.build-scan") {
|
if (!gradle.rootProject.extensions.findByName(DEVELOCITY_EXTENSION)) {
|
||||||
captureUsingBuildScanPublished(gradle.rootProject.extensions["buildScan"], gradle.rootProject, invocationId)
|
captureUsingBuildScanPublished(gradle.rootProject.extensions[BUILD_SCAN_EXTENSION], gradle.rootProject, invocationId)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
gradle.rootProject.pluginManager.withPlugin(DEVELOCITY_PLUGIN_ID) {
|
||||||
|
captureUsingBuildScanPublished(gradle.rootProject.extensions[DEVELOCITY_EXTENSION].buildScan, gradle.rootProject, invocationId)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// The `buildScanPublished` hook allows the capture of the Build Scan URI.
|
||||||
|
// Results captured this way will overwrite any results from 'buildFinished'.
|
||||||
def captureUsingBuildScanPublished(buildScanExtension, rootProject, invocationId) {
|
def captureUsingBuildScanPublished(buildScanExtension, rootProject, invocationId) {
|
||||||
buildScanExtension.with {
|
buildScanExtension.with {
|
||||||
def buildResults = new BuildResults(invocationId, gradle, rootProject)
|
def buildResults = new BuildResults(invocationId, gradle, rootProject)
|
||||||
@ -125,8 +142,8 @@ class BuildResults {
|
|||||||
}
|
}
|
||||||
|
|
||||||
def writeToResultsFile(boolean overwrite) {
|
def writeToResultsFile(boolean overwrite) {
|
||||||
def runnerTempDir = System.getenv("RUNNER_TEMP")
|
def runnerTempDir = System.getProperty("RUNNER_TEMP") ?: System.getenv("RUNNER_TEMP")
|
||||||
def githubActionStep = System.getenv("GITHUB_ACTION")
|
def githubActionStep = System.getProperty("GITHUB_ACTION") ?: System.getenv("GITHUB_ACTION")
|
||||||
if (!runnerTempDir || !githubActionStep) {
|
if (!runnerTempDir || !githubActionStep) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -80,13 +80,9 @@ def BUILD_SCAN_PLUGIN_CLASS = 'com.gradle.scan.plugin.BuildScanPlugin'
|
|||||||
|
|
||||||
def GRADLE_ENTERPRISE_PLUGIN_ID = 'com.gradle.enterprise'
|
def GRADLE_ENTERPRISE_PLUGIN_ID = 'com.gradle.enterprise'
|
||||||
def GRADLE_ENTERPRISE_PLUGIN_CLASS = 'com.gradle.enterprise.gradleplugin.GradleEnterprisePlugin'
|
def GRADLE_ENTERPRISE_PLUGIN_CLASS = 'com.gradle.enterprise.gradleplugin.GradleEnterprisePlugin'
|
||||||
def GRADLE_ENTERPRISE_EXTENSION_CLASS = 'com.gradle.enterprise.gradleplugin.GradleEnterpriseExtension'
|
|
||||||
|
|
||||||
def DEVELOCITY_PLUGIN_ID = 'com.gradle.develocity'
|
def DEVELOCITY_PLUGIN_ID = 'com.gradle.develocity'
|
||||||
def DEVELOCITY_PLUGIN_CLASS = 'com.gradle.develocity.agent.gradle.DevelocityPlugin'
|
def DEVELOCITY_PLUGIN_CLASS = 'com.gradle.develocity.agent.gradle.DevelocityPlugin'
|
||||||
def DEVELOCITY_CONFIGURATION_CLASS = 'com.gradle.develocity.agent.gradle.DevelocityConfiguration'
|
|
||||||
|
|
||||||
def SETTINGS_EXTENSION_CLASSES = [GRADLE_ENTERPRISE_EXTENSION_CLASS, DEVELOCITY_CONFIGURATION_CLASS]
|
|
||||||
|
|
||||||
def CI_AUTO_INJECTION_CUSTOM_VALUE_NAME = 'CI auto injection'
|
def CI_AUTO_INJECTION_CUSTOM_VALUE_NAME = 'CI auto injection'
|
||||||
def CCUD_PLUGIN_ID = 'com.gradle.common-custom-user-data-gradle-plugin'
|
def CCUD_PLUGIN_ID = 'com.gradle.common-custom-user-data-gradle-plugin'
|
||||||
@ -194,6 +190,8 @@ if (GradleVersion.current() < GradleVersion.version('6.0')) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
pluginManager.withPlugin(BUILD_SCAN_PLUGIN_ID) {
|
pluginManager.withPlugin(BUILD_SCAN_PLUGIN_ID) {
|
||||||
|
// Only execute if develocity plugin isn't applied.
|
||||||
|
if (gradle.rootProject.extensions.findByName("develocity")) return
|
||||||
afterEvaluate {
|
afterEvaluate {
|
||||||
if (develocityUrl && develocityEnforceUrl) {
|
if (develocityUrl && develocityEnforceUrl) {
|
||||||
buildScan.server = develocityUrl
|
buildScan.server = develocityUrl
|
||||||
@ -242,61 +240,64 @@ if (GradleVersion.current() < GradleVersion.version('6.0')) {
|
|||||||
applyPluginExternally(settings.pluginManager, pluginClass)
|
applyPluginExternally(settings.pluginManager, pluginClass)
|
||||||
if (develocityUrl) {
|
if (develocityUrl) {
|
||||||
logger.lifecycle("Connection to Develocity: $develocityUrl, allowUntrustedServer: $develocityAllowUntrustedServer, captureFileFingerprints: $develocityCaptureFileFingerprints")
|
logger.lifecycle("Connection to Develocity: $develocityUrl, allowUntrustedServer: $develocityAllowUntrustedServer, captureFileFingerprints: $develocityCaptureFileFingerprints")
|
||||||
eachDevelocitySettingsExtension(settings, SETTINGS_EXTENSION_CLASSES) { ext ->
|
eachDevelocitySettingsExtension(settings) { ext ->
|
||||||
ext.server = develocityUrl
|
ext.server = develocityUrl
|
||||||
ext.allowUntrustedServer = develocityAllowUntrustedServer
|
ext.allowUntrustedServer = develocityAllowUntrustedServer
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
eachDevelocitySettingsExtension(settings, SETTINGS_EXTENSION_CLASSES) { ext ->
|
eachDevelocitySettingsExtension(settings) { ext ->
|
||||||
ext.buildScan.uploadInBackground = buildScanUploadInBackground
|
ext.buildScan.uploadInBackground = buildScanUploadInBackground
|
||||||
ext.buildScan.value CI_AUTO_INJECTION_CUSTOM_VALUE_NAME, ciAutoInjectionCustomValueValue
|
ext.buildScan.value CI_AUTO_INJECTION_CUSTOM_VALUE_NAME, ciAutoInjectionCustomValueValue
|
||||||
}
|
}
|
||||||
|
|
||||||
eachDevelocitySettingsExtension(settings, [GRADLE_ENTERPRISE_EXTENSION_CLASS]) { ext ->
|
eachDevelocitySettingsExtension(settings,
|
||||||
ext.buildScan.publishAlways()
|
{ develocity ->
|
||||||
if (isAtLeast(develocityPluginVersion, '2.1')) {
|
|
||||||
logger.lifecycle("Setting captureFileFingerprints: $develocityCaptureFileFingerprints")
|
logger.lifecycle("Setting captureFileFingerprints: $develocityCaptureFileFingerprints")
|
||||||
if (isAtLeast(develocityPluginVersion, '3.7')) {
|
develocity.buildScan.capture.fileFingerprints = develocityCaptureFileFingerprints
|
||||||
ext.buildScan.capture.taskInputFiles = develocityCaptureFileFingerprints
|
},
|
||||||
} else {
|
{ gradleEnterprise ->
|
||||||
ext.buildScan.captureTaskInputFiles = develocityCaptureFileFingerprints
|
gradleEnterprise.buildScan.publishAlways()
|
||||||
|
if (isAtLeast(develocityPluginVersion, '2.1')) {
|
||||||
|
logger.lifecycle("Setting captureFileFingerprints: $develocityCaptureFileFingerprints")
|
||||||
|
if (isAtLeast(develocityPluginVersion, '3.7')) {
|
||||||
|
gradleEnterprise.buildScan.capture.taskInputFiles = develocityCaptureFileFingerprints
|
||||||
|
} else {
|
||||||
|
gradleEnterprise.buildScan.captureTaskInputFiles = develocityCaptureFileFingerprints
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
)
|
||||||
|
|
||||||
eachDevelocitySettingsExtension(settings, [DEVELOCITY_CONFIGURATION_CLASS]) { ext ->
|
|
||||||
ext.buildScan.capture.fileFingerprints = develocityCaptureFileFingerprints
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (develocityUrl && develocityEnforceUrl) {
|
if (develocityUrl && develocityEnforceUrl) {
|
||||||
logger.lifecycle("Enforcing Develocity: $develocityUrl, allowUntrustedServer: $develocityAllowUntrustedServer, captureFileFingerprints: $develocityCaptureFileFingerprints")
|
logger.lifecycle("Enforcing Develocity: $develocityUrl, allowUntrustedServer: $develocityAllowUntrustedServer, captureFileFingerprints: $develocityCaptureFileFingerprints")
|
||||||
}
|
}
|
||||||
|
|
||||||
eachDevelocitySettingsExtension(settings, [GRADLE_ENTERPRISE_EXTENSION_CLASS]) { ext ->
|
eachDevelocitySettingsExtension(settings,
|
||||||
if (develocityUrl && develocityEnforceUrl) {
|
{ develocity ->
|
||||||
ext.server = develocityUrl
|
if (develocityUrl && develocityEnforceUrl) {
|
||||||
ext.allowUntrustedServer = develocityAllowUntrustedServer
|
develocity.server = develocityUrl
|
||||||
}
|
develocity.allowUntrustedServer = develocityAllowUntrustedServer
|
||||||
|
}
|
||||||
|
|
||||||
if (buildScanTermsOfUseUrl && buildScanTermsOfUseAgree) {
|
if (buildScanTermsOfUseUrl && buildScanTermsOfUseAgree) {
|
||||||
ext.buildScan.termsOfServiceUrl = buildScanTermsOfUseUrl
|
develocity.buildScan.termsOfUseUrl = buildScanTermsOfUseUrl
|
||||||
ext.buildScan.termsOfServiceAgree = buildScanTermsOfUseAgree
|
develocity.buildScan.termsOfUseAgree = buildScanTermsOfUseAgree
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
|
{ gradleEnterprise ->
|
||||||
|
if (develocityUrl && develocityEnforceUrl) {
|
||||||
|
gradleEnterprise.server = develocityUrl
|
||||||
|
gradleEnterprise.allowUntrustedServer = develocityAllowUntrustedServer
|
||||||
|
}
|
||||||
|
|
||||||
eachDevelocitySettingsExtension(settings, [DEVELOCITY_CONFIGURATION_CLASS]) { ext ->
|
if (buildScanTermsOfUseUrl && buildScanTermsOfUseAgree) {
|
||||||
if (develocityUrl && develocityEnforceUrl) {
|
gradleEnterprise.buildScan.termsOfServiceUrl = buildScanTermsOfUseUrl
|
||||||
ext.server = develocityUrl
|
gradleEnterprise.buildScan.termsOfServiceAgree = buildScanTermsOfUseAgree
|
||||||
ext.allowUntrustedServer = develocityAllowUntrustedServer
|
}
|
||||||
}
|
}
|
||||||
|
)
|
||||||
if (buildScanTermsOfUseUrl && buildScanTermsOfUseAgree) {
|
|
||||||
ext.buildScan.termsOfUseUrl = buildScanTermsOfUseUrl
|
|
||||||
ext.buildScan.termsOfUseAgree = buildScanTermsOfUseAgree
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ccudPluginVersion) {
|
if (ccudPluginVersion) {
|
||||||
@ -331,10 +332,26 @@ void applyPluginExternally(def pluginManager, String pluginClassName) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static def eachDevelocitySettingsExtension(def settings, List<String> publicTypes, def action) {
|
/**
|
||||||
settings.extensions.extensionsSchema.elements.findAll { publicTypes.contains(it.publicType.concreteClass.name) }
|
* Apply the `dvAction` to all 'develocity' extensions.
|
||||||
|
* If no 'develocity' extensions are found, apply the `geAction` to all 'gradleEnterprise' extensions.
|
||||||
|
* (The develocity plugin creates both extensions, and we want to prefer configuring 'develocity').
|
||||||
|
*/
|
||||||
|
static def eachDevelocitySettingsExtension(def settings, def dvAction, def geAction = dvAction) {
|
||||||
|
def GRADLE_ENTERPRISE_EXTENSION_CLASS = 'com.gradle.enterprise.gradleplugin.GradleEnterpriseExtension'
|
||||||
|
def DEVELOCITY_CONFIGURATION_CLASS = 'com.gradle.develocity.agent.gradle.DevelocityConfiguration'
|
||||||
|
|
||||||
|
def dvExtensions = settings.extensions.extensionsSchema.elements
|
||||||
|
.findAll { it.publicType.concreteClass.name == DEVELOCITY_CONFIGURATION_CLASS }
|
||||||
|
.collect { settings[it.name] }
|
||||||
|
if (!dvExtensions.empty) {
|
||||||
|
dvExtensions.each(dvAction)
|
||||||
|
} else {
|
||||||
|
def geExtensions = settings.extensions.extensionsSchema.elements
|
||||||
|
.findAll { it.publicType.concreteClass.name == GRADLE_ENTERPRISE_EXTENSION_CLASS }
|
||||||
.collect { settings[it.name] }
|
.collect { settings[it.name] }
|
||||||
.each(action)
|
geExtensions.each(geAction)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static boolean isAtLeast(String versionUnderTest, String referenceVersion) {
|
static boolean isAtLeast(String versionUnderTest, String referenceVersion) {
|
||||||
|
Binary file not shown.
@ -1,7 +1,7 @@
|
|||||||
distributionBase=GRADLE_USER_HOME
|
distributionBase=GRADLE_USER_HOME
|
||||||
distributionPath=wrapper/dists
|
distributionPath=wrapper/dists
|
||||||
distributionSha256Sum=591855b517fc635b9e04de1d05d5e76ada3f89f5fc76f87978d1b245b4f69225
|
distributionSha256Sum=591855b517fc635b9e04de1d05d5e76ada3f89f5fc76f87978d1b245b4f69225
|
||||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-bin.zip
|
distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
|
||||||
networkTimeout=10000
|
networkTimeout=10000
|
||||||
validateDistributionUrl=true
|
validateDistributionUrl=true
|
||||||
zipStoreBase=GRADLE_USER_HOME
|
zipStoreBase=GRADLE_USER_HOME
|
||||||
|
14
sources/test/init-scripts/gradlew
vendored
14
sources/test/init-scripts/gradlew
vendored
@ -145,7 +145,7 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
|
|||||||
case $MAX_FD in #(
|
case $MAX_FD in #(
|
||||||
max*)
|
max*)
|
||||||
# In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
|
# In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
|
||||||
# shellcheck disable=SC3045
|
# shellcheck disable=SC2039,SC3045
|
||||||
MAX_FD=$( ulimit -H -n ) ||
|
MAX_FD=$( ulimit -H -n ) ||
|
||||||
warn "Could not query maximum file descriptor limit"
|
warn "Could not query maximum file descriptor limit"
|
||||||
esac
|
esac
|
||||||
@ -153,7 +153,7 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
|
|||||||
'' | soft) :;; #(
|
'' | soft) :;; #(
|
||||||
*)
|
*)
|
||||||
# In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
|
# In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
|
||||||
# shellcheck disable=SC3045
|
# shellcheck disable=SC2039,SC3045
|
||||||
ulimit -n "$MAX_FD" ||
|
ulimit -n "$MAX_FD" ||
|
||||||
warn "Could not set maximum file descriptor limit to $MAX_FD"
|
warn "Could not set maximum file descriptor limit to $MAX_FD"
|
||||||
esac
|
esac
|
||||||
@ -202,11 +202,11 @@ fi
|
|||||||
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||||
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
|
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
|
||||||
|
|
||||||
# Collect all arguments for the java command;
|
# Collect all arguments for the java command:
|
||||||
# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of
|
# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
|
||||||
# shell script including quotes and variable substitutions, so put them in
|
# and any embedded shellness will be escaped.
|
||||||
# double quotes to make sure that they get re-expanded; and
|
# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
|
||||||
# * put everything else in single quotes, so that it's not re-expanded.
|
# treated as '${Hostname}' itself on the command line.
|
||||||
|
|
||||||
set -- \
|
set -- \
|
||||||
"-Dorg.gradle.appname=$APP_BASE_NAME" \
|
"-Dorg.gradle.appname=$APP_BASE_NAME" \
|
||||||
|
20
sources/test/init-scripts/gradlew.bat
vendored
20
sources/test/init-scripts/gradlew.bat
vendored
@ -43,11 +43,11 @@ set JAVA_EXE=java.exe
|
|||||||
%JAVA_EXE% -version >NUL 2>&1
|
%JAVA_EXE% -version >NUL 2>&1
|
||||||
if %ERRORLEVEL% equ 0 goto execute
|
if %ERRORLEVEL% equ 0 goto execute
|
||||||
|
|
||||||
echo.
|
echo. 1>&2
|
||||||
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2
|
||||||
echo.
|
echo. 1>&2
|
||||||
echo Please set the JAVA_HOME variable in your environment to match the
|
echo Please set the JAVA_HOME variable in your environment to match the 1>&2
|
||||||
echo location of your Java installation.
|
echo location of your Java installation. 1>&2
|
||||||
|
|
||||||
goto fail
|
goto fail
|
||||||
|
|
||||||
@ -57,11 +57,11 @@ set JAVA_EXE=%JAVA_HOME%/bin/java.exe
|
|||||||
|
|
||||||
if exist "%JAVA_EXE%" goto execute
|
if exist "%JAVA_EXE%" goto execute
|
||||||
|
|
||||||
echo.
|
echo. 1>&2
|
||||||
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
|
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2
|
||||||
echo.
|
echo. 1>&2
|
||||||
echo Please set the JAVA_HOME variable in your environment to match the
|
echo Please set the JAVA_HOME variable in your environment to match the 1>&2
|
||||||
echo location of your Java installation.
|
echo location of your Java installation. 1>&2
|
||||||
|
|
||||||
goto fail
|
goto fail
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
plugins {
|
plugins {
|
||||||
id "com.gradle.develocity" version "3.17"
|
id "com.gradle.develocity" version "3.17"
|
||||||
id "com.gradle.common-custom-user-data-gradle-plugin" version "1.13"
|
id "com.gradle.common-custom-user-data-gradle-plugin" version "2.0"
|
||||||
}
|
}
|
||||||
|
|
||||||
develocity {
|
develocity {
|
||||||
|
@ -17,7 +17,7 @@ import java.util.zip.GZIPOutputStream
|
|||||||
|
|
||||||
class BaseInitScriptTest extends Specification {
|
class BaseInitScriptTest extends Specification {
|
||||||
static final String DEVELOCITY_PLUGIN_VERSION = '3.17'
|
static final String DEVELOCITY_PLUGIN_VERSION = '3.17'
|
||||||
static final String CCUD_PLUGIN_VERSION = '1.13'
|
static final String CCUD_PLUGIN_VERSION = '2.0'
|
||||||
|
|
||||||
static final TestGradleVersion GRADLE_3_X = new TestGradleVersion(GradleVersion.version('3.5.1'), 7, 9)
|
static final TestGradleVersion GRADLE_3_X = new TestGradleVersion(GradleVersion.version('3.5.1'), 7, 9)
|
||||||
static final TestGradleVersion GRADLE_4_X = new TestGradleVersion(GradleVersion.version('4.10.3'), 7, 10)
|
static final TestGradleVersion GRADLE_4_X = new TestGradleVersion(GradleVersion.version('4.10.3'), 7, 10)
|
||||||
@ -54,6 +54,8 @@ class BaseInitScriptTest extends Specification {
|
|||||||
File settingsFile
|
File settingsFile
|
||||||
File buildFile
|
File buildFile
|
||||||
|
|
||||||
|
boolean allowDevelocityDeprecationWarning = false
|
||||||
|
|
||||||
@TempDir
|
@TempDir
|
||||||
File testProjectDir
|
File testProjectDir
|
||||||
|
|
||||||
@ -200,31 +202,51 @@ task expectFailure {
|
|||||||
}
|
}
|
||||||
|
|
||||||
BuildResult run(List<String> args, String initScript, GradleVersion gradleVersion = GradleVersion.current(), List<String> jvmArgs = [], Map<String, String> envVars = [:]) {
|
BuildResult run(List<String> args, String initScript, GradleVersion gradleVersion = GradleVersion.current(), List<String> jvmArgs = [], Map<String, String> envVars = [:]) {
|
||||||
createRunner(initScript, args, gradleVersion, jvmArgs, envVars).build()
|
def result = createRunner(args, initScript, gradleVersion, jvmArgs, envVars).build()
|
||||||
|
assertNoDeprecationWarning(result)
|
||||||
}
|
}
|
||||||
|
|
||||||
BuildResult runAndFail(List<String> args, String initScript, GradleVersion gradleVersion = GradleVersion.current(), List<String> jvmArgs = [], Map<String, String> envVars = [:]) {
|
BuildResult runAndFail(List<String> args, String initScript, GradleVersion gradleVersion = GradleVersion.current(), List<String> jvmArgs = [], Map<String, String> envVars = [:]) {
|
||||||
createRunner(initScript, args, gradleVersion, jvmArgs, envVars).buildAndFail()
|
def result = createRunner(args, initScript, gradleVersion, jvmArgs, envVars).buildAndFail()
|
||||||
|
assertNoDeprecationWarning(result)
|
||||||
}
|
}
|
||||||
|
|
||||||
GradleRunner createRunner(String initScript, List<String> args, GradleVersion gradleVersion = GradleVersion.current(), List<String> jvmArgs = [], Map<String, String> envVars = [:]) {
|
GradleRunner createRunner(List<String> args, String initScript, GradleVersion gradleVersion = GradleVersion.current(), List<String> jvmArgs = [], Map<String, String> envVars = [:]) {
|
||||||
File initScriptsDir = new File(testProjectDir, "initScripts")
|
File initScriptsDir = new File(testProjectDir, "initScripts")
|
||||||
args << '-I' << new File(initScriptsDir, initScript).absolutePath
|
args << '-I' << new File(initScriptsDir, initScript).absolutePath
|
||||||
|
|
||||||
envVars.putIfAbsent('RUNNER_TEMP', testProjectDir.absolutePath)
|
|
||||||
envVars.putIfAbsent('GITHUB_ACTION', 'github-step-id')
|
|
||||||
|
|
||||||
def runner = ((DefaultGradleRunner) GradleRunner.create())
|
def runner = ((DefaultGradleRunner) GradleRunner.create())
|
||||||
.withJvmArguments(jvmArgs)
|
|
||||||
.withGradleVersion(gradleVersion.version)
|
.withGradleVersion(gradleVersion.version)
|
||||||
.withProjectDir(testProjectDir)
|
.withProjectDir(testProjectDir)
|
||||||
.withArguments(args)
|
.withArguments(args)
|
||||||
.withEnvironment(envVars)
|
|
||||||
.forwardOutput()
|
.forwardOutput()
|
||||||
|
|
||||||
|
if (testKitSupportsEnvVars(gradleVersion)) {
|
||||||
|
runner.withEnvironment(envVars)
|
||||||
|
} else {
|
||||||
|
(runner as DefaultGradleRunner).withJvmArguments(jvmArgs)
|
||||||
|
}
|
||||||
|
|
||||||
runner
|
runner
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private boolean testKitSupportsEnvVars(GradleVersion gradleVersion) {
|
||||||
|
// TestKit supports env vars for Gradle 3.5+, except on M1 Mac where only 6.9+ is supported
|
||||||
|
def isM1Mac = System.getProperty("os.arch") == "aarch64"
|
||||||
|
if (isM1Mac) {
|
||||||
|
return gradleVersion >= GRADLE_6_X.gradleVersion
|
||||||
|
} else {
|
||||||
|
return gradleVersion >= GRADLE_3_X.gradleVersion
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
BuildResult assertNoDeprecationWarning(BuildResult result) {
|
||||||
|
if (!allowDevelocityDeprecationWarning) {
|
||||||
|
assert !result.output.contains("WARNING: The following functionality has been deprecated")
|
||||||
|
}
|
||||||
|
return result
|
||||||
|
}
|
||||||
|
|
||||||
static final class TestGradleVersion {
|
static final class TestGradleVersion {
|
||||||
|
|
||||||
final GradleVersion gradleVersion
|
final GradleVersion gradleVersion
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
package com.gradle.gradlebuildaction
|
package com.gradle.gradlebuildaction
|
||||||
|
|
||||||
import groovy.json.JsonSlurper
|
import groovy.json.JsonSlurper
|
||||||
|
import org.gradle.util.GradleVersion
|
||||||
|
|
||||||
import static org.junit.Assume.assumeTrue
|
import static org.junit.Assume.assumeTrue
|
||||||
|
|
||||||
@ -11,7 +12,7 @@ class TestBuildResultRecorder extends BaseInitScriptTest {
|
|||||||
assumeTrue testGradleVersion.compatibleWithCurrentJvm
|
assumeTrue testGradleVersion.compatibleWithCurrentJvm
|
||||||
|
|
||||||
when:
|
when:
|
||||||
run(['help'], initScript, testGradleVersion.gradleVersion)
|
run(testGradleVersion.gradleVersion)
|
||||||
|
|
||||||
then:
|
then:
|
||||||
assertResults('help', testGradleVersion, false, false)
|
assertResults('help', testGradleVersion, false, false)
|
||||||
@ -25,7 +26,7 @@ class TestBuildResultRecorder extends BaseInitScriptTest {
|
|||||||
|
|
||||||
when:
|
when:
|
||||||
addFailingTaskToBuild()
|
addFailingTaskToBuild()
|
||||||
runAndFail(['expectFailure'], initScript, testGradleVersion.gradleVersion)
|
runAndFail(testGradleVersion.gradleVersion)
|
||||||
|
|
||||||
then:
|
then:
|
||||||
assertResults('expectFailure', testGradleVersion, true, false)
|
assertResults('expectFailure', testGradleVersion, true, false)
|
||||||
@ -38,14 +39,14 @@ class TestBuildResultRecorder extends BaseInitScriptTest {
|
|||||||
assumeTrue testGradleVersion.compatibleWithCurrentJvm
|
assumeTrue testGradleVersion.compatibleWithCurrentJvm
|
||||||
|
|
||||||
when:
|
when:
|
||||||
run(['help', '--configuration-cache'], initScript, testGradleVersion.gradleVersion)
|
run(['help', '--configuration-cache'], testGradleVersion.gradleVersion)
|
||||||
|
|
||||||
then:
|
then:
|
||||||
assertResults('help', testGradleVersion, false, false)
|
assertResults('help', testGradleVersion, false, false)
|
||||||
assert buildResultFile.delete()
|
assert buildResultFile.delete()
|
||||||
|
|
||||||
when:
|
when:
|
||||||
run(['help', '--configuration-cache'], initScript, testGradleVersion.gradleVersion)
|
run(['help', '--configuration-cache'], testGradleVersion.gradleVersion)
|
||||||
|
|
||||||
then:
|
then:
|
||||||
assertResults('help', testGradleVersion, false, false)
|
assertResults('help', testGradleVersion, false, false)
|
||||||
@ -59,7 +60,7 @@ class TestBuildResultRecorder extends BaseInitScriptTest {
|
|||||||
|
|
||||||
when:
|
when:
|
||||||
declareDevelocityPluginApplication(testGradleVersion.gradleVersion)
|
declareDevelocityPluginApplication(testGradleVersion.gradleVersion)
|
||||||
run(['help'], initScript, testGradleVersion.gradleVersion)
|
run(testGradleVersion.gradleVersion)
|
||||||
|
|
||||||
then:
|
then:
|
||||||
assertResults('help', testGradleVersion, false, true)
|
assertResults('help', testGradleVersion, false, true)
|
||||||
@ -73,7 +74,7 @@ class TestBuildResultRecorder extends BaseInitScriptTest {
|
|||||||
|
|
||||||
when:
|
when:
|
||||||
declareLegacyGradleEnterprisePluginApplication(testGradleVersion.gradleVersion)
|
declareLegacyGradleEnterprisePluginApplication(testGradleVersion.gradleVersion)
|
||||||
run(['help'], initScript, testGradleVersion.gradleVersion)
|
run(testGradleVersion.gradleVersion)
|
||||||
|
|
||||||
then:
|
then:
|
||||||
assertResults('help', testGradleVersion, false, true)
|
assertResults('help', testGradleVersion, false, true)
|
||||||
@ -87,7 +88,7 @@ class TestBuildResultRecorder extends BaseInitScriptTest {
|
|||||||
|
|
||||||
when:
|
when:
|
||||||
declareDevelocityPluginApplication(testGradleVersion.gradleVersion)
|
declareDevelocityPluginApplication(testGradleVersion.gradleVersion)
|
||||||
run(['help', '--no-scan'], initScript, testGradleVersion.gradleVersion)
|
run(['help', '--no-scan'], testGradleVersion.gradleVersion)
|
||||||
|
|
||||||
then:
|
then:
|
||||||
assertResults('help', testGradleVersion, false, false)
|
assertResults('help', testGradleVersion, false, false)
|
||||||
@ -102,7 +103,7 @@ class TestBuildResultRecorder extends BaseInitScriptTest {
|
|||||||
when:
|
when:
|
||||||
declareDevelocityPluginApplication(testGradleVersion.gradleVersion)
|
declareDevelocityPluginApplication(testGradleVersion.gradleVersion)
|
||||||
addFailingTaskToBuild()
|
addFailingTaskToBuild()
|
||||||
runAndFail(['expectFailure'], initScript, testGradleVersion.gradleVersion)
|
runAndFail(testGradleVersion.gradleVersion)
|
||||||
|
|
||||||
then:
|
then:
|
||||||
assertResults('expectFailure', testGradleVersion, true, true)
|
assertResults('expectFailure', testGradleVersion, true, true)
|
||||||
@ -116,14 +117,14 @@ class TestBuildResultRecorder extends BaseInitScriptTest {
|
|||||||
|
|
||||||
when:
|
when:
|
||||||
declareDevelocityPluginApplication(testGradleVersion.gradleVersion)
|
declareDevelocityPluginApplication(testGradleVersion.gradleVersion)
|
||||||
run(['help', '--configuration-cache'], initScript, testGradleVersion.gradleVersion)
|
run(['help', '--configuration-cache'], testGradleVersion.gradleVersion)
|
||||||
|
|
||||||
then:
|
then:
|
||||||
assertResults('help', testGradleVersion, false, true)
|
assertResults('help', testGradleVersion, false, true)
|
||||||
assert buildResultFile.delete()
|
assert buildResultFile.delete()
|
||||||
|
|
||||||
when:
|
when:
|
||||||
run(['help', '--configuration-cache'], initScript, testGradleVersion.gradleVersion)
|
run(['help', '--configuration-cache'], testGradleVersion.gradleVersion)
|
||||||
|
|
||||||
then:
|
then:
|
||||||
assertResults('help', testGradleVersion, false, true)
|
assertResults('help', testGradleVersion, false, true)
|
||||||
@ -139,7 +140,7 @@ class TestBuildResultRecorder extends BaseInitScriptTest {
|
|||||||
declareDevelocityPluginApplication(testGradleVersion.gradleVersion)
|
declareDevelocityPluginApplication(testGradleVersion.gradleVersion)
|
||||||
addFailingTaskToBuild()
|
addFailingTaskToBuild()
|
||||||
failScanUpload = true
|
failScanUpload = true
|
||||||
runAndFail(['expectFailure'], initScript, testGradleVersion.gradleVersion)
|
runAndFail(testGradleVersion.gradleVersion)
|
||||||
|
|
||||||
then:
|
then:
|
||||||
assertResults('expectFailure', testGradleVersion, true, false, true)
|
assertResults('expectFailure', testGradleVersion, true, false, true)
|
||||||
@ -152,7 +153,9 @@ class TestBuildResultRecorder extends BaseInitScriptTest {
|
|||||||
assumeTrue testGradleVersion.compatibleWithCurrentJvm
|
assumeTrue testGradleVersion.compatibleWithCurrentJvm
|
||||||
|
|
||||||
when:
|
when:
|
||||||
run(['help'], initScript, testGradleVersion.gradleVersion, [], [RUNNER_TEMP: '', GITHUB_ACTION: ''])
|
run(['help'], initScript, testGradleVersion.gradleVersion,
|
||||||
|
["-DRUNNER_TEMP=", "-DGITHUB_ACTION="],
|
||||||
|
[RUNNER_TEMP: '', GITHUB_ACTION: ''])
|
||||||
|
|
||||||
then:
|
then:
|
||||||
def buildResultsDir = new File(testProjectDir, '.build-results')
|
def buildResultsDir = new File(testProjectDir, '.build-results')
|
||||||
@ -169,7 +172,9 @@ class TestBuildResultRecorder extends BaseInitScriptTest {
|
|||||||
def invalidDir = new File(testProjectDir, 'invalid-runner-temp')
|
def invalidDir = new File(testProjectDir, 'invalid-runner-temp')
|
||||||
invalidDir.createNewFile()
|
invalidDir.createNewFile()
|
||||||
|
|
||||||
run(['help'], initScript, testGradleVersion.gradleVersion, [], [RUNNER_TEMP: invalidDir.absolutePath])
|
run(['help'], initScript, testGradleVersion.gradleVersion,
|
||||||
|
["-DRUNNER_TEMP=${invalidDir.absolutePath}".toString()],
|
||||||
|
[RUNNER_TEMP: invalidDir.absolutePath])
|
||||||
|
|
||||||
then:
|
then:
|
||||||
def buildResultsDir = new File(testProjectDir, '.build-results')
|
def buildResultsDir = new File(testProjectDir, '.build-results')
|
||||||
@ -194,8 +199,9 @@ class TestBuildResultRecorder extends BaseInitScriptTest {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
""" + settingsFile.text
|
""" + settingsFile.text
|
||||||
|
|
||||||
run(['help'], initScript, testGradleVersion.gradleVersion)
|
allowDevelocityDeprecationWarning = true
|
||||||
|
run(testGradleVersion.gradleVersion)
|
||||||
|
|
||||||
then:
|
then:
|
||||||
assertResults('help', testGradleVersion, false, true)
|
assertResults('help', testGradleVersion, false, true)
|
||||||
@ -204,6 +210,28 @@ class TestBuildResultRecorder extends BaseInitScriptTest {
|
|||||||
testGradleVersion << SETTINGS_PLUGIN_VERSIONS
|
testGradleVersion << SETTINGS_PLUGIN_VERSIONS
|
||||||
}
|
}
|
||||||
|
|
||||||
|
def run(def args = ['help'], def gradleVersion) {
|
||||||
|
return run(args, initScript, gradleVersion, jvmArgs, envVars)
|
||||||
|
}
|
||||||
|
|
||||||
|
def runAndFail(def gradleVersion) {
|
||||||
|
return runAndFail(['expectFailure'], initScript, gradleVersion, jvmArgs, envVars)
|
||||||
|
}
|
||||||
|
|
||||||
|
def getJvmArgs() {
|
||||||
|
[
|
||||||
|
"-DRUNNER_TEMP=${testProjectDir.absolutePath}".toString(),
|
||||||
|
"-DGITHUB_ACTION=github-step-id".toString()
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
def getEnvVars() {
|
||||||
|
[
|
||||||
|
RUNNER_TEMP: testProjectDir.absolutePath,
|
||||||
|
GITHUB_ACTION: 'github-step-id'
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
void assertResults(String task, TestGradleVersion testGradleVersion, boolean hasFailure, boolean hasBuildScan, boolean scanUploadFailed = false) {
|
void assertResults(String task, TestGradleVersion testGradleVersion, boolean hasFailure, boolean hasBuildScan, boolean scanUploadFailed = false) {
|
||||||
def results = new JsonSlurper().parse(buildResultFile)
|
def results = new JsonSlurper().parse(buildResultFile)
|
||||||
assert results['rootProjectName'] == ROOT_PROJECT_NAME
|
assert results['rootProjectName'] == ROOT_PROJECT_NAME
|
||||||
|
@ -30,7 +30,7 @@ class TestDependencyGraph extends BaseInitScriptTest {
|
|||||||
assumeTrue testGradleVersion.compatibleWithCurrentJvm
|
assumeTrue testGradleVersion.compatibleWithCurrentJvm
|
||||||
|
|
||||||
when:
|
when:
|
||||||
run(['help'], initScript, testGradleVersion.gradleVersion, [], envVars)
|
run(['help'], initScript, testGradleVersion.gradleVersion, jvmArgs, envVars)
|
||||||
|
|
||||||
then:
|
then:
|
||||||
assert reportFile.exists()
|
assert reportFile.exists()
|
||||||
@ -43,7 +43,7 @@ class TestDependencyGraph extends BaseInitScriptTest {
|
|||||||
assumeTrue testGradleVersion.compatibleWithCurrentJvm
|
assumeTrue testGradleVersion.compatibleWithCurrentJvm
|
||||||
|
|
||||||
when:
|
when:
|
||||||
run(['help', '--configuration-cache'], initScript, testGradleVersion.gradleVersion, [], envVars)
|
run(['help', '--configuration-cache'], initScript, testGradleVersion.gradleVersion, jvmArgs, envVars)
|
||||||
|
|
||||||
then:
|
then:
|
||||||
assert reportFile.exists()
|
assert reportFile.exists()
|
||||||
@ -57,7 +57,7 @@ class TestDependencyGraph extends BaseInitScriptTest {
|
|||||||
assumeTrue testGradleVersion.compatibleWithCurrentJvm
|
assumeTrue testGradleVersion.compatibleWithCurrentJvm
|
||||||
|
|
||||||
when:
|
when:
|
||||||
def result = run(['help'], initScript, testGradleVersion.gradleVersion, [], envVars)
|
def result = run(['help'], initScript, testGradleVersion.gradleVersion, jvmArgs, envVars)
|
||||||
|
|
||||||
then:
|
then:
|
||||||
assert !reportsDir.exists()
|
assert !reportsDir.exists()
|
||||||
@ -73,7 +73,12 @@ class TestDependencyGraph extends BaseInitScriptTest {
|
|||||||
when:
|
when:
|
||||||
def vars = envVars
|
def vars = envVars
|
||||||
vars.put('GITHUB_DEPENDENCY_GRAPH_CONTINUE_ON_FAILURE', 'false')
|
vars.put('GITHUB_DEPENDENCY_GRAPH_CONTINUE_ON_FAILURE', 'false')
|
||||||
def result = runAndFail(['help'], initScript, testGradleVersion.gradleVersion, [], vars)
|
def args = jvmArgs
|
||||||
|
Collections.replaceAll(args,
|
||||||
|
'-DGITHUB_DEPENDENCY_GRAPH_CONTINUE_ON_FAILURE=true',
|
||||||
|
'-DGITHUB_DEPENDENCY_GRAPH_CONTINUE_ON_FAILURE=false'
|
||||||
|
)
|
||||||
|
def result = runAndFail(['help'], initScript, testGradleVersion.gradleVersion, args, vars)
|
||||||
|
|
||||||
then:
|
then:
|
||||||
assert !reportsDir.exists()
|
assert !reportsDir.exists()
|
||||||
@ -103,20 +108,20 @@ class TestDependencyGraph extends BaseInitScriptTest {
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
when:
|
when:
|
||||||
run(['help'], initScript, testGradleVersion.gradleVersion, [], envVars)
|
run(['help'], initScript, testGradleVersion.gradleVersion, jvmArgs, envVars)
|
||||||
|
|
||||||
then:
|
then:
|
||||||
assert reportFile.exists()
|
assert reportFile.exists()
|
||||||
|
|
||||||
when:
|
when:
|
||||||
run(['first'], initScript, testGradleVersion.gradleVersion, [], envVars)
|
run(['first'], initScript, testGradleVersion.gradleVersion, jvmArgs, envVars)
|
||||||
|
|
||||||
then:
|
then:
|
||||||
assert reportFile.exists()
|
assert reportFile.exists()
|
||||||
assert reportFile1.exists()
|
assert reportFile1.exists()
|
||||||
|
|
||||||
when:
|
when:
|
||||||
run(['second'], initScript, testGradleVersion.gradleVersion, [], envVars)
|
run(['second'], initScript, testGradleVersion.gradleVersion, jvmArgs, envVars)
|
||||||
|
|
||||||
then:
|
then:
|
||||||
assert reportFile.exists()
|
assert reportFile.exists()
|
||||||
@ -133,7 +138,11 @@ class TestDependencyGraph extends BaseInitScriptTest {
|
|||||||
when:
|
when:
|
||||||
def vars = envVars
|
def vars = envVars
|
||||||
vars.put('GRADLE_PLUGIN_REPOSITORY_URL', 'https://plugins.grdev.net/m2')
|
vars.put('GRADLE_PLUGIN_REPOSITORY_URL', 'https://plugins.grdev.net/m2')
|
||||||
def result = run(['help', '--info'], initScript, testGradleVersion.gradleVersion, [], vars)
|
// TODO:DAZ This props are set too late to control init-script plugin resolution
|
||||||
|
// This makes the tests fail on Mac with Gradle < 6
|
||||||
|
def args = jvmArgs
|
||||||
|
args.add('-DGRADLE_PLUGIN_REPOSITORY_URL=https://plugins.grdev.net/m2')
|
||||||
|
def result = run(['help', '--info'], initScript, testGradleVersion.gradleVersion, args, vars)
|
||||||
|
|
||||||
then:
|
then:
|
||||||
assert reportFile.exists()
|
assert reportFile.exists()
|
||||||
@ -151,7 +160,13 @@ class TestDependencyGraph extends BaseInitScriptTest {
|
|||||||
vars.put('GRADLE_PLUGIN_REPOSITORY_URL', 'https://plugins.grdev.net/m2')
|
vars.put('GRADLE_PLUGIN_REPOSITORY_URL', 'https://plugins.grdev.net/m2')
|
||||||
vars.put('GRADLE_PLUGIN_REPOSITORY_USERNAME', 'REPO_USER')
|
vars.put('GRADLE_PLUGIN_REPOSITORY_USERNAME', 'REPO_USER')
|
||||||
vars.put('GRADLE_PLUGIN_REPOSITORY_PASSWORD', 'REPO_PASSWORD')
|
vars.put('GRADLE_PLUGIN_REPOSITORY_PASSWORD', 'REPO_PASSWORD')
|
||||||
def result = run(['help', '--info'], initScript, testGradleVersion.gradleVersion, [], vars)
|
// TODO:DAZ This props are set too late to control init-script plugin resolution
|
||||||
|
// This makes the tests fail on Mac with Gradle < 6
|
||||||
|
def args = jvmArgs
|
||||||
|
args.add('-DGRADLE_PLUGIN_REPOSITORY_URL=https://plugins.grdev.net/m2')
|
||||||
|
args.add('-DGRADLE_PLUGIN_REPOSITORY_USERNAME=REPO_USER')
|
||||||
|
args.add('-DGRADLE_PLUGIN_REPOSITORY_PASSWORD=REPO_PASSWORD')
|
||||||
|
def result = run(['help', '--info'], initScript, testGradleVersion.gradleVersion, args, vars)
|
||||||
|
|
||||||
then:
|
then:
|
||||||
assert reportFile.exists()
|
assert reportFile.exists()
|
||||||
@ -175,6 +190,19 @@ class TestDependencyGraph extends BaseInitScriptTest {
|
|||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
def getJvmArgs() {
|
||||||
|
return [
|
||||||
|
"-DGITHUB_DEPENDENCY_GRAPH_ENABLED=true",
|
||||||
|
"-DGITHUB_DEPENDENCY_GRAPH_CONTINUE_ON_FAILURE=true",
|
||||||
|
"-DGITHUB_DEPENDENCY_GRAPH_JOB_CORRELATOR=CORRELATOR",
|
||||||
|
"-DGITHUB_DEPENDENCY_GRAPH_JOB_ID=1",
|
||||||
|
"-DGITHUB_DEPENDENCY_GRAPH_REF=main",
|
||||||
|
"-DGITHUB_DEPENDENCY_GRAPH_SHA=123456",
|
||||||
|
"-DGITHUB_DEPENDENCY_GRAPH_WORKSPACE=" + testProjectDir.absolutePath,
|
||||||
|
"-DDEPENDENCY_GRAPH_REPORT_DIR=" + reportsDir.absolutePath,
|
||||||
|
].collect {it.toString() } // Convert from GString to String
|
||||||
|
}
|
||||||
|
|
||||||
def getReportsDir() {
|
def getReportsDir() {
|
||||||
return new File(testProjectDir, 'build/reports/github-dependency-graph-snapshots')
|
return new File(testProjectDir, 'build/reports/github-dependency-graph-snapshots')
|
||||||
}
|
}
|
||||||
|
@ -134,6 +134,10 @@ class TestDevelocityInjection extends BaseInitScriptTest {
|
|||||||
declareDevelocityPluginApplication(testGradleVersion.gradleVersion)
|
declareDevelocityPluginApplication(testGradleVersion.gradleVersion)
|
||||||
|
|
||||||
when:
|
when:
|
||||||
|
// Init-script emits deprecation warnings when CCUD plugin is applied on Gradle 5.6.4
|
||||||
|
if (testGradleVersion.gradleVersion.version == "5.6.4") {
|
||||||
|
allowDevelocityDeprecationWarning = true
|
||||||
|
}
|
||||||
def result = run(testGradleVersion, testConfig().withCCUDPlugin())
|
def result = run(testGradleVersion, testConfig().withCCUDPlugin())
|
||||||
|
|
||||||
then:
|
then:
|
||||||
@ -315,7 +319,7 @@ class TestDevelocityInjection extends BaseInitScriptTest {
|
|||||||
|
|
||||||
when:
|
when:
|
||||||
def config = testConfig().withCCUDPlugin().withServer(URI.create('https://develocity-server.invalid'))
|
def config = testConfig().withCCUDPlugin().withServer(URI.create('https://develocity-server.invalid'))
|
||||||
def result = run(testGradleVersion, config, ["help", "-Dgradle.enterprise.url=${mockScansServer.address}".toString()])
|
def result = run(testGradleVersion, config, ["help", "-Ddevelocity.url=${mockScansServer.address}".toString()])
|
||||||
|
|
||||||
then:
|
then:
|
||||||
outputContainsDevelocityPluginApplicationViaInitScript(result, testGradleVersion.gradleVersion)
|
outputContainsDevelocityPluginApplicationViaInitScript(result, testGradleVersion.gradleVersion)
|
||||||
@ -425,21 +429,7 @@ class TestDevelocityInjection extends BaseInitScriptTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private BuildResult run(TestGradleVersion testGradleVersion, TestConfig config, List<String> args = ["help"]) {
|
private BuildResult run(TestGradleVersion testGradleVersion, TestConfig config, List<String> args = ["help"]) {
|
||||||
if (testKitSupportsEnvVars(testGradleVersion.gradleVersion)) {
|
return run(args, initScript, testGradleVersion.gradleVersion, config.jvmArgs, config.envVars)
|
||||||
return run(args, initScript, testGradleVersion.gradleVersion, [], config.envVars)
|
|
||||||
} else {
|
|
||||||
return run(args, initScript, testGradleVersion.gradleVersion, config.jvmArgs, [:])
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private boolean testKitSupportsEnvVars(GradleVersion gradleVersion) {
|
|
||||||
// TestKit supports env vars for Gradle 3.5+, except on M1 Mac where only 6.9+ is supported
|
|
||||||
def isM1Mac = System.getProperty("os.arch") == "aarch64"
|
|
||||||
if (isM1Mac) {
|
|
||||||
return gradleVersion >= GRADLE_6_X.gradleVersion
|
|
||||||
} else {
|
|
||||||
return gradleVersion >= GRADLE_3_X.gradleVersion
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private TestConfig testConfig(String develocityPluginVersion = DEVELOCITY_PLUGIN_VERSION) {
|
private TestConfig testConfig(String develocityPluginVersion = DEVELOCITY_PLUGIN_VERSION) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user