私はこの記事を読み、それを使用して次のような最初のAntタスクを作成しましたAutoTestTask
。
public class AutoTestTask extends org.apache.tools.ant.Task {
// ...
}
また、このオブジェクトをコンパイルしてパッケージ化しましauto-test.jar
た。
Antの理解が正しければ、それを別のプロジェクトのビルドの一部として含めるために、次のXMLを使用します。
<project name="SomeProject" basedir="." default="deploy" xmlns:at="antlib:org.me.auto-test">
<!-- Task definitions. -->
<taskdef name="at-autotest" classname="org.me.auto-test.AutoTestTask"/>
<!-- Use the task. -->
<at:autotest/>
</project>
$ {ANT_HOME} / libディレクトリにもコピーする必要があると思います-誰か確認してもらえますか?私を混乱させているのは、XMLの上部にある属性、具体的にはその部分です。これは、「*名前空間で修飾されたものはすべて、ルートパッケージが*の$ {ANT_HOME} / lib内にある」というAnt固有のプロトコルですか?もしそうでなければ、誰かがそれが何を意味するのか説明できますか?auto-test.jar
xmlns:at="antlib:org.me.auto-test"
antlib:<whatever>
at
org.me.auto-test
また、明らかなものが欠けている場合や、設定が間違っている場合は、お知らせください。前もって感謝します!