diff --git a/src/docs/changes/README.md b/src/docs/changes/README.md index 435fbf8ff..350aa7ec2 100644 --- a/src/docs/changes/README.md +++ b/src/docs/changes/README.md @@ -3,6 +3,10 @@ ## [Unreleased] +**Added** + +- Exclude `module-info.class` in Multi-Release folders by default. ([#1177](https://github.com/GradleUp/shadow/pull/1177)) + **Fixed** - Fix `Log4j2PluginsCacheFileTransformer` not working for merging `Log4j2Plugins.dat` files. ([#1175](https://github.com/GradleUp/shadow/pull/1175)) diff --git a/src/functionalTest/kotlin/com/github/jengelman/gradle/plugins/shadow/JavaPluginTest.kt b/src/functionalTest/kotlin/com/github/jengelman/gradle/plugins/shadow/JavaPluginTest.kt index 943754bc6..bd012d4b4 100644 --- a/src/functionalTest/kotlin/com/github/jengelman/gradle/plugins/shadow/JavaPluginTest.kt +++ b/src/functionalTest/kotlin/com/github/jengelman/gradle/plugins/shadow/JavaPluginTest.kt @@ -207,6 +207,8 @@ class JavaPluginTest : BasePluginTest() { insert("META-INF/a.DSA", "DSA Signature Block") insert("META-INF/a.RSA", "RSA Signature Block") insert("META-INF/a.properties", "key=value") + insert("META-INF/versions/9/module-info.class", "module myModuleName {}") + insert("META-INF/versions/16/module-info.class", "module myModuleName {}") insert("module-info.class", "module myModuleName {}") } }.publish() @@ -238,6 +240,8 @@ class JavaPluginTest : BasePluginTest() { "META-INF/a.SF", "META-INF/a.DSA", "META-INF/a.RSA", + "META-INF/versions/9/module-info.class", + "META-INF/versions/16/module-info.class", "module-info.class", ) } diff --git a/src/main/kotlin/com/github/jengelman/gradle/plugins/shadow/ShadowJavaPlugin.kt b/src/main/kotlin/com/github/jengelman/gradle/plugins/shadow/ShadowJavaPlugin.kt index ab83f8e66..edcf9d3f3 100644 --- a/src/main/kotlin/com/github/jengelman/gradle/plugins/shadow/ShadowJavaPlugin.kt +++ b/src/main/kotlin/com/github/jengelman/gradle/plugins/shadow/ShadowJavaPlugin.kt @@ -96,6 +96,8 @@ public abstract class ShadowJavaPlugin @Inject constructor( "META-INF/*.SF", "META-INF/*.DSA", "META-INF/*.RSA", + // module-info.class in Multi-Release folders. + "META-INF/versions/**/module-info.class", "module-info.class", ) }