For ease of access, I have a couple of config files in the parent of a series of project folders. When building the projects, they need copying into one of the projects source folders until after the build is finished, whereupon I'd like them to be deleted. At the moment, I have this:
<target name="build-java">
<copy file="config.properties" todir="project/src" />
<!-- Build other projects -->
<delete file="project/src/config.properties" />
</target>
Which does the job if the projects build. Alas for my pride, they don't always. Ideally, I'd like the equivalent of the following Java:
File src = new File("config.properties");
File dst = FileUtils.copyFile(src, "project/src");
dst.deleteOnExit();
// Carry on with the rest of the build, content in the knowledge that whatever happens, the file will die.
But neither the Copy nor the Delete ant tasks seem up to the job. This doesn't seem like a particularly obscure need?
SSH command for deleting a folder/file To delete a file or a directory, use the command, rm.
To remove a directory and all its contents, including any subdirectories and files, use the rm command with the recursive option, -r . Directories that are removed with the rmdir command cannot be recovered, nor can directories and their contents removed with the rm -r command.
Deleting a fileRight-click on the file name to display a context menu. Click Delete, and you will get a confirmation dialog.
How about defining a "clean" task that deletes the leftover files, and you can call that after each build (even after failed builds)?
I think Ant is not very good with these kind of conditional flow-control things. There may be a way to make that work, but that could get messy,
You could try ant-contrib's trycatch to run the delete task even if the build fails.
There's other goodies in ant-contrib like the foreach task. If you're able to install it.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With