I made it with the Bootstrap (please read the entire answer):
class BootStrap {
GrailsApplication grailsApplication
def init = { servletContext ->
def applicationContext = grailsApplication.mainContext
String basePath = applicationContext.getResource("/").getFile().toString()
File source = new File("${basePath}/../grails-app/myFolder/" + grailsApplication.metadata.getApplicationVersion() +'.txt')
File destination = new File("${basePath}/my-current-file.txt")
source?.withInputStream {
destination << it
}
}
}
But, as suggested by Muein Muzamil, the best approach is with events.
Here's his solution applied to my example:
eventCompileEnd = {
metadata = grails.util.Metadata.getCurrent()
appVersion = metadata."app.version"
ant.copy(file: "${basedir}/grails-app/myFolder/${appVersion}.txt", tofile: "${basedir}/web-app/my-current-file.txt")
}