Möglicherweise möchten Sie das Ziel von Ants build.xml in Gradle ausführen, z. B. wenn Sie bereits Ant-Assets in einem Projekt haben, das Java verwendet.
Ich habe herausgefunden, wie das geht, also werde ich es mit einer Notiz formulieren.
Verwenden Sie zum Importieren die Methode ant.importBuild ().
▼ Bereiten Sie ein Ziel für das Echo in build.xml vor
build.xml
<?xml version="1.0" encoding="utf-8" ?>
<project name="antsample" default="target01">
<target name="target01">
<echo message="message01" />
</target>
</project>
▼ Importieren, damit build.xml auf der build.gradle-Seite verwendet werden kann
build.gradle
ant.importBuild 'build.xml'
▼ Das in build.xml definierte Ziel kann verwendet werden.
$ gradle tasks --all
~ Abkürzung ~
Other tasks
-----------
prepareKotlinBuildScriptModel
target01
$ gradle target01
> Task :target01
[ant:echo] message01
BUILD SUCCESSFUL in 846ms
1 actionable task: 1 executed
Beachten Sie, dass ein Fehler auftritt, wenn der in Gradle angegebene Aufgabenname mit dem Ziel in build.xml dupliziert wird. Daher scheint es gut zu sein, das Ziel von ant mit ant. [Zielname] ausführen zu können, wie unten gezeigt.
build.gradle
ant.importBuild('build.xml') {
antTaskName -> "ant.${antTaskName}".toString()
}
$ gradle tasks --all
~ Abkürzung ~
Other tasks
-----------
ant.build
prepareKotlinBuildScriptModel
Sie können ein Argument mit -D angeben, wenn Sie Ant ausführen, aber Sie können dasselbe mit Gradle tun.
▼ Definieren Sie die Eigenschaft auf der Seite build.xml
build.xml
<?xml version="1.0" encoding="utf-8" ?>
<project name="antsample" default="target01">
<property name="message" value="default message"/>
<target name="target01">
<echo message="${message}" />
</target>
</project>
▼ Die Gradle-Seite muss nur build.xml importieren
build.gradle
ant.importBuild 'build.xml'
▼ Ich konnte eine Nachricht und ein Echo angeben
$ gradle target01 -Dmessage='message param'
> Task :target01
[ant:echo] message param
BUILD SUCCESSFUL in 726ms
1 actionable task: 1 executed
Ich musste Ant mit den Argumenten nur von Gradle abbringen, aber ich hatte große Probleme. Zuerst habe ich ant.properties auf der gradle.build-Seite verwendet, um Argumente zu übergeben, aber ich konnte das Ziel direkt von der Befehlszeile mit "-D" ausführen, ohne es zu verwenden, so dass es ziemlich erfrischend war.
Gradle und Groovy sind interessant zu berühren, also werde ich posten, wenn ich wieder gelernt habe.
Gradle User Guide Gradle (build.gradle) Einführung in das Lesen und Schreiben
Danke für Ihre Kooperation.
Recommended Posts