我在使用ant和Cygwin的自动构建系统时遇到了一些问题。
PC1上的ant脚本使用“sshexec”任务来执行负责在PC2上构建的脚本。
PC1正在运行win7 PC2正在运行winXP并使用Cygwin 1.7.9,仅用于ssh服务。
当PC2作为构建过程的一部分从bash shell执行python脚本时,我得到以下输出(我希望只有最后一行被回显)。
build.integrity.calc:
[echo] Calculating CRC using
[echo] c:\projects\XXX\misc\tools/crcCalc/src/calc16bitCrc.py
[echo] CODE CRC = cygwin warning:
[echo] MS-DOS style path detected: c:\projects\XXX\misc\tools/crcCalc/src/calc16bitCrc.py
[echo] Preferred POSIX equivalent is: /cygdrive/c/projects/XXX/misc/tools/crcCalc/src/calc16bitCrc.py
[echo] CYGWIN environment variable option "nodosfilewarning" turns off this warning.
[echo] Consult the user's guide for more details about POSIX paths:
[echo] http://cygwin.com/cygwin-ug-net/using.html#using-pathnames
[echo] 0x66c8
我在PC1和PC2的Windows中设置了用户和系统变量CYGWIN = nodosfilewarning,但警告仍然存在。
我无法使用POSIX路径,因为脚本也需要在纯Windows环境中运行。查看$ {os}属性的输出没有帮助,因为它从JVM返回windows信息,并且似乎可以帮助我区分Cygwin / Windows环境。
是否有另一种方法可以确保Cygwin ssh环境中设置了“CYGWIN = nodosfilewarning”变量?我对其他想法(蚂蚁,不同的ssh等)持开放态度,但我更愿意让Cygwin不发出警告。
答案 0 :(得分:0)
对于将来遇到Cygwin的nodosfilewarning问题的人来说,这不是一个非常有用的答案。但它确实说明了我在多台计算机上分发ant构建任务的问题的根源。
我遇到的解决方案是用ant-contrib库中的ant-server任务替换Cygwin ssh。 http://ant-contrib.sourceforge.net/tasks/tasks/server_tasks.html