ANTで単一のターゲットを実行する方法はわかっていますが、 "depends"属性もチェックしてターゲットの前に実行します。これを防ぐ方法やANTファイルを構造化する方法がありますので、これをもっと簡単に行うことができますか?ANT - 依存関係のない単一のターゲットを実行
答えて
ターゲットの "withoutdeps"バージョンを作成します。あなたは
<target name="A" depends="B,AwithoutDeps"/>
<target name="AwithoutDeps">
...
</target>
へ
<target name="A" depends="B">
...
</target>
の変更があった場合は今、あなたは(そしてAwithoutDeps Bをオフに解雇されます)通常通りAを呼び出すことができますまたは単に明示的AwithoutDepsを呼び出し、何DEPSは解雇しません。これらより、いくつかの優れた名を選択し、もちろん
[順序で依存関係を「依存」と呼ぶことに注意してください];)
あなたの唯一の単純な選択は、問題のターゲットのコピーを作成し、依存関係を持たないようにすることだと思います。
私はちょうど依存する属性を削除しています(これはほぼ同じことです)が、おそらくもっと洗練された解決方法があると思います。 – GreenieMeanie
これをantコマンドラインのオプションにするとよいでしょう。 – user959690
が、私はこのような何かをするだろう:
<target name="doSomethingNoDeps">
...
</target>
<target name="doSomething" depends="doSomeOther">
<antcall target="doSomethingNoDeps"/>
</target>
一つの可能性を使用することです依存対象の属性はif
またはunless
です。たとえば:
<target name="dependency1" unless="dependency1.disabled">
<echo>Hello from dependency 1!</echo>
</target>
<target name="dependency2" unless="dependency2.disabled">
<echo>Hello from dependency 2!</echo>
</target>
<target name="main-target" depends="dependency1, dependency2">
<echo>Hello from the main target!</echo>
</target>
は、今あなたがしたくない依存関係を除外する-Ddependency1.disabled=true
および/または-Ddependency2.disabled=true
でのAntを実行することができますが、デフォルトではまだそれらを含めることになります。
もちろん、それが簡単な場合は、「グローバル」dependencies.disabled
プロパティを設定することもできます。あなたが(依存関係がデフォルトで除外されている)、この動作の逆を行いたい場合は
、ちょうどif
代わりunless
のを使用(し、代わりに「無効」の「dependency1.enabled」のようなプロパティ名を持っています) 。
私はコードの一部でマクロを作りました。 その後、2つのターゲットを作成し、1つは "arg1"、2番目は "arg2"でマクロを呼び出します。 パラメータを設定せずにマクロを作成することもできます。
答えは問題を解決する方法を示す必要があります。あなたがしたことを示してください。 –
- 1. Antターゲットの依存関係ツリービューア
- 2. Antビルドスクリプト、antcall、依存関係など
- 3. ANTスクリプトの依存関係の問題
- 4. 依存関係にかかわらず最終的なantターゲットを強制的に実行する方法
- 5. Maven-Ant依存関係の問題
- 6. %と*一緒に依存関係の行
- 7. 依存関係を持つAntスクリプト
- 8. ターゲット依存関係ビルドオーダーを指定
- 9. 依存関係のプロパティ依存関係
- 10. 依存関係の依存関係
- 11. シンプルなApache Ant質問:ライブラリの依存関係を含める
- 12. 異なるスコープの依存関係内のMaven依存関係
- 13. CMake:兄弟ターゲット依存関係間で実行順序を強制する
- 14. Gradle依存関係とGradle依存関係のEclipseの違い
- 15. sbt 0.10での依存関係の収集(すべての依存関係jarをターゲット/ scala-version/lib /に置く)
- 16. ターゲットの依存関係が実行される前にAntターゲットの状態をチェックする方法がありますか?
- 17. Antのアイビーの依存関係の解決
- 18. 依存関係のlibを持つAntビルドAndroidプロジェクト
- 19. 同じワークスペース内の2つのプロジェクト間のターゲット依存関係
- 20. Xcode SDKの切り替え後のターゲット依存関係のエラー
- 21. 複数の依存関係を持つMakefileターゲット
- 22. プレイブックの依存関係と役割の依存関係
- 23. 依存関係
- 24. ターゲット/依存関係としてのWin32パス
- 25. メイクファイルとそれらのターゲットと依存関係
- 26. ビルのAndroidプロジェクト - dexerは、単純なXMLの依存関係
- 27. 単純なWindowsフォームゲームのクラス間の依存関係
- 28. 実行時の依存関係の決定
- 29. 実行時の依存関係としてのSpringコンテキスト
- 30. Maven、Ant、依存関係の解決、別のプロジェクトでターゲットを呼び出す方法
私のソリューションに非常によく似ています - 違いは単なるスタイルの問題だと思います。これはantの依存性機能を利用しています。私のソリューションは "カプセル化"機能を利用しています。 – Jared
ありがとう!これは、コピーして貼り付けるよりもきれいです。 – GreenieMeanie
@Jared - 私もantcallについて考えましたが、それはプロパティのコピーなどを設定するので、より高価なAFAIKです。しかし、それは大したことではありません... –