-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.gradle
106 lines (85 loc) · 2.94 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
subprojects {
apply plugin: 'java'
apply plugin: 'groovy'
apply plugin: 'idea'
group = 'org.riderzen.ogs'
sourceCompatibility = '1.7'
targetCompatibility = '1.7'
jar.enabled = true
compileJava.options.compilerArgs << "-Xlint:unchecked" << "-Werror"
repositories {
maven { url 'https://oss.sonatype.org/content/repositories/snapshots' }
mavenCentral()
}
configurations {
provided
}
sourceSets {
main {
compileClasspath = compileClasspath + configurations.provided
}
}
dependencies {
compile "org.vert-x:vertx-core:$vertxVsn"
compile "org.vert-x:vertx-platform:$vertxVsn"
compile "org.vert-x:vertx-lang-java:$vertxVsn"
compile "org.vert-x:vertx-lang-groovy:$vertxVsn"
compile "org.vert-x:vertx-lang-rhino:$vertxVsn"
compile "org.mozilla:rhino:$rhinoVsn"
groovy "org.codehaus.groovy:groovy:$groovyVsn"
compile "org.msgpack:msgpack:$msgpackVsn"
compile "org.slf4j:slf4j-log4j12:$slf4jVsn"
compile "log4j:log4j:$log4jVsn"
compile "com.google.code.gson:gson:$gsonVsn"
testCompile "junit:junit:$junitVsn"
testCompile "org.vert-x:vertx-junit-annotations:$junitAnnoVsn"
}
task collectDeps(type: Copy) {
destinationDir = file("build/deps")
into("compile") {
from configurations.compile
}
into("test") {
from configurations.testCompile
}
}
task copyMod(type: Copy, dependsOn: 'classes') {
into "build/mod/$modulename-v$version"
from 'build/classes/main'
from 'src/main/resources'
from 'src/main/scripts'
into('lib') {
from configurations.compile
exclude { jar -> jar.file.name.startsWith('groovy') || jar.file.name.startsWith('vertx') }
}
}
// Package into build/libs/mod.zip
task dist(type: Zip, dependsOn: 'copyMod') {
destinationDir = project.file('build/libs')
archiveName = "$modulename-v${version}.zip"
from project.file("build/mod")
}
task prepareVertxTest(type: Sync, dependsOn: 'copyMod') {
from 'build/mod'
into 'build/tmp/mod-test'
}
test {
// Can't have the app on the vert.x classpath
classpath = files(classpath.findAll {
!(it.toString() ==~ /.+build\/(classes|resources)\/main$/)
})
// Some vert.x properties
systemProperty 'vertx.test.timeout', 15
systemProperty 'vertx.mods', "$projectDir/build/tmp/mod-test"
systemProperty 'vertx.version', "$project.version"
// Show output
testLogging.showStandardStreams = true
// No idea why we need to depend on testClasses...
dependsOn << ['testClasses', 'copyMod', 'prepareVertxTest']
}
}
configure(subprojects.findAll {it.name != 'common'}) {
dependencies {
compile project(':common')
}
}