Skip to content

Commit 617ea59

Browse files
committed
fix: add workaround for providers.gradleProperty for pre-7.4 Gradle versions
Previous versions required .forUseAtConfigurationTime() Signed-off-by: Vladimir Sitnikov <[email protected]>
1 parent 69c55a6 commit 617ea59

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

sigstore-gradle/sigstore-gradle-sign-base-plugin/src/main/kotlin/dev/sigstore/sign/SigstoreSignExtension.kt

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import org.gradle.api.DomainObjectCollection
2323
import org.gradle.api.Project
2424
import org.gradle.api.plugins.ExtensionAware
2525
import org.gradle.api.provider.Property
26+
import org.gradle.api.provider.Provider
2627
import org.gradle.api.publish.Publication
2728
import org.gradle.api.publish.PublicationArtifact
2829
import org.gradle.api.publish.internal.PublicationInternal
@@ -35,6 +36,7 @@ import org.gradle.kotlin.dsl.register
3536
import org.gradle.kotlin.dsl.the
3637
import org.gradle.kotlin.dsl.withType
3738
import org.gradle.plugins.signing.Sign
39+
import org.gradle.util.GradleVersion
3840
import kotlin.collections.set
3941

4042
abstract class SigstoreSignExtension(private val project: Project) {
@@ -83,8 +85,17 @@ abstract class SigstoreSignExtension(private val project: Project) {
8385
this.signatureDirectory.set(signatureDirectory)
8486
}
8587

88+
var removeSignatureProperty = project.providers.gradleProperty("dev.sigstore.sign.remove.sigstore.json.asc")
89+
if (GradleVersion.current() < GradleVersion.version("7.4")) {
90+
// Since Gradle 7.4 the method does nothing
91+
// We use reflection here to avoid breakage when Gradle drops the method
92+
@Suppress("UNCHECKED_CAST")
93+
removeSignatureProperty = Provider::class.java.getMethod("forUseAtConfigurationTime")
94+
.invoke(removeSignatureProperty) as Provider<String>
95+
}
96+
8697
val removeSigstoreAsc =
87-
project.providers.gradleProperty("dev.sigstore.sign.remove.sigstore.json.asc").orNull?.toBoolean() != false
98+
removeSignatureProperty.orNull?.toBoolean() != false
8899

89100
val publicationName = publication.name
90101

0 commit comments

Comments
 (0)