(这是使用gradle 2.4)如何让gradle的构建任务生成“常规”jar的阴影jar _instead_?
对于我的一个项目,拆分成几个子模块,我使用shadow plugin这非常适合我的需求;它有一个main,并且按照插件的README建议,我使用应用程序插件与它结合,以便在清单中生成Main-Class,所有工作都很好。
现在,这是一个SonarQube插件项目,我也使用(成功!)gradle sonar packagin plugin。而这个插件的功能是当你使用./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?
最好使用'assemble.dependsOn(shadowJar);'这样你的测试也可以使用shadowJar。请参阅构建管道图片:https://docs.gradle.org/current/userguide/java_plugin.html – Zasz