-
Notifications
You must be signed in to change notification settings - Fork 951
/
_GrailsClean.groovy
78 lines (69 loc) · 2.4 KB
/
_GrailsClean.groovy
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
/*
* 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
*/
// No point doing this stuff more than once.
if (getBinding().variables.containsKey("_grails_clean_called")) return
_grails_clean_called = true
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:"${projectWorkDir}/gspcompile", failonerror:false)
ant.delete(dir:"${webInf}/lib")
ant.delete(dir:"${basedir}/web-app/plugins")
ant.delete(dir:classesDirPath)
ant.delete(dir:pluginClassesDirPath, failonerror:false)
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)
}