如何让 gradle 的构建任务生成“常规”jar 的影子 jar ?
2022-09-04 03:20:50
(这是使用 gradle 2.4)
对于我的一个项目,分成几个子模块,我使用阴影插件,它非常适合我的需求;它有一个main,并且按照插件的README的建议,我使用应用程序插件与它结合,以便在清单中生成Main-Class,一切都运行良好。
现在,这是一个SonarQube插件项目,我也使用(成功!)gradle sonar packagin插件。这个插件的作用是,当你,生成声纳插件而不是“常规”jar。./gradlew build
我希望在这里为我的子项目做同样的事情,除了我希望它只生成影子罐插件而不是“常规”插件......现在我使用这个简单的文件生成两者:
buildscript {
repositories {
jcenter();
}
dependencies {
classpath(group: "com.github.jengelman.gradle.plugins",
name:"shadow", version:"1.2.1");
}
}
apply(plugin: "application");
apply(plugin: "com.github.johnrengelman.shadow");
dependencies {
// whatever
}
mainClassName = //whatever
artifacts {
shadowJar;
}
// Here is the hack...
build.dependsOn(shadowJar);
如何修改此文件,以便仅生成影子 jar 而不是常规 jar?