Gradle:在子项目中排除文件创建jar

时间:2015-10-08 11:44:52

标签: java ant gradle migration

我有一个多模块项目。结构如下。

root-project
------------
├── project-A
│   └── src
│       └── main
│           └── resources
│               └── myFile.xml
├── project-B
│   └── src
│       └── main
│           └── resources
│               └── myFile.xml
└── project-shared
    └── src
        └── main
            └── resources
                └── myFile.xml

(':project-A')取决于(':project-shared')和(':project-B')
我的问题是我建立(':project-A')

我在myFile.xml中有一个filtertocken(替换版本号)。所以我需要在project-A下的myFile.xml在project-A.jar文件中。但不幸的是,project-A.jar包含来自project-shared的myFile.xml。我尝试从project-shared中删除myFile.xml,然后在构建项目A时,project-A jar包含来自project-B的myFile.xml。

每当我构建它时,我都需要在project-A.jar中使用myFile.xml文件。 有什么办法吗?

代码如下:

processResources() {
    java.lang.String version        = project.version
    filter(ReplaceTokens, tokens: ['VERSION': version])
}

dependencies { 
compile project(':project-shared')
compile project(':project-B')
...
...
}

//Tried different ideas..
tasks['compileJava'].dependsOn      += [processResources]
tasks['installHost'].dependsOn      += [processResources]
tasks['jar'].dependsOn              += [processResources]

在构建项目A时是否有任何方法可以排除以下文件?
1. project-B / src / main / resources / myFile.xml
2. project-shared / src / main / resources / myFile.xml
或者只保留项目-A / src / main / resources / myFile.xml始终在project-A.jar中

0 个答案:

没有答案