3

OSファミリーをチェックするAntスクリプトがあります

<os family="windows" />

したがって、それは私のアプリケーションを構築しています。Cygwinを使用したいのですが、Cygwin 経由で呼び出すと、Windows ビルドではなく Linux/Unix ビルドが提供されることを期待していました。しかし、どうやらこれは起こっていません。

Cygwin を実行しているときに、どうにかして OS を偽造することはできますか?

環境変数 $OS を Linux に設定しようとしましたが、これは役に立ちませんでした。

助言がありますか?

4

1 に答える 1

2

簡単な解決策は、特定の Linux タスクを次のように独自のターゲットに配置することです。

<target name="linuxbuild" if="islinuxbuild">
...
</target>
<target name="windowsbuild" unless="islinuxbuild">
...
</target>

Linux用のantビルドを次のように開始します。

ant -f yourbuild.xml -Dislinuxbuild=whatever

それ以外は :

ant -f yourbuild.xml

Ant 1.8.x 以降、ターゲットの if/unless 属性は柔軟性を高めるために拡張されています。Ant マニュアルの if/unless attributesを参照してください。

于 2013-04-24T19:00:08.730 に答える