diff --git a/buildSrc/src/integTest/kotlin/datadog/gradle/plugin/version/TracerVersionIntegrationTest.kt b/buildSrc/src/integTest/kotlin/datadog/gradle/plugin/version/TracerVersionIntegrationTest.kt index af27e60ee45..5a09e63d577 100644 --- a/buildSrc/src/integTest/kotlin/datadog/gradle/plugin/version/TracerVersionIntegrationTest.kt +++ b/buildSrc/src/integTest/kotlin/datadog/gradle/plugin/version/TracerVersionIntegrationTest.kt @@ -2,13 +2,13 @@ package datadog.gradle.plugin.version import org.assertj.core.api.Assertions.assertThat import org.gradle.testkit.runner.GradleRunner +import org.junit.jupiter.api.Disabled import org.junit.jupiter.api.Test import org.junit.jupiter.api.io.CleanupMode import org.junit.jupiter.api.io.TempDir import java.io.File import java.io.IOException - class TracerVersionIntegrationTest { @Test @@ -89,27 +89,13 @@ class TracerVersionIntegrationTest { projectDir, "1.53.0-SNAPSHOT-DIRTY", beforeGradle = { - exec(projectDir, "git", "init", "--initial-branch", "main") - exec(projectDir, "git", "config", "user.email", "test@datadoghq.com") - exec(projectDir, "git", "config", "user.name", "Test") - exec(projectDir, "git", "add", "-A") - exec(projectDir, "git", "commit", "-m", "A commit") - exec(projectDir, "git", "tag", "v1.52.0", "-m", "") - - File(projectDir, "settings.gradle.kts").appendText(""" - - // uncommitted change this file, - """.trimIndent()) - } - ) - } + println("Setting up git repository in $projectDir") + File(projectDir, "gradle.properties").writeText( + """ + tracerVersion.dirtiness=true + """.trimIndent() + ) - @Test - fun `should ignore dirtiness if CI env`(@TempDir projectDir: File) { // CI patch some tracked files - assertTracerVersion( - projectDir, - "1.52.0", - beforeGradle = { exec(projectDir, "git", "init", "--initial-branch", "main") exec(projectDir, "git", "config", "user.email", "test@datadoghq.com") exec(projectDir, "git", "config", "user.name", "Test") @@ -117,13 +103,11 @@ class TracerVersionIntegrationTest { exec(projectDir, "git", "commit", "-m", "A commit") exec(projectDir, "git", "tag", "v1.52.0", "-m", "") - // dirty file ignored File(projectDir, "settings.gradle.kts").appendText(""" // uncommitted change this file, """.trimIndent()) - }, - additionalEnv = mapOf("CI" to "true") + } ) } @@ -157,6 +141,12 @@ class TracerVersionIntegrationTest { projectDir, "1.53.0-SNAPSHOT-DIRTY", beforeGradle = { + File(projectDir, "gradle.properties").writeText( + """ + tracerVersion.dirtiness=true + """.trimIndent() + ) + exec(projectDir, "git", "init", "--initial-branch", "main") exec(projectDir, "git", "config", "user.email", "test@datadoghq.com") exec(projectDir, "git", "config", "user.name", "Test") @@ -268,7 +258,6 @@ class TracerVersionIntegrationTest { expectedVersion: String, beforeGradle: () -> Unit = {}, workingDirectory: File = projectDir, - additionalEnv: Map = mapOf("CI" to "false"), ) { File(projectDir, "settings.gradle.kts").writeText( """ @@ -296,7 +285,6 @@ class TracerVersionIntegrationTest { // .withGradleVersion(gradleVersion) // Use current gradle version .withPluginClasspath() .withArguments("printVersion", "--quiet") - .withEnvironment(System.getenv() + additionalEnv) .withProjectDir(workingDirectory) // .withDebug(true) .build() diff --git a/buildSrc/src/main/kotlin/datadog/gradle/plugin/version/TracerVersionPlugin.kt b/buildSrc/src/main/kotlin/datadog/gradle/plugin/version/TracerVersionPlugin.kt index ef6a5ab3015..4e94c873457 100644 --- a/buildSrc/src/main/kotlin/datadog/gradle/plugin/version/TracerVersionPlugin.kt +++ b/buildSrc/src/main/kotlin/datadog/gradle/plugin/version/TracerVersionPlugin.kt @@ -23,7 +23,9 @@ class TracerVersionPlugin @Inject constructor( val extension = targetProject.extensions.getByType(TracerVersionExtension::class.java) extension.detectDirty.set( - providerFactory.environmentVariable("CI").map { it != "true" }.orElse(true) + providerFactory.gradleProperty("tracerVersion.dirtiness") + .map { it.trim().toBoolean() } + .orElse(false) ) val versionProvider = versionProvider(targetProject, extension)