forked from microsoft/ApplicationInsights-Java
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.gradle
112 lines (96 loc) · 3.5 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
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
/*
* ApplicationInsights-Java
* Copyright (c) Microsoft Corporation
* All rights reserved.
*
* MIT License
* Permission is hereby granted, free of charge, to any person obtaining a copy of this
* software and associated documentation files (the ""Software""), to deal in the Software
* without restriction, including without limitation the rights to use, copy, modify, merge,
* publish, distribute, sublicense, and/or sell copies of the Software, and to permit
* persons to whom the Software is furnished to do so, subject to the following conditions:
* The above copyright notice and this permission notice shall be included in all copies or
* substantial portions of the Software.
* THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
* INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
* PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
* FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE.
*/
// region Common configurations
buildscript {
repositories {
mavenCentral()
jcenter()
maven {
url "https://plugins.gradle.org/m2/"
}
}
dependencies {
classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.10'
classpath 'org.owasp:dependency-check-gradle:5.2.2'
classpath 'com.github.jengelman.gradle.plugins:shadow:5.0.0'
classpath 'com.github.spotbugs:spotbugs-gradle-plugin:3.0.0'
}
}
ext.buildScriptsDir = "$rootDir/gradle"
apply from: "$buildScriptsDir/common.gradle"
apply from: "$buildScriptsDir/test.gradle"
// endregion Common configurations
// region Root project script
def rootProjectBuildFolder = "$rootDir/build"
ext {
isBuildServer = (System.properties["isBuildServer"] ?: "false").toBoolean()
isRelease = (System.properties["isRelease"] ?: "false").toBoolean()
if (isBuildServer) {
logger.lifecycle "Building on SERVER"
}
else {
logger.lifecycle "Building on DESKTOP"
}
}
task clean {
doLast {
delete(rootProjectBuildFolder)
}
}
allprojects {
task generateLockfiles {
doFirst {
assert gradle.startParameter.writeDependencyLocks // meaning you must run with --write-locks parameter
}
doLast {
configurations.findAll {
it.canBeResolved
}.each {
it.resolve()
}
}
}
tasks.withType(JavaCompile) {
doFirst {
logger.info("sourceCompatibility = $sourceCompatibility")
logger.info("tatgetCompatibility = $targetCompatibility")
logger.info("options.bootstrapClasspath = $options.bootstrapClasspath")
logger.info("options.compilerArgs = $options.compilerArgs")
}
}
tasks.withType(ShadowJar) {
exclude 'META-INF/maven/**'
exclude 'META-INF/LICENSE*'
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/NOTICE*'
from "${rootProject.projectDir}/NOTICE"
from "${rootProject.projectDir}/LICENSE"
}
tasks.withType(Jar) {
from "${rootProject.projectDir}/NOTICE"
from "${rootProject.projectDir}/LICENSE"
}
}
wrapper {
distributionType = Wrapper.DistributionType.ALL
}
// endregion Root project script