/
build.gradle
108 lines (100 loc) · 3.58 KB
/
build.gradle
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
import org.apache.tools.ant.filters.ReplaceTokens
apply plugin: 'java'
sourceCompatibility = 1.5
version = '1.3.2'
archivesBaseName = 'rundeck-core'
defaultTasks 'clean','assemble'
repositories {
mavenCentral()
add(new org.apache.ivy.plugins.resolver.FileSystemResolver()) {
name = 'localdeps'
//addIvyPattern "$projectDir/../dependencies/[organisation]/[module]-ivy-[revision].xml"
addArtifactPattern "$projectDir/../dependencies/[module]/[ext]s/[module]-[revision](-[classifier]).[ext]"
descriptor = 'optional'
checkmodified = true
}
}
dependencies {
compile(
[group: 'ant', name: 'ant', version: '1.8.1',ext:'jar'],
[group: 'ant-launcher', name: 'ant-launcher', version: '1.8.1',ext:'jar'],
[group: 'log4j', name: 'log4j', version: '1.2.15',ext:'jar'],
[group: 'commons-codec', name: 'commons-codec', version: '1.3',ext:'jar'],
[group: 'commons-httpclient', name: 'commons-httpclient', version: '3.0.1',ext:'jar'],
[group: 'commons-beanutils', name: 'commons-beanutils', version: '1.8.0',ext:'jar'],
[group: 'commons-collections', name: 'commons-collections', version: '3.2.1',ext:'jar'],
[group: 'commons-logging', name: 'commons-logging', version: '1.1',ext:'jar'],
[group: 'commons-lang', name: 'commons-lang', version: '2.4',ext:'jar'],
[group: 'xerces', name: 'xerces', version: '2.6.0',ext:'jar'],
[group: 'xml-apis', name: 'xml-apis', version: '2.6.0',ext:'jar'],
[group: 'dom4j', name: 'dom4j', version: '1.6.1',ext:'jar'],
[group: 'jaxen', name: 'jaxen', version: '1.1',ext:'jar'],
[group: 'commons-cli', name: 'commons-cli', version: '1.0',ext:'jar'],
[group: 'ant-jsch', name: 'ant-jsch', version: '1.8.1',ext:'jar'],
[group: 'jsch', name: 'jsch', version: '0.1.42',ext:'jar'],
[group: 'org.yaml',name:'snakeyaml',version:'1.9']
)
testCompile(
[group: 'junit', name: 'junit', version: '3.8.1',ext:'jar']
)
}
jar {
manifest {
attributes 'Rundeck-Version': version,'Rundeck-Tools-Dependencies':configurations.runtime.collect { "$it.name" }.join(" ")
}
}
sourceSets {
main {
java {
srcDir 'src/java'
}
resources {
srcDirs =['src/resources','src/java']
}
}
test {
java {
srcDir 'src/test'
}
resources {
srcDirs = ['src/resources','src/test']
}
}
}
test{
systemProperties 'rdeck.base': "$projectDir/build/rdeck_base"
systemProperties 'rdeck.home': "$projectDir/build"
}
task expandTemplate << {
ant.delete(file:"$projectDir/src/java/com/dtolabs/rundeck/core/VersionConstants.java")
copy{
from "$projectDir/src/java/com/dtolabs/rundeck/core/VersionConstants.java.template"
into "$projectDir/src/java/com/dtolabs/rundeck/core/"
rename { String fileName ->
fileName.replace('.template', '')
}
filter(ReplaceTokens, tokens: ['version.number':version,'version.build':buildNum,'version.ident':version+'.'+buildNum])
}
}
compileJava.dependsOn expandTemplate
assemble {
doLast{
//copy libs to a tools lib dir
ant.mkdir(dir:"$projectDir/build/tools/lib")
configurations.runtime.files.each { file ->
copy{
from file
into "$projectDir/build/tools/lib"
}
}
}
}
uploadArchives {
repositories {
flatDir(dirs: file('repos'))
}
}
task wrapper(type: Wrapper) {
gradleVersion = '0.9-rc-3'
jarPath = 'wrapper'
}