我试图将 Project1 中已编译的 .class 文件包含到 Project2 的jar中,因为我的项目结构需要它要完成。为此,我在 Project2 的 build.gradle 中写道:
jar {
from project(':Project1').sourceSets.main.output.classesDir
}
成功完成了我必须做的事情。 但是,我现在想要过滤一些基于路径和/或某种模式添加的类。例如,要仅包含委托文件,我尝试了这个:
jar {
from project(':Project1').sourceSets.main.output.classesDir {
include '**/*Delegate*.class'
}
}
但不幸的是它不起作用。有没有办法在Gradle / Groovy中实现这个目标?
答案 0 :(得分:0)
使用Gradle 2.12,以下适用于我(项目2的build.gradle
):
task myBuild(type: Jar) {
baseName "myjar"
from project(':Project1').sourceSets.main.output.classesDir,
{ include "**/*Delegate*.*" }
}
从the doc for Jar.from开始,请注意它需要2个参数(因此,使用逗号)。
答案 1 :(得分:0)
感谢Michael
虽然我也得到了答案,但我只是错过了一个parantheses。正确和有效的代码如下:
jar {
from (project(':Project1').sourceSets.main.output.classesDir) {
include '**/*Delegate*.class'
}
}