2017-12-11 1 views
0

Ich bin migriert von Maven nach Gradle 4.4. Es gab mehrere Maven Profile mit solchen Sektionen:Wie String-Vorlage zu ersetzen (Gradle)

<properties> 
    <module.suffix>-14</module.suffix> 
    <wildfly.hostname>10.***.***.14</wildfly.hostname> 
</properties> 

Es gibt eine Menge von ${module.suffix} in mehreren Ressourcendateien wie .xml, .properties und etc. Ich war in der Lage mvn wildfly:deploy -Pdeploy-14 zu laufen und habe meine war mit richtigen Suffixe in allen Einsatz Dateien. Das Problem ist: Wie mache ich das gleiche in Gradle? Ich bin neu bei Gradle, aber ich glaube, es ist ein modernes leistungsfähiges Werkzeug, es muss in der Lage sein, dies mit Leichtigkeit zu tun. Hilfe, bitte.

P.S. Der nächste Schritt meiner Migration wird das Einrichten des Gradle Wildfly Plugins sein. Ich habe es noch nicht versucht, also wenn Sie irgendwelche nützliche Ratschläge haben, bitte begrüßen.

Gradle task replace string in .java file hat nicht geholfen (Ich habe alle Antworten versucht, aber nicht sicher, dass ich es richtig gemacht habe).

UPD. Wenn ich versuche, auf dieses

processResources { 
    def params = [moduleSuffix: 'moduleSuffix'] 
    from 'src/template/resources', { 
     expand params 
    } 
} 

das expand Wort unterstrichen ist und IDEA sagt „Cant Entschlossenheit Symbol‚erweitern‘“

+0

Danke Leute, ich werde beides versuchen und dann einen Kommentar schreiben. –

Antwort

0

ich bin nicht sicher, was das Wildfly Plugin so weit wie Substitution behandelt, aber im Allgemeinen kann die Copy task type die meisten Substitutionen über die expand method handhaben. Die Standard processResources Aufgabe aus der Java-Plugin ist diese Art so Werte in Ressourcen ersetzen kann wie so durch Modifizieren die Aufgabe durchgeführt wird (einfaches Beispiel):

processResources { 
    expand project.properties 
} 
0

Wenn es nach mir ginge, würde ich vermeiden extra „Arbeit“ indem Sie diese "Vorlagen" -Ressourcen in src/template/resources setzen. Auf diese Weise müssten die meisten Ressourcen nicht geparst werden, um die ${...} Platzhalter zu finden. Dann, wie @ChrisArnold vorschlägt, könnten Sie die expand(Map) Methode auf der processResources Aufgabe verwenden.

+0

Ich mache etwas falsch. Nachdem ich diese Aufgabe geändert habe und Clean Build ausgeführt habe, sehe ich ': processResources UP-TO-DATE 1ms'. Und keine Ressourcen-Dateien erscheinen im Build-Verzeichnis oder in der WAR-Datei. –

Verwandte Themen