forked from d2iq-archive/dcos-commons
-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.gradle
136 lines (115 loc) · 3.91 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
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
// Config shared by the dcos-commons library and the examples:
// Gradle is bundled with jansi 1.9 which can crash the JVM in some cases
// Solution taken from: https://github.com/gradle/gradle/issues/778
buildscript {
dependencies {
classpath group: 'org.fusesource.jansi', name: 'jansi', version: '1.14'
}
}
plugins {
id 'com.github.johnrengelman.shadow' version '1.2.3'
id 'com.github.ksoichiro.console.reporter' version '0.5.0'
}
// Importing org.fusesource.jansi.AnsiConsole is not enough to avoid aforementioned failure
org.fusesource.jansi.AnsiConsole.out.print('')
allprojects {
apply plugin: 'java'
apply plugin: 'maven'
apply plugin: 'eclipse'
apply plugin: 'jacoco'
apply plugin: 'idea'
apply plugin: 'maven-publish'
apply plugin: 'com.github.ksoichiro.console.reporter'
// Double quotes are required for $rootDir to be resolved:
apply from: "$rootDir/gradle/quality.gradle"
group = 'mesosphere'
// ---
// INFO:
//
// In general, users of this SDK may use '-SNAPSHOT' builds for testing or development, but
// they MUST NOT be used for releases. A given '-SNAPSHOT' build will vary on a per-PR basis
// and APIs WILL break at any time. See the tags in this repo for a list of stable releases.
//
// In repo master, this version MUST ALWAYS be a '-SNAPSHOT' version.
// Release versions are ONLY published inside of tags.
// --
// INSTRUCTIONS: How to cut a release of e.g. '0.10.0', then start the '0.11.0-SNAPSHOT' track:
//
// 1. Run a CI job which calls './release.sh -r 0.10.0' to create the release tag from current master.
// 2. In the GitHub UI, add a Release entry against the tag created in step 1. List any changes in release notes.
// 3. Create a PR which bumps this from '0.10.0-SNAPSHOT' to '0.11.0-SNAPSHOT' in master to start the 0.11.0 track.
// --
version = '0.32.0-SNAPSHOT'
sourceCompatibility = '1.8'
targetCompatibility = '1.8'
repositories {
jcenter()
mavenLocal()
mavenCentral()
maven {
url "http://downloads.mesosphere.com/maven/"
}
maven {
url "http://downloads.mesosphere.com/maven-snapshot/"
}
}
[compileJava, compileTestJava]*.options*.encoding = 'UTF-8'
compileJava.options.compilerArgs << '-Xlint:unchecked' << '-Xlint:deprecation'
compileTestJava.options.compilerArgs << '-Xlint:unchecked' << '-Xlint:deprecation'
task wrapper(type: Wrapper) {
gradleVersion = '3.2'
}
task sourcesJar(type: Jar, dependsOn: classes) {
classifier = 'sources'
from sourceSets.main.allSource
}
task javadocJar(type: Jar, dependsOn: javadoc) {
classifier = 'javadoc'
from javadoc.destinationDir
javadoc.failOnError = false
}
artifacts {
archives sourcesJar
archives javadocJar
}
idea {
if (project.hasProperty('ideaParentDefined')) {
project {
jdkName = '1.8'
languageLevel = '1.8'
ipr {
withXml { provider ->
provider.node.component
.find { it.@name == 'VcsDirectoryMappings' }
.mapping.@vcs = 'Git'
}
}
}
}
}
tasks.withType(Javadoc) {
options.addStringOption('Xdoclint:none', '-quiet')
}
// Print results on the fly
test {
testLogging {
events 'passed', 'skipped', 'failed'
}
}
}
ext {
mesosVer = '1.4.0-rc1'
}
subprojects {
dependencies {
// Double quotes are required for $mesosVer to be resolved:
compile "org.apache.mesos:mesos:${mesosVer}"
}
}
shadowJar {
classifier = 'uber'
mergeServiceFiles()
exclude 'META-INF/*.SF'
exclude 'META-INF/*.DSA'
exclude 'META-INF/*.RSA'
}