使用gradle构建Java时跳过部分源代码树
假设我有一个Java项目,我想用gradle构建,但我想gradle跳过源代码树的某些包/部分 如果源树具有非标准布局,我可以通过以下方式指定:使用gradle构建Java时跳过部分源代码树,java,gradle,Java,Gradle,假设我有一个Java项目,我想用gradle构建,但我想gradle跳过源代码树的某些包/部分 如果源树具有非标准布局,我可以通过以下方式指定: sourceSets { main { java { srcDirs = ['src'] } resources { srcDirs = ['src'] } } } 有没有办法告诉gradle忽略src/org/exampl
sourceSets {
main {
java {
srcDirs = ['src']
}
resources {
srcDirs = ['src']
}
}
}
有没有办法告诉gradle忽略
src/org/example/foo/barproject/ui
中的所有内容,但构建其余部分?如果是,如何解决?以下是我的解决方案:
apply plugin: 'java'
sourceSets {
main {
java {
srcDir = ['src']
exclude "main/*"
exclude "hello/*"
exclude "test/*"
}
}
}
我的文件夹布局:
$ ls -R src
Library.java hello main test
src/hello:
Application.java HelloController.java
src/main:
java
src/main/java:
Library.java hello
src/main/java/hello:
Application.java HelloController.java
src/test:
java
src/test/java:
LibraryTest.java
输出:
$ ./gradlew clean build -x test
Creating properties on demand (a.k.a. dynamic properties) has been deprecated and is scheduled to be removed in Gradle 2.0. Please read http://gradle.org/docs/current/dsl/org.gradle.api.plugins.ExtraPropertiesExtension.html for information on the replacement for dynamic properties.
Deprecated dynamic property: "srcDir" on "source set 'main'", value: "[src]".
:clean
:compileJava
:processResources UP-TO-DATE
:classes
:jar
:assemble
:check
:build
BUILD SUCCESSFUL
Total time: 2.935 secs
让我知道这是否有效
src/org/example/foo/barproject/ui
或src/main/org/example/foo/barproject/ui
?@chenrui前者,如非标准srcDirs
所示,我假设这是1.10级,对吗?@chenrui正确;-)谢谢,这个成功了。不幸的是,在尝试之后,我还需要排除分散在整个代码库中的其他类,因此,尽管这符合我的预期,但我必须尝试一种不同的方法。