Filtering Shadow Jar Contents¶
The final contents of a shadow JAR can be filtered using the exclude
and include
methods inherited from Gradle’s
Jar
task type.
When using exclude
/include
with a ShadowJar
task, the resulting copy specs are applied to the
final JAR contents. This means that, the configuration is applied to the individual files from both the project
source set or any of the dependencies to be merged.
tasks.shadowJar {
exclude("a2.properties")
}
tasks.named('shadowJar', com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar) {
exclude 'a2.properties'
}
Excludes and includes can be combined just like a normal Jar
task, with excludes
taking precedence over
includes
. Additionally, ANT style patterns can be used to match multiple files.
tasks.shadowJar {
include("*.jar")
include("*.properties")
exclude("a2.properties")
}
tasks.named('shadowJar', com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar) {
include '*.jar'
include '*.properties'
exclude 'a2.properties'
}