在我的gradle项目中,我具有以下源文件夹结构:
src/main/java
src/main/resources
src/test/java
src/test/resources
src/test/bdd/design/java
src/test/bdd/design/resources
src/test/bdd/interaction/java
src/test/bdd/interaction/resources
但是,当我导入项目时,项目浏览器中只会显示以下软件包:
src/main/java
src/main/resources
src/test/java
src/test/resources
如何使其他程序包默认显示在项目浏览器中?
答案 0 :(得分:1)
这取决于它们的使用方式。如果要与其余测试共享同一JavaCompile任务,则可以向“测试” sourceSet中添加额外的java / resource dirs。
sourceSets.test {
java {
srcDir 'src/test/bdd/design/java'
srcDir 'src/test/bdd/interaction/java'
}
resources {
srcDir 'src/test/bdd/design/resources'
srcDir 'src/test/bdd/interaction/resources'
}
}
如果要使用它们自己的类路径单独进行编译和测试任务,则需要单独的源集。
sourceSets.create('bddDesign')
sourceSets.create('bddInteraction')
sourceSets.bddDesign {
java.srcDir 'src/test/bdd/design/java'
resources.srcDir 'src/test/bdd/design/resources'
}
sourceSets.bddInteraction {
java.srcDir 'src/test/bdd/interaction/java'
resources.srcDir 'src/test/bdd/interaction/resources'
}
对于第二个选项,您可能会为每个源集至少创建一个Configuration,以便每个源集都可以具有独立的类路径
例如
configurations {
bddDesignCompile {
extendsFrom configurations.javaCompile
}
}
sourceSets.bddDesign.java {
compileClasspath = files(configurations.bddDesignCompile, sourceSets.main.output)
}
dependencies {
bddDesignCompile 'com:foo:1.2.3'
}
有关其他灵感,请参见JavaFlavoursExtension.groovy