forked from spinnaker/clouddriver
-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.gradle
113 lines (98 loc) · 3.28 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
/*
* Copyright 2014 Netflix, Inc.
* Copyright (c) 2018, salesforce.com, inc. All rights reserved.
*
* 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.
*/
buildscript {
ext {
kotlinVersion = "1.4.10"
junitPlatformVersion = "1.0.2"
}
repositories {
gradlePluginPortal()
}
dependencies {
classpath "org.junit.platform:junit-platform-gradle-plugin:${junitPlatformVersion}"
}
}
plugins {
id 'io.spinnaker.project' version "$spinnakerGradleVersion" apply false
id 'org.jetbrains.kotlin.jvm' version "$kotlinVersion"
id 'org.jetbrains.kotlin.plugin.allopen' version "$kotlinVersion" apply false
id "com.google.protobuf" version "0.8.12" apply false
}
allprojects {
apply plugin: 'io.spinnaker.project'
}
subprojects {
group = "io.spinnaker.clouddriver"
if (name != "clouddriver-bom" && name != "clouddriver-api") {
apply plugin: 'java-library'
apply plugin: 'groovy'
apply plugin: 'kotlin'
apply plugin: "kotlin-allopen"
apply plugin: "jacoco"
sourceSets.main.java.srcDirs = []
sourceSets.main.groovy.srcDirs += ["src/main/java"]
dependencies {
implementation enforcedPlatform("io.spinnaker.kork:kork-bom:$korkVersion")
annotationProcessor platform("io.spinnaker.kork:kork-bom:$korkVersion")
annotationProcessor "org.projectlombok:lombok"
annotationProcessor("org.springframework.boot:spring-boot-configuration-processor")
testAnnotationProcessor platform("io.spinnaker.kork:kork-bom:$korkVersion")
testAnnotationProcessor "org.projectlombok:lombok"
testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine"
}
test {
useJUnitPlatform()
testLogging {
exceptionFormat = 'full'
if (project.hasProperty('slowTest')) {
long slow = 250
try {
slow = Long.parseLong(project.property('slowTest'))
} catch (Exception ex) {
}
afterTest { desc, result ->
long duration = result.getEndTime() - result.getStartTime()
if (duration > slow) {
logger.warn("test exceeded $slow ms: $desc.className :: $desc.name ($duration milliseconds)")
}
}
}
minHeapSize = "512m"
maxHeapSize = "512m"
}
jacoco {
enabled = project.hasProperty('testCoverage')
}
}
// The test report requires tests to have run first
jacocoTestReport {
dependsOn test
}
}
if ([korkVersion, fiatVersion].any { it.endsWith("-SNAPSHOT") }) {
logger.info("Enabling mavenLocal")
repositories {
mavenLocal()
}
}
tasks.withType(JavaExec) {
if (System.getProperty('DEBUG', 'false') == 'true') {
jvmArgs '-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=7102'
}
}
}
defaultTasks ':clouddriver-web:run'