-
Notifications
You must be signed in to change notification settings - Fork 30
/
build.gradle
123 lines (96 loc) · 3.5 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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
apply from: "gradle/setup.gradle"
apply from: "gradle/vertx.gradle"
/*
Usage:
./gradlew task_name
(or gradlew.bat task_name if you have the misfortune to have to use Windows)
If no task name is specified then the default task 'assemble' is run
Task names are:
idea - generate a skeleton IntelliJ IDEA project
eclipse - generate a skeleton Eclipse IDE project
assemble - builds the outputs, by default this is the module zip file. It can also include a jar file if produceJar
in gradle.properties is set to true. Outputs are created in build/libs.
if pullInDeps in gradle.properties is set to 'true' then the modules dependencies will be
automatically pulled into a nested mods directory inside the module during the build
copyMod - builds and copies the module to the local 'mods' directory so you can execute vertx runmod (etc)
directly from the command line
modZip - creates the module zip into build/libs
clean - cleans everything up
test - runs the tests. An nice html test report is created in build/reports/tests (index.html)
runMod - runs the module. This is similar to executing vertx runmod from the command line except that it does
not use the version of Vert.x installed and on the PATH to run it. Instead it uses the version of Vert.x
that the module was compiled and tested against.
pullInDeps - pulls in all dependencies of the module into a nested module directory
uploadArchives - upload the module zip file (and jar if one has been created) to Nexus. You will need to
configure sonatypeUsername and sonatypePassword in ~/.gradle/gradle.properties.
install - install any jars produced to the local Maven repository (.m2)
*/
dependencies {
/*
Add your module jar dependencies here
E.g.
compile "com.foo:foo-lib:1.0.1" - for compile time deps - this will end up in your module too!
testCompile "com.foo:foo-lib:1.0.1" - for test time deps
provided "com.foo:foo-lib:1.0.1" - if you DON'T want it to be packaged in the module zip
*/
}
task prepareTestModule(type: Copy) {
destinationDir = mkdir('build/mods')
from('src/test/resources') {
include 'io.vertx~webtest~1.0.0/*'
}
from(testClasses) {
into 'io.vertx~webtest~1.0.0'
}
}
test {
/* Configure which tests are included
include 'org/foo/**'
exclude 'org/boo/**'
*/
}
test.dependsOn prepareTestModule
/*
If you're uploading stuff to Maven, Gradle needs to generate a POM.
Please edit the details below.
*/
def configurePom(def pom) {
pom.project {
name rootProject.name
description 'Simple Web Server Module for Vert.x'
inceptionYear '2012'
packaging 'jar'
url 'https://github.com/vert-x/mod-web-server'
developers {
developer {
id 'purplefox'
name 'Tim Fox'
// email 'developer email'
}
}
scm {
url 'https://github.com/vert-x/mod-web-server.git'
}
licenses {
license {
name 'The Apache Software License, Version 2.0'
url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
distribution 'repo'
}
}
properties {
setProperty('project.build.sourceEncoding', 'UTF8')
}
}
}
// Map the 'provided' dependency configuration to the appropriate IDEA visibility scopes.
plugins.withType(IdeaPlugin) {
idea {
module {
scopes.PROVIDED.plus += configurations.provided
scopes.COMPILE.minus += configurations.provided
scopes.TEST.minus += configurations.provided
scopes.RUNTIME.minus += configurations.provided
}
}
}