2017-04-17 59 views
0

我有一個關於如何制定我的邏輯以在我的gradle構建文件中應用自定義參數的快速問題。在gradle中應用插件

我想將我的插件與給定參數一起應用於指定目錄位置中的每個文件。

我該怎麼做到這一點?

修訂 的build.gradle:

apply plugin: 'quick.plugin' 



task applyPluginXMLOne(type: com.nav.QuickFixTask){ 
     quickfixPlugin.dictFile = file("${projectDir}/src/main/resources/custom.xml") 
     quickfixPlugin.decimal = true 
     quickfixPlugin.outputDirectory = file("${buildDir}/generated/") 
     quickfixPlugin.schemaDirectory = file("${projectDir}/src/main/resources/quickfix/generated") 
    } 

task applyPluginXMLTwo(type: com.nav.QuickFixTask){ 
     quickfixPlugin.dictFile = file("${projectDir}/src/main/resources/custom2.xml") 
     quickfixPlugin.decimal = true 
     quickfixPlugin.outputDirectory = file("${buildDir}/generated/") 
     quickfixPlugin.schemaDirectory = file("${projectDir}/src/main/resources/quickfix/codegen") 
    } 
applyPluginXMLTwo.mustRunAfter applyPluginXMLOne 

當我運行結果$ gradle applyPluginXMLOne applyPluginXMLTwo

This is my output dictFile C:\dev\src\main\resources\custom2.xml 
This is my output outputDirectory C:\dev\build\generated 
This is my output orderedFields false 
This is my output decimal true 
:applyPluginXMLTwo 

This is my output dictFile C:\dev\src\main\resources\custom2.xml 
This is my output outputDirectory C:\dev\build\generated 
This is my output orderedFields false 
This is my output decimal true 

BUILD SUCCESSFUL 

總時間:2.299秒

+0

你改寫值'dictFile'每輪循環,例如,所以你只結束了最後一個值...這是你的插件?您需要將其更改爲與設置列表配合使用 –

+0

或者爲資源中的每個文件動態創建任務 –

+0

我按照您所說的完成了@tim_yates ...但是我看到的問題仍然存在 – koala421

回答

0

爲了之後的應用插件一個其他我需要添加一個`build.finalizedBy(task1,task2)部分,如下所示。

的build.gradle:

apply plugin: 'quick.plugin' 



task applyPluginXMLOne(type: com.nav.QuickFixTask){ 
     quickfixPlugin.dictFile = file("${projectDir}/src/main/resources/custom.xml") 
     quickfixPlugin.decimal = true 
     quickfixPlugin.outputDirectory = file("${buildDir}/generated/") 
     quickfixPlugin.schemaDirectory = file("${projectDir}/src/main/resources/quickfix/generated") 
    } 

task applyPluginXMLOne(type: com.nav.QuickFixTask){ 
     quickfixPlugin.dictFile = file("${projectDir}/src/main/resources/custom2.xml") 
     quickfixPlugin.decimal = true 
     quickfixPlugin.outputDirectory = file("${buildDir}/generated/") 
     quickfixPlugin.schemaDirectory = file("${projectDir}/src/main/resources/quickfix/codegen") 
    } 
build.finalizedBy(applyPluginXMLOne,applyPluginXMLOne) 
相關問題