Search code examples
windowsbashunixantcygwin

Calling bash script from ant in (linux) and (cygwin on windows)


I have a bash script called bashScript.sh.

I need to start bashScript.sh inside an ant script on windows(cygwin) and unix/linux.

How do i do this?

I have tried this, and a few other solutions, using the environment variable but there is no env.OSTYPE. And using...

    <exec executable="/bin/bash" failonerror="true">
        <arg value="bashScript.sh"/>
    </exec>

...does not work on windows(cygwin), because cygwin fails to find \bin\bash.

Thanks, if you need more information let me know.


Solution

  • You can create two exec tasks with different osfamilys.

    Like this:

    <exec dir="." executable="C:\Path\to\cygwin\bin\bash" osfamily="windows">
        <arg value="bashScript.sh"/>
    </exec>
    <exec dir="." executable="/bin/bash" osfamily="unix">
         <arg value="bashScript.sh"/>
    </exec>