2017-04-17 75 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)