forked from apache/beam
-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.gradle
85 lines (75 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
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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.
*/
apply plugin: 'org.apache.beam.module'
apply plugin: 'base'
apply plugin: 'java'
apply from: "$project.rootDir/playground/backend/containers/git-functions.gradle"
applyDockerNature()
def playgroundJobServerProject = "${project.path.replace('-container', '')}"
def default_beam_version = "2.44.0"
description = project(playgroundJobServerProject).description + " :: Container"
configurations {
dockerDependency
}
dependencies {
dockerDependency project(path: playgroundJobServerProject, configuration: "shadow")
}
task copyKafkaEmulator(type: Copy) {
dependsOn(":playground:kafka-emulator:distTar")
from project(":playground:kafka-emulator").buildDir.path + "/distributions/kafka-emulator.tar"
into 'build/kafka-emulator/'
}
task copyDockerfileDependencies {
dependsOn("copyKafkaEmulator")
doLast {
copy {
from '../../../backend/'
into 'build/src'
exclude 'containers'
}
copy {
from 'entrypoint.sh'
into 'build/'
}
copy {
from '../../../playground'
into 'build/playground'
}
copy {
from '../../../../learning/katas/java'
into 'build/katas'
}
}
}
docker {
name containerImageName(
name: project.docker_image_default_repo_prefix + "playground-backend-java",
root: project.rootProject.hasProperty(["docker-repository-root"]) ?
project.rootProject["docker-repository-root"] :
project.docker_image_default_repo_root)
files "./build/"
tags containerImageTags()
buildArgs(
['BEAM_VERSION' : project.rootProject.hasProperty(["sdk-tag"]) ?
project.rootProject["sdk-tag"] :
default_beam_version,
'GIT_COMMIT' : getGitCommitHash(),
'GIT_TIMESTAMP': getGitCommitTimestamp()])
}
// Ensure that we build the required resources and copy and file dependencies from related projects
dockerPrepare.dependsOn copyDockerfileDependencies