-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.gant
52 lines (46 loc) · 1.73 KB
/
build.gant
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
ant.property(file: 'build.properties')
def antProps = ant.project.properties
sourceDirectory = 'src'
buildDirectory = 'classes'
libDir = 'lib'
includeTargets << gant.targets.Clean
cleanPattern << ['**/*~', '*.jar', '*.zip']
cleanDirectory << buildDirectory
clobberPattern << "${libDir}/groovy-all.jar"
ant.taskdef(name : 'groovyc', classname : 'org.codehaus.groovy.ant.Groovyc')
ant.taskdef(resource : 'org/tigris/subversion/svnant/svnantlib.xml') {
classpath { fileset(dir:"${antProps.'svnant.home'}/lib", includes:'*.jar') }
}
target(compile : 'Compile source to build directory.') {
mkdir(dir : buildDirectory)
groovyc(srcdir : sourceDirectory , destdir : buildDirectory) {
classpath { fileset(dir:libDir, includes:'*.jar') }
}
}
target(properties : 'Show all of the available properties') {
new TreeMap(antProps).each { key, value -> println("$key: $value") }
}
target('create-jar' : 'Create the jar file') {
depends(compile)
ant.copy(file:"${antProps.'groovy.home'}/embeddable/groovy-all-1.6.2.jar",
tofile:"$libDir/groovy-all.jar")
jar(destfile:"${antProps.'project.name'}.jar", basedir:buildDirectory) {
manifest {
attribute(name:'Main-Class', value:'com.grovehillsoftware.reportbuilder.MainFrame')
attribute(name:'Class-Path',
value:". $libDir/groovy-all.jar $libDir/jcalendar.jar $libDir/looks.jar")
}
}
}
target('package' : 'Package up the release') {
depends('create-jar')
zip(destfile : "${antProps.'project.name'}_revSomething.zip") {
fileset(dir : '.') {
include(name : '*.jar')
include(name : 'lib/**')
include(name : 'LICENSE.txt')
include(name : 'src/**')
}
}
}
setDefaultTarget('package')