Skip to content

Commit 4e9a595

Browse files
committed
fix: Properly run fail directives
1 parent f68955d commit 4e9a595

2 files changed

Lines changed: 7 additions & 5 deletions

File tree

buildSrc/src/main/kotlin/datadog/gradle/plugin/muzzle/tasks/MuzzleTask.kt

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -74,13 +74,17 @@ abstract class MuzzleTask @Inject constructor(
7474
@TaskAction
7575
fun muzzle() {
7676
when {
77+
// Version-specific task: created by MuzzlePlugin for each resolved artifact.
78+
muzzleDirective.isPresent -> {
79+
assertMuzzle(muzzleDirective.get())
80+
}
81+
// Fallback for the root "muzzle" lifecycle task when no pass{} directives are
82+
// declared. In that case there are no version-specific pass tasks, so we assert
83+
// the instrumentation against its own compile-time classpath as a basic sanity check.
7784
!project.extensions.getByType<MuzzleExtension>().directives.any { it.assertPass } -> {
7885
project.logger.info("No muzzle pass directives configured. Asserting pass against instrumentation compile-time dependencies")
7986
assertMuzzle()
8087
}
81-
muzzleDirective.isPresent -> {
82-
assertMuzzle(muzzleDirective.get())
83-
}
8488
}
8589
}
8690

buildSrc/src/test/kotlin/datadog/gradle/plugin/muzzle/MuzzlePluginFunctionalTest.kt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import datadog.gradle.plugin.GradleFixture
44
import datadog.gradle.plugin.MavenRepoFixture
55
import org.assertj.core.api.Assertions.assertThat
66
import org.gradle.testkit.runner.TaskOutcome.SUCCESS
7-
import org.junit.jupiter.api.Disabled
87
import org.junit.jupiter.api.Test
98
import org.junit.jupiter.api.io.TempDir
109
import org.junit.jupiter.params.ParameterizedTest
@@ -436,7 +435,6 @@ class MuzzlePluginFunctionalTest {
436435
}
437436

438437
@Test
439-
@Disabled("Current implementation doesn't fail build when fail directive unexpectedly passes - MuzzleTask catches exceptions")
440438
fun `fail directive that passes validation causes build failure`(@TempDir projectDir: File) {
441439
val fixture = MuzzlePluginTestFixture(projectDir)
442440
fixture.writeProject(

0 commit comments

Comments
 (0)