/* * Copyright 2004-2005 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /** * Gant script that cleans a Grails project * * @author Graeme Rocher * * @since 0.4 */ includeTargets << grailsScript("_GrailsEvents") target ( cleanAll: "Cleans a Grails project" ) { clean() cleanTestReports() } target ( clean: "Implementation of clean" ) { depends(cleanCompiledSources, cleanWarFile) } target ( cleanCompiledSources: "Cleans compiled Java and Groovy sources" ) { def webInf = "${basedir}/web-app/WEB-INF" ant.delete(dir:"${webInf}/classes") ant.delete(file:webXmlFile.absolutePath, failonerror:false) ant.delete(dir:"${webInf}/lib") ant.delete(dir:"${basedir}/web-app/plugins") ant.delete(dir:classesDirPath) ant.delete(dir:resourcesDirPath) ant.delete(dir:testDirPath) } target ( cleanTestReports: "Cleans the test reports" ) { // Delete all reports *except* TEST-TestSuites.xml which we need // for the "--rerun" option to work. ant.delete(failonerror:false, includeemptydirs: true) { fileset(dir:grailsSettings.testReportsDir.path) { include(name: "**/*") exclude(name: "TESTS-TestSuites.xml") } } } target ( cleanWarFile: "Cleans the deployable .war file" ) { if (buildConfig.grails.war.destFile) { warName = buildConfig.grails.war.destFile } else { def fileName = grailsAppName def version = metadata.'app.version' if (version) { fileName += "-$version" } warName = "${basedir}/${fileName}.war" } ant.delete(file:warName, failonerror:false) }