-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathbuild.gradle
106 lines (86 loc) · 3.21 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
/*
* Copyright 2018 Barracuda, Inc.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* http://www.apache.org/licenses/LICENSE-2.0
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
plugins {
id "com.bmuschko.docker-java-application" version "3.2.3"
}
defaultTasks 'dockerDistTar'
allprojects {
apply plugin: "java"
apply plugin: "eclipse"
group = "com.sonian"
version = "$SAMZA_VERSION"
}
subprojects {
sourceCompatibility = 1.8
repositories {
mavenCentral()
}
}
project(':lib') {
dependencies {
runtime(group: 'com.google.guava', name: 'guava', version: '23.0')
compile(group: 'io.kubernetes', name: 'client-java', version: '1.0.0-beta2')
compile(group: 'org.apache.samza', name: 'samza-api', version: "$SAMZA_VERSION")
compile(group: 'org.apache.samza', name: 'samza-core_2.11', version: "$SAMZA_VERSION")
testCompile(group: 'junit', name: 'junit', version: '4.12')
testCompile(group: 'org.mockito', name: 'mockito-core', version: '2.13.0')
}
}
project(':example') {
apply plugin: 'application'
apply plugin: 'com.bmuschko.docker-java-application'
mainClassName = "com.sonian.samza.k8s.example.ExampleApplication"
applicationName = "exampleApp"
applicationDefaultJvmArgs = [
"-server",
"-XX:+UnlockExperimentalVMOptions",
"-XX:+UseCGroupMemoryLimitForHeap",
"-Dlog4j.configuration=file:MY_APP_HOME/etc/log4j.xml",
"-XX:MaxRAMFraction=1"
]
dockerDistTar {
instruction {'RUN mkdir /exampleApp/plan'}
environmentVariable('EXECUTION_PLAN_DIR', '/exampleApp/plan')
}
docker {
javaApplication {
baseImage = 'openjdk:jre-8'
tag = 'exampleapp:1.0-0.14'
exec {
entryPoint('exampleApp/bin/exampleApp',
'--config-path=file://$APP_HOME/etc/example.properties')
}
}
}
applicationDistribution.from("src/main/resources") {
into "etc"
}
startScripts {
doLast {
unixScript.text = unixScript.text.replace('MY_APP_HOME', '\$APP_HOME')
windowsScript.text = windowsScript.text.replace('MY_APP_HOME', '%~dp0..')
}
}
dependencies {
compile project(':lib')
compile(group: 'org.slf4j', name: 'slf4j-api', version: "$SLF4J_VERSION")
compile(group: 'org.slf4j', name: 'slf4j-log4j12', version: "$SLF4J_VERSION")
compile(group: 'org.apache.samza', name: 'samza-api', version: "$SAMZA_VERSION")
compile(group: 'org.apache.samza', name: 'samza-kv_2.11', version: "$SAMZA_VERSION")
runtime(group: 'org.apache.samza', name: 'samza-core_2.11', version: "$SAMZA_VERSION")
runtime(group: 'org.apache.samza', name: 'samza-log4j', version: "$SAMZA_VERSION")
runtime(group: 'org.apache.samza', name: 'samza-kv-rocksdb_2.11', version: "$SAMZA_VERSION")
runtime(group: 'org.apache.samza', name: 'samza-kafka_2.11', version: "$SAMZA_VERSION")
runtime(group: 'org.apache.kafka', name: 'kafka_2.11', version: "$KAFKA_VERSION")
}
}