-
Notifications
You must be signed in to change notification settings - Fork 19
/
build.gradle
119 lines (107 loc) · 3.07 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
/*
* 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.
*/
buildscript {
repositories {
maven {
url = uri("https://plugins.gradle.org/m2/")
}
}
dependencies {
classpath "${libs.spotbugs.gradle.plugin.get()}"
classpath "${libs.spotless.plugin.gradle.get()}"
classpath "${libs.shadow.get()}"
}
}
assert JavaVersion.current().isCompatibleWith(JavaVersion.VERSION_17): "Java 17 or newer is " +
"required"
allprojects {
group = "org.apache.spark.k8s.operator"
version = "0.1.0-SNAPSHOT"
}
tasks.register('buildDockerImage', Exec) {
String cmd = "docker build --build-arg APP_VERSION=${version} -t spark-kubernetes-operator:${version} -f build-tools/docker/Dockerfile ."
println "Build Docker Image: $cmd"
commandLine "sh", "-c", "$cmd"
}
subprojects {
apply plugin: 'idea'
apply plugin: 'eclipse'
apply plugin: 'java'
java {
sourceCompatibility = 17
targetCompatibility = 17
}
repositories {
mavenCentral()
}
apply plugin: 'checkstyle'
checkstyle {
toolVersion = libs.versions.checkstyle.get()
configFile = file("$rootDir/config/checkstyle/checkstyle.xml")
ignoreFailures = false
showViolations = true
}
apply plugin: 'pmd'
pmd {
ruleSetFiles = files("$rootDir/config/pmd/ruleset.xml")
toolVersion = libs.versions.pmd.get()
consoleOutput = true
ignoreFailures = false
}
apply plugin: 'com.github.spotbugs'
spotbugs {
toolVersion = libs.versions.spotbugs.tool.get()
afterEvaluate {
reportsDir = file("${project.reporting.baseDir}/findbugs")
}
excludeFilter = file("$rootDir/config/spotbugs/spotbugs_exclude.xml")
ignoreFailures = false
}
apply plugin: 'jacoco'
jacoco {
toolVersion = libs.versions.jacoco.get()
}
jacocoTestReport {
dependsOn test
}
apply plugin: 'com.diffplug.spotless'
spotless {
java {
endWithNewline()
googleJavaFormat('1.22.0')
importOrder(
'java',
'javax',
'scala',
'',
'org.apache.spark',
)
toggleOffOn()
targetExclude "**/BaseResource.java"
trimTrailingWhitespace()
removeUnusedImports()
}
format 'misc', {
target '*.md', '*.gradle', '**/*.properties', '**/*.xml', '**/*.yaml', '**/*.yml'
endWithNewline()
trimTrailingWhitespace()
}
}
}
apply from: 'deploy.gradle'