如何为gradle subProjects创建目录结构?

时间:2014-11-25 14:40:25

标签: eclipse gradle directory structure project

我有一个包含三个子项目的根项目

root
|
|-subA
|-subB
|-subB

root中的build.gradle文件具有此内容

allprojects {
}

subprojects {
    apply plugin: 'java'
    apply plugin: 'eclipse'
    sourceCompatibility = 1.8
    targetCompatibility = 1.8
    repositories {
        mavenCentral()
    }
    dependencies {
        compile 'org.zeromq:jeromq:0.3.+'
        compile files('../lib/tibrvj.jar')
    }
    eclipse {
        classpath {
            downloadJavadoc=true
        }
    }
    sourceSets {
        main.java.srcDirs = ['src/main/java']
        main.resources.srcDirs = ['src/main/resources']
        test.java.srcDirs = ['src/test/java']
        test.resources.srcDirs = ['src/test/resources']
    }
}

task wrapper(type: Wrapper) {
  gradleVersion = '2.2'
}

task srcDirs << { 
    subprojects.sourceSets.main.java.srcDirs.each{f -> println(f)}
    subprojects.sourceSets.main.resources.srcDirs.each{f -> println(f)}
    subprojects.sourceSets.test.java.srcDirs.each{f -> println(f)}
    subprojects.sourceSets.test.resources.srcDirs.each{f -> println(f)}
}

我不知道如何使用此配置创建所有目录。目前其他gradle.build文件为空

1 个答案:

答案 0 :(得分:2)

除非您尝试更改默认值,否则不需要在子项目中设置sourceSets目录。

你有没有试过像:

subprojects { 
  task makeSrcDirs << {
     sourceSets.main.java.srcDirs*.mkdirs()
     sourceSets.main.resources.srcDirs*.mkdirs()
     sourceSets.test.java.srcDirs*.mkdirs()
     sourceSets.test.resources.srcDirs*.mkdirs()
  }
}