forked from Javacord/Javacord
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.gradle
101 lines (85 loc) · 2.78 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
import java.time.Instant
import org.ajoberstar.grgit.Grgit
plugins {
id 'com.github.johnrengelman.shadow' version '2.0.4' apply false
id 'net.researchgate.release' version '2.7.0' apply false
id 'org.ajoberstar.grgit' version '2.3.0' apply false
}
if (project.hasProperty('teamcity')) {
println "##teamcity[buildNumber '$version (#${project.'build.number'})']"
println "##teamcity[setParameter name='javacord.version' value='$version']"
}
def rootBuildDir = buildDir
ext {
releaseVersion = !version.toString().endsWith('-SNAPSHOT')
}
allprojects {
apply plugin: 'java-library'
apply plugin: 'checkstyle'
group = 'org.javacord'
description = 'An easy to use multithreaded library for creating Discord bots in Java'
buildDir = rootProject.file("${rootBuildDir}/${name}")
sourceCompatibility = 1.8
tasks.withType(JavaCompile) {
options.encoding 'UTF-8'
options.incremental true
if (JavaVersion.current().java9Compatible) {
afterEvaluate {
options.compilerArgs << '--release' << platform.targetCompatibility.majorVersion
}
}
}
checkstyle {
toolVersion '8.9'
maxWarnings 0
}
normalization {
runtimeClasspath {
ignore 'version.properties'
}
}
}
project(':javacord-api') {
processResources {
def commitId = findProperty('build.vcs.number')
if (!commitId) {
def gitDir = file("$rootDir/.git")
if (gitDir.directory) {
def grgit
try {
grgit = Grgit.open(dir: "$rootDir/.git")
commitId = grgit.head().id + (grgit.status().clean ? '' : '-dirty')
} catch (Exception ignored) {
} finally {
grgit?.close()
}
}
}
commitId = commitId ?: '<unknown>'
def now = Instant.now()
inputs.property 'version', version
inputs.property 'commitId', commitId
inputs.property 'buildTimestamp', now
filesMatching('version.properties') {
expand version: version, commitId: commitId, buildTimestamp: now
}
}
}
clean {
delete rootBuildDir
}
subprojects {
ext.shortName = name - ~/^javacord-/
description = "An easy to use multithreaded library for creating Discord bots in Java ($shortName)"
}
defaultTasks 'build'
task 'generate'
apply from: 'gradle/dependencies.gradle'
apply from: 'gradle/jars.gradle'
apply from: 'gradle/java9.gradle'
apply from: 'gradle/tests.gradle'
apply from: 'gradle/javadoc.gradle'
apply from: 'gradle/listener-manager-generation.gradle'
apply from: 'gradle/event-dispatcher-generation.gradle'
apply from: 'gradle/readme.gradle'
apply from: 'gradle/publishing.gradle'