-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathbuild.gradle
125 lines (103 loc) · 2.59 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
import org.apache.tools.ant.filters.ReplaceTokens
plugins {
id 'com.jfrog.bintray' version '1.7.3'
id 'java'
id 'maven-publish'
}
def versionObj = new Version(major: 1, minor: 0, revision: 0)
group 'net.heyzeer0.papi'
version "$versionObj"
sourceCompatibility = 1.8
targetCompatibility = 1.8
repositories {
mavenCentral()
jcenter()
}
dependencies {
compile 'com.squareup.okhttp3:okhttp:3.8.1'
compile 'org.json:json:20170516'
}
task sourcesForRelease(type: Copy) {
from 'src/main/java'
into 'build/filteredSrc'
filter(ReplaceTokens, tokens: [
versionMajor: versionObj.major.toString(),
versionMinor: versionObj.minor.toString(),
versionRevision: versionObj.revision.toString(),
versionBuild: versionObj.build.toString()
])
}
compileJava {
source = sourcesForRelease.destinationDir
classpath = sourceSets.main.compileClasspath
options.encoding = 'UTF-8'
dependsOn sourcesForRelease
}
jar {
baseName = project.name
manifest {
attributes 'Implementation-Version': version
}
}
task sourcesJar(type: Jar, dependsOn: classes) {
classifier = 'sources'
from "${buildDir}/filteredSrc"
}
bintray {
user = bintrayUsername
key = bintrayApiKey
publications = ["BintrayRelease"]
pkg {
repo = 'maven'
name = 'Paladins-Java-API'
licenses = ['MIT']
vcsUrl = 'https://github.com/HeyZeer0/Paladins-Java-API'
publish = true
version {
name = project.version
released = new Date()
}
}
}
publishing {
publications {
BintrayRelease(MavenPublication) {
from components.java
groupId group
artifactId archivesBaseName
version version
artifact sourcesJar
}
}
}
bintrayUpload {
dependsOn build
onlyIf { !getProjectProperty("bintrayUsername").empty }
onlyIf { !getProjectProperty("bintrayApiKey").empty }
onlyIf { Version.getBuild() != "DEV" }
}
build {
dependsOn clean
dependsOn jar
dependsOn sourcesJar
jar.mustRunAfter clean
sourcesJar.mustRunAfter jar
}
String getProjectProperty(String propertyName)
{
String property = ""
if (hasProperty(propertyName))
{
property = this.properties[propertyName]
}
return property
}
class Version {
String major, minor, revision
static String getBuild() {
System.getenv("BUILD_NUMBER") ?: System.getProperty("BUILD_NUMBER") ?: "DEV"
}
String toString() {
"${major}.${minor}.${revision}_$build"
}
}