例えば、以下のようなAntのbuild.xmlがあるとする。
このbuild.xmlをGradleにインポートする。具体的には、build.gradleに以下のように記述する。<project basedir="." default="hello"> <target name="hello"> <echo>hello</echo> </target> </project>
これにより、GradleのhelloタスクとしてAntのhelloターゲットを実行することができる。ant.importBuild 'build.xml'
ただし、build.gradleにhelloタスクがすでに存在する場合、タスク名が衝突してしまう。この場合、以下のようなAntのビルドファイル(ファイル名は任意、ここではwrapper.xmlとする)を用意する。
このビルドファイルをbuild.gradleにインポートする。<project default=""> <include file="build.xml" as="antwrapper" /> </project>
これにより、AntのhelloターゲットをGradleのantwrapper.helloタスクとして実行できる。ant.importBuild 'wrapper.xml'
質問させて頂きたいのですが
返信削除build.xml上でプロパティファイル等を設定している場合正常に動かせませんでした。
def antFile = new File("./build.xml")
def project = new Project()
project.init()
ProjectHelper.configureProject(project, antFile);
project.executeTargets(['clean', 'debug'] as Vector)
な記述で回避しましたが、gradleだとどう書けばよいのでしょう?
<使ったのはandroidのbuild.xmlです
えらそーにblog書いてますが、最近gradleを始めたばかりで、実はよくわかってません(汗)。コメントの内容から判断してkimukouさんのほうがgradleにお詳しいかと。
削除androidも門外漢ですが、とりあえずSDKをダウンロードして、android create projectで作成されたbuild.xmlをもとに試したところ:-code-genタスクでエラーになりました。ただ、これがgradleからantを呼ぶことに起因する問題なのかは、判断できませんでした。
簡単にWeb検索した限りでは、gradle-android-pluginというgradle pluginを使ったビルドの例(http://d.hatena.ne.jp/waman/20110303/1299103140) がありましたが、エントリ中にkimukouさんらしきidがあったので、既知の情報かと思います。
ということで、お役に立てず、すみません。