Hi all - I'm trying to use Ant to help automate a software install/update process: a ZIP download and unpack, remove empty directories, create symlinks in their place, and then apply some simple regex/replace tasks. I have the process worked out on a FreeBSD machine, but as soon as I move the build.xml to a Linux system, things fail when I try to create the symlinks.
I've been working with the assumption that I may be either updating an existing install (ie I have symlinks) or I am installing fresh (ie I have empty directories), so the tasks are... uh, probably unnecessarily verbose (suggestions for improvements welcome). The error on linux comes in when the `symlink` task is called: I get the following BUILD FAILED error: 'Deletion of file at /home/bridger/bin/basex/data failed, while trying to overwrite it with a symlink.' Any suggestions about what to do to fix this and make it more robust? Thanks in advance for your time and help. Best, Bridger <target name="rm-dirs"> <if> <available file="${basex-home}/data" type="dir"/> <then> <echo>*** ${basex-home}/data symlink available ***</echo> <delete removenotfollowedsymlinks="true" failonerror="false"> <fileset followsymlinks="false" dir="${basex-home}/data"/> </delete> </then> </if> <if> <available file="${basex-home}/repo" type="dir"/> <then> <echo>*** ${basex-home}/repo symlink available ***</echo> <delete removenotfollowedsymlinks="true" failonerror="false"> <fileset followsymlinks="false" dir="${basex-home}/repo"/> </delete> </then> </if> <if> <available file="${basex-home}/src" type="dir"/> <then> <echo>*** ${basex-home}/repo symlink available ***</echo> <delete removenotfollowedsymlinks="true" failonerror="false"> <fileset followsymlinks="false" dir="${basex-home}/src "/> </delete> </then> </if> <if> <available file="${basex-home}/data" type="dir"/> <then> <delete failonerror="false"><fileset dir="${basex-home}/data"/></delete> </then> </if> <if> <available file="${basex-home}/repo" type="dir"/> <then> <delete failonerror="false"><fileset dir="${basex-home}/repo"/></delete> </then> </if> <if> <available file="${basex-home}/src" type="dir"/> <then> <delete failonerror="false"><fileset dir="${basex-home}/src"/></delete> </then> </if> </target> <target name="symlink-dirs" depends="rm-dirs"> <echo>*** creating symlinks for `data`, `repo`, and `src` directories ***</echo> <symlink overwrite="true" link="${basex-home}/data" resource="${bin}/basex-data"/> <symlink overwrite="true" link="${basex-home}/repo" resource="${bin}/basex-repo"/> <symlink overwrite="true" link="${basex-home}/src" resource="${bin}/basex-src"/> </target>