我有一个用于检查操作系统系列的 Ant 脚本
<os family="windows" />
因此,它正在构建我的应用程序。我想使用 Cygwin,我希望当我通过 Cygwin 调用它时,它会给我 Linux/Unix 版本,而不是 Windows 版本。但显然这并没有发生。
通过 Cygwin 运行时,我是否能够以某种方式伪造操作系统?
我已经尝试将环境变量 $OS 设置为 Linux,但这没有帮助。
有什么建议?
最佳答案
一个简单的解决方案是将您的特定 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 ,但我的例子仍然适用
任何 Ant 版本。
关于ant - 如何通过 Cygwin 在 Ant 中伪造 OS 系列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16198552/