mirror of https://github.com/grpc/grpc-java.git
build.gradle: Clear Class-Path from shadowJar manifest
The generated Class-Path is simply wrong and it will actually be attempted to be used at runtime. Fixes #8606
This commit is contained in:
parent
d2b05380de
commit
c1c69829db
18
build.gradle
18
build.gradle
|
|
@ -295,6 +295,24 @@ subprojects {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
plugins.withId("com.github.johnrengelman.shadow") {
|
||||||
|
tasks.named("shadowJar") {
|
||||||
|
// Do a dance to remove Class-Path. This needs to run after the doFirst() from the
|
||||||
|
// shadow plugin that adds Class-Path and before the core jar action. Using doFirst will
|
||||||
|
// have this run before the shadow plugin, and doLast will run after the core jar
|
||||||
|
// action. See #8606.
|
||||||
|
// The shadow plugin adds another doFirst when application is used for setting
|
||||||
|
// Main-Class. Ordering with it doesn't matter.
|
||||||
|
actions.add(plugins.hasPlugin("application") ? 2 : 1, new Action<Task>() {
|
||||||
|
@Override public void execute(Task task) {
|
||||||
|
if (!task.manifest.attributes.remove("Class-Path")) {
|
||||||
|
throw new AssertionError("Did not find Class-Path to remove from manifest")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
plugins.withId("maven-publish") {
|
plugins.withId("maven-publish") {
|
||||||
publishing {
|
publishing {
|
||||||
publications {
|
publications {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue