forked from jamiecoleman92/sample.servlet
-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.gradle
96 lines (81 loc) · 2.74 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
apply plugin: 'war'
apply plugin: 'liberty'
group = 'liberty.gradle'
version = '1'
description = "Project with a simple Servlet application"
sourceCompatibility = 1.8
targetCompatibility = 1.8
tasks.withType(JavaCompile) {
options.encoding = 'UTF-8'
}
buildscript {
repositories {
mavenLocal()
mavenCentral()
}
dependencies {
classpath 'net.wasdev.wlp.gradle.plugins:liberty-gradle-plugin:2.0'
}
}
repositories {
mavenCentral()
}
ext {
// Liberty server properties
wlpServerName = 'LibertyProjectServer'
testServerHttpPort = 9080
testServerHttpsPort = 9443
// This is set in the ibm-web-ext.xml file
warContext = 'servlet'
}
war {
archiveName = baseName + '.' + extension
}
dependencies {
compile group: 'org.apache.httpcomponents', name: 'httpcore', version:'4.4.6'
compile group: 'org.apache.httpcomponents', name: 'httpclient', version:'4.5.2'
testCompile group: 'junit', name: 'junit', version:'4.12'
testCompile group: 'org.apache.cxf', name: 'cxf-rt-rs-client', version:'3.1.11'
testCompile group: 'org.glassfish', name: 'javax.json', version:'1.0.4'
providedCompile group: 'javax.servlet', name: 'javax.servlet-api', version:'3.1.0'
libertyRuntime group: 'com.ibm.websphere.appserver.runtime', name: 'wlp-webProfile7', version: '17.0.0.2'
}
liberty {
server {
bootstrapProperties = ['default.http.port': testServerHttpPort,
'default.https.port': testServerHttpsPort,
'appLocation': war.archiveName,
'appContext': warContext]
name = wlpServerName
apps = [war]
}
}
test {
doFirst {
println 'inside the test block'
}
reports.html.destination = file("$buildDir/reports/unit")
reports.junitXml.destination = file("$buildDir/test-results/unit")
exclude '**/it/**'
}
task integrationTest(type: Test) {
group 'Verification'
description 'Runs the integration tests.'
reports.html.destination = file("$buildDir/reports/it")
reports.junitXml.destination = file("$buildDir/test-results/it")
include '**/it/**'
exclude '**/unit/**'
systemProperties = ['liberty.test.port': testServerHttpPort, 'war.context': warContext]
}
gradle.taskGraph.whenReady { graph ->
if (graph.hasTask(":libertyStart") && !graph.hasTask(":libertyStop")) {
// Doesn't know if libertyStart succeeds or not
libertyStart.doLast {
println ("The server should be running on: http://localhost:${testServerHttpPort}/${warContext}")
}
}
}
clean.dependsOn 'libertyStop'
check.dependsOn 'integrationTest'
integrationTest.dependsOn 'libertyStart', 'testClasses'
integrationTest.finalizedBy 'libertyStop'