繁体   English   中英

从已编译的源集中过滤类文件,以将其添加到Gradle / Groovy的JAR中

[英]Filter class files from compiled sourcesets to be added in a JAR in Gradle/Groovy

我正在尝试将Project1的已编译.class文件包含到Project2的jar中,因为我的项目结构要求完成该工作。 为此,在Project2build.gradle中,我写道:

jar {
    from project(':Project1').sourceSets.main.output.classesDir
}

哪个成功完成了我必须做的事情。 但是,我现在想过滤一些基于路径和/或某种模式添加的类。 例如,仅包括委托文件,我尝试了以下方法:

jar {
    from project(':Project1').sourceSets.main.output.classesDir {
        include '**/*Delegate*.class'
    }
}

但不幸的是,它不起作用。 有没有办法在Gradle / Groovy中实现这一目标?

使用Gradle 2.12,以下对我build.gradle (这是Project 2的build.gradle ):

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

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

谢谢迈克尔

尽管我也得到了答案,但我只是缺少了一个寄生虫。 正确且有效的代码如下所示:

jar {
    from (project(':Project1').sourceSets.main.output.classesDir) {
        include '**/*Delegate*.class'
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM