Форк Rambox
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

58 lines
2.2 KiB

<project name="find-cmd-impl">
<!--
Run "sencha which" to find the Sencha Cmd basedir and get "cmd.dir" setup. We
need to execute the command with curdir set properly for Cmd to pick up that we
are running for an application.
-->
<target name="find-cmd-in-path" unless="cmd.dir">
<exec executable="sencha"
dir="${basedir}"
failifexecutionfails="false"
outputproperty="exec.error">
<arg value="which"/>
<arg value="-p=cmd.dir"/>
<arg value="-o=$cmddir$"/>
</exec>
<!-- Now read the generated properties file and delete it -->
<property file="$cmddir$"/>
<delete file="$cmddir$"/>
</target>
<!--
Run "sencha which" again, similar to the above target, but explicitly check
for the 'SENCHA_CMD' environment variable to have been set, in case sencha
cmd isn't on the current path settings for the user
-->
<target name="find-cmd-in-environment" unless="cmd.dir">
<exec executable="${env.SENCHA_CMD}/sencha"
dir="${basedir}"
failifexecutionfails="false">
<arg value="which"/>
<arg value="-p=cmd.dir"/>
<arg value="-o=$cmddir$"/>
</exec>
<property file="$cmddir$"/>
<delete file="$cmddir$"/>
</target>
<!--
== Mac OSX launchd fix ==
create a child shell process that will source in ~/.bash_profile
and then attempt to call 'sencha which' with the current user's
shell profile settings. sencha which will create a properties file
that can then be loaded into this (the parent) process.
This allows ant integrations in IDE's like netbeans or eclipse to properly
locate Sencha Cmd, even if the IDE was launched via launchd (Finder)
-->
<target name="find-cmd-in-shell" unless="cmd.dir">
<delete quiet="true" file="$cmddir$"/>
<echo file="tmp.sh"> source ~/.bash_profile; sencha which -p cmd.dir -o '$cmddir$'</echo>
<exec executable="/bin/sh"><arg value="tmp.sh"/></exec>
<property file="$cmddir$"/>
<delete file="tmp.sh"/>
<delete file="$cmddir$"/>
</target>
</project>