2014-11-25 2 views
1

У меня есть корень проекта с тремя подпроектовКак создать структуру каталогов для подпроектов gradle?

root 
| 
|-subA 
|-subB 
|-subB 

этот файл 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 в настоящий момент пустые

ответ

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() 
    } 
} 
+0

это работает. Почему градир не создает эти каталоги самостоятельно? – mrt181

+0

Грейдл может (ограниченным образом): http://www.gradle.org/docs/current/userguide/build_init_plugin.html – bigguy