2014-06-23 83 views
1

我想從一個子目錄調用一個gradle任務,使用不同的builg.gradle文件。 我有以下任務:我可以在GradleBuild任務中同時使用dir和buildFile嗎?

task(subTask, type: GradleBuild) { 
    dir = new File(project.projectDir, "db/" + project.dbName) 
    buildFile = new File(project.projectDir, "build.gradle.subdir") 
    tasks = [params,...] 
    startParameter.projectProperties = [env: project.env] 
} 

我既可以通過「目錄」或「構建文件」,但是當我通過這兩個,那麼PROJECTDIR將是目錄,其中通過「構建文件」所在,而不是一個我作爲'dir'傳遞,我希望它們位於2個不同的目錄中,如上面的任務所示。任何想法如何做到這一點?

更新: 所以我有以下文件:

的build.gradle build.gradle.subdir DB/DBA/ DB/DBA/gradle.properties DB/DBB/ DB/DBB/gradle.properties

因爲一些歷史的東西目前我們做到以下幾點: CP build.gradle.subdir DB/DBA /的build.gradle CD分貝/分貝 ../gradlew任務...

我需要爲每個子目錄下db

所以我認爲我可能至少進一步做了1步(儘管仍然很難),並且不需要外部shell腳本來完成循環目錄和副本cd。

我差不多有: 我能夠手動複製build.gradle.subdir,然後上面的任務(不通過構建文件)的作品 OR 我可以通過構建文件,而不是目錄,在這種情況下,開始運行任務,但它不讀取執行該任務所需的db/dirA/gradle.properties。

+0

你想用這個完成什麼?項目目錄始終是包含構建腳本的目錄。這不能改變。 –

+0

@PeterNiederwieser我更新了更多細節的問題 – Gavriel

回答

0

項目目錄必須與包含構建腳本和gradle.properties文件的目錄位於同一目錄。您必須爲您的問題找到不同的解決方案。

相關問題