如何通过Cygwin伪造Ant中的OS系列

时间:2013-04-24 17:32:24

标签: ant cygwin

我有一个 Ant 脚本,用于检查OS系列

<os family="windows" />

因此它正在构建我的应用程序。我想使用 Cygwin ,我希望当我通过Cygwin调用它时,它会给我Linux / Unix版本,而不是Windows版本。但显然这种情况并没有发生。

在通过Cygwin运行时我能以某种方式伪造操作系统吗?

我已经尝试将环境变量$ OS设置为Linux,但这没有用。

有什么建议吗?

1 个答案:

答案 0 :(得分: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 manual if/unless attributes,但我的示例仍可使用 任何蚂蚁版本。