forked from OpenLiberty/liberty-bikes
-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.gradle
116 lines (99 loc) · 2.96 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
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'net.wasdev.wlp.gradle.plugins:liberty-gradle-plugin:2.6.5'
}
}
plugins {
id 'com.avast.gradle.docker-compose' version "0.9.1"
}
task clean(type: Delete) {
subprojects.each { dependsOn("${it.name}:clean") };
delete 'build'
}
ext.hostname = 'localhost'
// Find the public IP address for this machine (if one exists)
NetworkInterface.getNetworkInterfaces()
.findAll { it.isUp() && !it.isLoopback() && !it.isVirtual() }
.each {
it.getInetAddresses()
.findAll { !it.isLoopbackAddress() && it instanceof Inet4Address }
.each {
if (hostname.equals('localhost')) {
def hn = it.toString();
hostname = hn.startsWith("/") ? hn.substring(1, hn.length()) : hn;
// ${it} is in the format /<IP>, so only use http:/ instead of http://
}
}
}
task dockerStart {
dependsOn 'composeUp'
}
task dockerStop {
dependsOn 'composeDown'
}
composeUp {
subprojects.each {
dependsOn("${it.name}:assemble")
}
}
subprojects {
apply plugin: 'liberty'
apply plugin: 'war'
sourceCompatibility = 1.8
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'net.wasdev.wlp.gradle.plugins:liberty-gradle-plugin:2.6.5'
}
}
repositories {
mavenCentral()
}
dependencies {
providedCompile group: 'org.eclipse.microprofile', name: 'microprofile', version: '3.0'
providedCompile group: 'jakarta.platform', name: 'jakarta.jakartaee-api', version: '8.0.0'
testCompile group: 'junit', name: 'junit', version: '4.12'
testCompile group: 'org.eclipse', name: 'yasson', version: '1.0.5'
libertyRuntime group: 'io.openliberty', name: 'openliberty-runtime', version: '19.0.0.9'
}
eclipse {
classpath {
defaultOutputDir = file('build/classes/java/main')
file {
whenMerged {
entries.findAll { it.path.startsWith('src/main') }
.each { it.output = "build/classes/java/main" }
entries.findAll { it.path.startsWith('src/test') }
.each { it.output = "build/classes/java/test" }
}
}
}
}
liberty {
install {
// use 1 liberty install for the whole repo
baseDir = rootProject.buildDir
}
}
clean.dependsOn 'libertyStop'
libertyDebug.dependsOn 'libertyStop'
libertyStart.dependsOn 'libertyStop', 'test'
libertyRun.dependsOn 'libertyStop'
task debug { dependsOn 'libertyDebug' }
task start { dependsOn 'libertyStart' }
task stop { dependsOn 'libertyStop' }
libertyStart.doLast {
println "Application available at: ${appUrl}"
}
task open {
shouldRunAfter 'libertyStart'
doLast {
java.awt.Desktop.desktop.browse "${appUrl}".toURI()
}
}
}