forked from ShadowDog007/MobManager
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbuild.gradle
More file actions
126 lines (108 loc) · 2.86 KB
/
build.gradle
File metadata and controls
126 lines (108 loc) · 2.86 KB
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
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.github.jengelman.gradle.plugins:shadow:0.8'
}
}
// #################
// #### Plugins ####
// #################
// https://github.com/johnrengelman/shadow
apply plugin: 'shadow'
apply plugin: 'java'
apply plugin: 'maven'
apply plugin: 'jacoco'
// #######################
// #### Default Tasks ####
// #######################
defaultTasks 'clean', 'build', 'shadowJar', 'test', 'uploadArchives', 'jacocoTestReport'
// #########################
// #### Variable Setup #####
// #########################
group = group_
if (project.hasProperty('teamcity')) {
version = version_ + '-' + teamcity['build.number']
println "##teamcity[buildNumber '${version}']"
} else {
version = version_ + '-SNAPSHOT'
}
ext {
localMavenRepoLoc = "file://" + file('../mavenRepo/').absolutePath
}
// #############################
// #### Resourse Filtering #####
// #############################
processResources {
filter { String line -> line.replace('$(PROJECT_VERSION)', version) }
}
// ###############################
// #### Dependancy shadowing #####
// ###############################
shadow {
artifactAttached false
// Lombok
include 'lombok/NonNull.class'
// Relocations
relocation {
pattern = 'lombok'
shadedPattern = 'net.michaelmcknight.mobmanger.dependencies.lombok'
}
}
// ###################
// #### Archiving ####
// ###################
artifacts {
archives file('build/distributions/' + name + '-' + version + '.jar')
}
uploadArchives {
repositories {
mavenDeployer {
repository(url: localMavenRepoLoc)
}
}
}
// #######################
// #### Code coverage ####
// #######################
jacocoTestReport {
reports {
xml.enabled false
csv.enabled false
html.destination "${buildDir}/jacocoHtml"
}
}
jacocoTestReport.onlyIf { !project.hasProperty('teamcity') }
test {
jacoco {
enabled = !project.hasProperty('teamcity')
includes [ 'build/classes/main/**/*.class' ]
}
}
// ########################
// #### Gradle wrapper ####
// ########################
task wrapper(type: Wrapper) {
gradleVersion = 1.12
}
// #######################
// #### Dependencies #####
// #######################
repositories {
mavenCentral()
// Bukkit repo
maven {
url "http://repo.bukkit.org/content/groups/public/"
}
// Vault Repo
maven {
url "http://nexus.theyeticave.net/content/repositories/pub_releases/"
}
}
dependencies {
compile group: 'org.bukkit', name: 'bukkit', version: '1.7.9-R0.2'
compile group: 'net.milkbowl.vault', name: 'Vault', version: '1.4.1'
compile group: 'org.projectlombok', name: 'lombok', version: '1.14.2'
testCompile group: 'junit', name: 'junit', version: '4.+'
}