Ich habe ein Java-gradle Projekt mit dieser Struktur:Warum `gradle`` ant.replace_rexp` in jedem Teilprojekt ausführt?
EarApp
|
\---> WarA/trunk
| |
| |- build.gradle
| ...<src and config>
|
\---> WarB/trunk
| |
| |- build.gradle
| ...<src and config>
|
\---> WarC/trunk
| |
| |- build.gradle
| ...<src and config>
|
|- build.gradle
|- settings.gradle
Mein settings.gradle
ist:
include "WarA"
include "WarB"
include "WarC"
project(":WarA").projectDir = file("WarA/trunk")
project(":WarB").projectDir = file("WarB/trunk")
project(":WarC").projectDir = file("WarC/trunk")
Jeder build.gradle
in Teilprojekte enthält:
import org.tmatesoft.svn.core.wc.*
def getSvnRevision(){
ISVNOptions options = SVNWCUtil.createDefaultOptions(true);
SVNClientManager clientManager = SVNClientManager.newInstance(options);
SVNStatusClient statusClient = clientManager.getStatusClient();
SVNStatus status = statusClient.doStatus(projectDir, false);
SVNRevision revision = status.getRevision();
return revision.getNumber();
}
def replaceTokens() {
ant.replaceregexp(
file: "./src/main/resources/messages/text.properties",
match: "application.revision=(.*)",
replace: "application.revision=rev_" + getSvnRevision(),
byline: "true"
)
}
war {
replaceTokens() // Update rev number
baseName = nome
from('config') {
include 'ibm-web-ext.xml'
into 'WEB-INF'
manifest {
attributes("Application-Name": baseName,
"Implementation-Version": versione + 'rev_' + getSvnRevision())
}
}
}
Bei der Ausführung gradle -p WarA/trunk war
oder gradle WarA:war
die Wara .war ist korrekt gebaut, aber ich erwarte nur die ./src/main/resources/messages/text.properties
von WarA wird aktualisiert von ant.
Stattdessen bekomme ich, dass jedes Unterprojekt die ./src/main/resources/messages/text.properties
Datei aktualisiert bekommen.
Was fehlt mir?
Wenn Sie ein Multi-Projekt-Build haben, dann sollten Sie wahrscheinlich verwenden './gradlew Wara: war' ein Teilprojekt Aufgabe ausgeführt werden soll. –
@OliverCharlesworth: ändert das Ergebnis nicht :-( – sgargel
Was ist die Konsolenausgabe dieses Gradle-Aufrufs? –