2015-04-22 54 views
0

我正在開發一個帶有許多ANT樣式項目的代碼庫,其中包含一個根項目和許多子項目。使用默認設置覆蓋Gradle設置

在我們聲明如下設置,以允許搖籃使用ANT結構的根項目的build.gradle文件:

subprojects {  
    sourceSets { 
     main { 
      java.srcDirs = files('src') 
      resources.srcDirs = files('config') 
     } 
     test { 
      java.srcDirs = files('test/unit') 
      resources.srcDirs = files('test/unit') 
     } 
    } 
} 

我想通過一個子項目到Maven的結構轉換一個的只有我能想到這樣做的方式是粘在每個子項目以下的build.gradle:

sourceSets { 
    main { 
     java.srcDirs = files('src/main/java') 
     resources.srcDirs = files('src/main/resources') 
    } 
    test { 
     java.srcDirs = files('src/test/java') 
     resources.srcDirs = files('src/main/resources') 
    } 
} 

這似乎有點大材小用。有沒有更簡單的方法來默認sourceSets回到默認的Maven樣式在單獨的子項目沒有上述?

+1

爲什麼不在所有子項目中指定sourceSets,然後逐個轉換它們,在完成後將其刪除? – fge

+0

@fge這是原始計劃,如果可能的話,在根項目中有一些排除列表會更容易,但是,意味着當我們完成時,我們不必修改每個項目構建文件 – Edd

回答

1

另一種選擇是從該配置中排除已遷移的項目。

configure(subprojects - project(':mavenProject')) { 
    // configure ant source sets 
}