Skip to content

Instantly share code, notes, and snippets.

@basz
Created March 27, 2012 11:35
Show Gist options
  • Save basz/2215184 to your computer and use it in GitHub Desktop.
Save basz/2215184 to your computer and use it in GitHub Desktop.
Phing, create uniquely named build directory in a tmp directory task
<target name="createbuilddir">
<php expression="substr(md5(microtime(true)), 0, 1)" returnProperty="uniquestamp" />
<property name="build.dir" value="${build.tmp}/phing_build_${uniquestamp}" override="true" />
<echo msg="Testing tmp dir ${build.dir}" />
<if>
<available file="${build.dir}" type="dir" value="Yes"/>
<then>
<phingcall target="createbuilddir">
<property name="build.tmp" value="${build.tmp}" />
</phingcall>
</then>
</if>
<mkdir dir="${build.dir}" />
</target>
<!-- this seems to work while a directory does not exists but errors
BuildPackage > init:
[echo] Initializing properties
BuildPackage > createbuilddir:
[php] Evaluating PHP expression: substr(md5(microtime(true)), 0, 1)
[echo] Testing tmp dir /Users/bas/Documents/Projects/Lumasol/store.lumasol.nl/src/application/../data/tmp/phing_build_e
[phingcall] Calling Buildfile '/Users/bas/Documents/Projects/Lumasol/store.lumasol.nl/src/data/phing-build-files/buildPackage.xml' with target 'createbuilddir'
[phingcall] phing task calling its own parent target
[if] Error in IfTask
Execution of target "createbuilddir" failed for the following reason: /Users/bas/Documents/Projects/Lumasol/store.lumasol.nl/src/data/phing-build-files/buildPackage.xml:60:12: /Users/bas/Documents/Projects/Lumasol/store.lumasol.nl/src/data/phing-build-files/buildPackage.xml:63:34: Execution of the target buildfile failed. Aborting.
BUILD FAILED
/Users/bas/Documents/Projects/Lumasol/store.lumasol.nl/src/data/phing-build-files/buildPackage.xml:60:12: /Users/bas/Documents/Projects/Lumasol/store.lumasol.nl/src/data/phing-build-files/buildPackage.xml:63:34: Execution of the target buildfile failed. Aborting.
Total time: 0.0741 seconds
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment