-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.gradle
117 lines (98 loc) · 2.57 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
plugins {
id 'com.jfrog.bintray' version '1.8.1'
id 'java-library'
id 'maven-publish'
}
def versionObj = new Version(major: 1, minor: 0, revision: 0)
group = "tk.dmanstrator"
archivesBaseName = "Connect4"
version = "$versionObj"
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
repositories {
jcenter()
}
dependencies {
testImplementation 'junit:junit:4.12'
}
compileJava.options.encoding = 'UTF-8'
class Version {
int major, minor, revision
String toString() {
"$major.$minor.$revision"
}
}
jar {
baseName = project.name
manifest.attributes 'Implementation-Version': version
manifest.attributes 'Automatic-Module-Name': project.group + '.connectfour'
}
task javadocJar(type: Jar) {
classifier = 'javadoc'
from javadoc
}
task sourcesJar(type: Jar) {
classifier = 'sources'
from sourceSets.main.java.srcDirs
}
javadoc {
failOnError = true
destinationDir = new File("${project.rootDir}/docs")
options.memberLevel = JavadocMemberLevel.PUBLIC
options.encoding = 'UTF-8'
// doesn't work with JDK8 and lower
//options.addBooleanOption('html5', true)
//options.addStringOption("-release", "8")
// doesn't work with JDK10 and lower
//options.addBooleanOption("-no-module-directories", true)
}
publishing {
publications {
BintrayRelease(MavenPublication) {
from components.java
groupId group
artifactId archivesBaseName
version version
artifact javadocJar
artifact sourcesJar
}
}
}
bintray {
user = getProjectProperty("bintrayUsername")
key = getProjectProperty("bintrayApiKey")
publications = ["BintrayRelease"]
pkg {
repo = 'maven'
name = 'Connect4'
licenses = ['Apache-2.0']
vcsUrl = 'https://github.com/DManstrator/Connect4.git'
publish = true
version {
name = project.version
released = new Date()
}
}
}
String getProjectProperty(String propertyName) {
String property = ""
if (hasProperty(propertyName)) {
property = this.properties[propertyName]
}
return property
}
build {
dependsOn jar
dependsOn javadocJar
dependsOn sourcesJar
jar.mustRunAfter clean
javadocJar.mustRunAfter jar
sourcesJar.mustRunAfter javadocJar
}
bintrayUpload {
dependsOn clean
dependsOn build
build.mustRunAfter clean
onlyIf { !getProjectProperty("bintrayUsername").empty }
onlyIf { !getProjectProperty("bintrayApiKey").empty }
}