Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -89,41 +89,25 @@ 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")
exec(projectDir, "git", "add", "-A")
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")
}
)
}

Expand Down Expand Up @@ -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")
Expand Down Expand Up @@ -268,7 +258,6 @@ class TracerVersionIntegrationTest {
expectedVersion: String,
beforeGradle: () -> Unit = {},
workingDirectory: File = projectDir,
additionalEnv: Map<String, String> = mapOf("CI" to "false"),
) {
File(projectDir, "settings.gradle.kts").writeText(
"""
Expand Down Expand Up @@ -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()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
Loading