0

我正在尝试将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 中实现这一点?

4

2 回答 2

0

使用 Gradle 2.12,以下对我有用(这是build.gradle项目 2):

task myBuild(type: Jar) {
    baseName "myjar"
    from project(':Project1').sourceSets.main.output.classesDir, 
         { include "**/*Delegate*.*" } 
}

Jar.from 的文档中,请注意它需要 2 个参数(因此,使用了逗号)。

于 2016-05-05T08:04:18.453 回答
0

谢谢迈克尔

虽然我也得到了答案,但我只是错过了一个括号。正确且有效的代码如下所示:

jar {
    from (project(':Project1').sourceSets.main.output.classesDir) {
        include '**/*Delegate*.class'
    }
}
于 2016-05-05T09:31:08.230 回答