2012-03-07 10 views
1

私はAntの代替品を研究しています。私はGantGradleを見ました。AntからGradleタスクを起動できますか?

AntからGradleタスクを開始することはできますか?これはGantのtaskdefで可能です。

<taskdef 
    name   = "gant" 
    classname = "org.codehaus.gant.ant.Gant" 
    classpathref = "classpath" 
    /> 

<gant /> 

何か類似のGradleがありますか?私はAntからGradleへの移行を熱望していますが、私たちは大きなAntインフラストラクチャを持ち、作成したGradleビルドスクリプトはAntから呼び出し可能にする必要があります。

ありがとうございます!

答えて

2

GradleはAntからGradleビルドを実行するAntタスクを提供しません。 AntからGradleコマンド(gradle buildなど)を呼び出すことができます。

Antの統合に関して、Gradleには、AntビルドのインポートとAntタスクの再利用という2つの機能があります。

GradleはGantと大きく異なります。 Gradleは新しいビルドシステム全体です。ガントは、Antの上の薄い層です。

+0

を使用した例...

<!-- Gradle path stuff --> <property environment="env" /> <condition property="gradle.executable" value="${env.GRADLE_HOME}/bin/gradle.bat" else="${env.GRADLE_HOME}/bin/gradle"> <os family="windows" /> </condition> <!-- Macro def, gives us an ant 'gradle' task--> <macrodef name="gradle"> <attribute name="task" /> <sequential> <exec executable="${gradle.executable}" dir="." failonerror="true"> <arg value="@{task}" /> </exec> </sequential> </macrodef> 

例があるが、情報をありがとうございました。 Gantは完璧ですが、動的なタスク/ターゲットの作成はできません(ガントファイル形式では不可能です)。だから私は必要以上に多くの機能を持っているが、動的なタスクをサポートしているが、Antから呼び出されていないGradleに目を向ける。しかたがない。 :) – mwcz

2

ビルド技術を切り替える代わりに、ivygroovyの組み合わせを使用して、既存のAntビルドの機能を拡張してみましょう。私はあなたのような私が一緒に暮らすと

:-)大ANTレガシーをサポートする必要が、しかし、のGradleの大ファンだところで

Parse HTML using with an Ant Script

例は以下の投稿です

+1

+1 ...あまりにも多くの人々が住んでいて、大きなANT遺産をサポートしています。スクリプトを使って拡張すると、中間のパスが得られます。 – Jayan

1

実際に私はshファイルを呼び出すことで実装されているshファイルを呼び出すことで実装されていましたが、shは灰色を呼び出していましたが、ブッシュの周りにあまりにも多くのコードがありました。この願いを願って助けてください..

<property environment="env" /> 
<property name="gradle.wrapper.executable" location="${env.GRADLE_HOME}/bin/gradle" /> 
<target name="dependencies-report" description="Creates a text file report of the depdency tree"> 
<exec executable="${gradle.wrapper.executable}" dir="."> 
    <arg value="dependencyReport" /> 
</exec> 
</target> 
3

gradleのマクロ定義を作成します。他のタスクと同じように呼び出します。ここでは、セットアップと残念だマクロデフ

<!-- Example, call grade with new macro --> 
<target name="example"> 
    <gradle task="build" /> 
</target> 
関連する問題