-
-
Notifications
You must be signed in to change notification settings - Fork 423
Stack overflow after upgrading from 9.1.0 to 9.2.1 #1781
Copy link
Copy link
Closed
Labels
Description
Expected and Results
After upgrading from version 9.1.0 to 9.2.1 I am seeing the following stack overflow exception:
FAILURE: Build failed with an exception.
* What went wrong:
java.lang.StackOverflowError (no error message)
* Try:
> Run with --info or --debug option to get more log output.
> Get more help at https://help.gradle.org.
* Exception is:
java.lang.StackOverflowError
at org.gradle.api.java.archives.internal.DefaultAttributes.put(DefaultAttributes.java:26)
at org.gradle.api.java.archives.internal.DefaultManifest.init(DefaultManifest.java:81)
at org.gradle.api.java.archives.internal.DefaultManifest.<init>(DefaultManifest.java:67)
at org.gradle.api.java.archives.internal.DefaultManifestMergeSpec.merge(DefaultManifestMergeSpec.java:80)
at org.gradle.api.java.archives.internal.DefaultManifest.getEffectiveManifestInternal(DefaultManifest.java:206)
at org.gradle.api.java.archives.internal.DefaultManifest.getEffectiveManifest(DefaultManifest.java:200)
at org.gradle.api.java.archives.internal.DefaultManifest.getEffectiveManifest(DefaultManifest.java:47)
at org.gradle.api.java.archives.internal.DefaultManifestMergeSpec.createManifest(DefaultManifestMergeSpec.java:153)
at org.gradle.api.java.archives.internal.DefaultManifestMergeSpec.merge(DefaultManifestMergeSpec.java:84)
at org.gradle.api.java.archives.internal.DefaultManifest.getEffectiveManifestInternal(DefaultManifest.java:206)
at org.gradle.api.java.archives.internal.DefaultManifest.getEffectiveManifest(DefaultManifest.java:200)
at org.gradle.api.java.archives.internal.DefaultManifest.getEffectiveManifest(DefaultManifest.java:47)
at org.gradle.api.java.archives.internal.DefaultManifestMergeSpec.createManifest(DefaultManifestMergeSpec.java:153)
at org.gradle.api.java.archives.internal.DefaultManifestMergeSpec.merge(DefaultManifestMergeSpec.java:84)
at org.gradle.api.java.archives.internal.DefaultManifest.getEffectiveManifestInternal(DefaultManifest.java:206)
at org.gradle.api.java.archives.internal.DefaultManifest.getEffectiveManifest(DefaultManifest.java:200)
at org.gradle.api.java.archives.internal.DefaultManifest.getEffectiveManifest(DefaultManifest.java:47)
at org.gradle.api.java.archives.internal.DefaultManifestMergeSpec.createManifest(DefaultManifestMergeSpec.java:153)
at org.gradle.api.java.archives.internal.DefaultManifestMergeSpec.merge(DefaultManifestMergeSpec.java:84)
...
Related environment and versions
Gradle 9.1.0 with Shadow plugin 9.2.1
Reproduction steps
Example build.gradle.kts (redacted snippet):
plugins {
alias(libs.plugins.shadow)
}
val shadowPackages: Configuration by configurations.creating
dependencies {
// shadow and relocate foo
shadowPackages(libs.foo) {
artifact { classifier = "jakarta" }
isTransitive = false
}
}
tasks.jar { finalizedBy(tasks.shadowJar) }
tasks.shadowJar {
val shadowPackage = "shadow."
val fooPackage = "org.foo"
archiveClassifier.set("")
configurations = listOf(shadowPackages)
manifest { from(tasks.jar.get().manifest) }
exclude("META-INF/maven/**/*")
filesMatching("**/*.properties") {
filter { line: String ->
if (line.contains(fooPackage)) {
line.replace(fooPackage, shadowPackage + fooPackage)
} else {
line
}
}
}
relocate(fooPackage, shadowPackage + fooPackage)
}
Anything else?
No response
Reactions are currently unavailable