У меня возникли некоторые проблемы с моей автоматической системой сборки, использующей ant и Cygwin.
Сценарий ant на ПК1 использует задачу «sshexec» для выполнения сценариев, отвечающих за сборку на ПК 2.
ПК1 работает на win7
PC2 работает под управлением WinXP и использует Cygwin 1.7.9 только для службы ssh.
Когда PC2 выполняет сценарий python из оболочки bash как часть процесса сборки, я получаю следующий вывод (я ожидаю, что только последняя строка будет отображена как эхо).
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
Я установил пользовательские и системные переменные CYGWIN = nodosfilewarning в Windows на ПК1 и ПК2, однако предупреждение сохраняется.
Я не могу использовать пути POSIX, так как сценарии также должны работать в чистой среде Windows. Просмотр вывода свойства $ {os} не помогает, так как он возвращает информацию о окнах из JVM и, по-видимому, помогает мне различать среды Cygwin / Windows.
Есть ли другой способ убедиться, что в среде Cygwin ssh установлена переменная "CYGWIN = nodosfilewarning"? Я открыт для других идей для решения этой проблемы (муравей, другой ssh и т. Д.), Хотя я бы предпочел, чтобы Cygwin не выдавал предупреждение.