我有一个 Ant 脚本,用于检查OS系列
<os family="windows" />
因此它正在构建我的应用程序。我想使用 Cygwin ,我希望当我通过Cygwin调用它时,它会给我Linux / Unix版本,而不是Windows版本。但显然这种情况并没有发生。
在通过Cygwin运行时我能以某种方式伪造操作系统吗?
我已经尝试将环境变量$ OS设置为Linux,但这没有用。
有什么建议吗?
答案 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,但我的示例仍可使用 任何蚂蚁版本。