2017-04-17 5 views
0

Ich habe eine kurze Frage, wie ich meine Logik formulieren soll, um benutzerdefinierte Parameter in meiner GRADLE-Build-Datei anzuwenden.Plugin in Gradle anwenden

Ich möchte mein Plugin mit den angegebenen Parametern für jede Datei in einem bestimmten Verzeichnis Speicherort anwenden.

Wie kann ich das erreichen?

AKTUALISIERT 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 

Das Ergebnis, wenn ich laufen $ 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 

Gesamtzeit: 2,299 Sekunden

+0

Sie die Werte wie 'dictFile' jedes Mal rund um die Schleife zu überschreiben, so dass Sie nur mit dem letzten Wert am Ende ... Ist dies Ihr Plugin? Sie müssen es ändern, um mit einer Liste von Einstellungen zu arbeiten –

+0

Oder dynamisch erstellen Sie eine Aufgabe für jede Datei in Ihren Ressourcen –

+0

Ich habe getan, wie Sie @tim_yates ... Aber das Problem, das ich sehe, ist immer noch da – koala421

Antwort

0

Um das Plugin ein, nachdem die anzuwenden anderen musste ich einen `build.finalizedBy (task1, task2) Teil hinzufügen, wie unten gezeigt.

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) 
Verwandte Themen