/
build.gradle
119 lines (97 loc) · 3.41 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
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.0'
}
}
apply plugin: 'groovy'
apply plugin: 'maven'
repositories {
jcenter()
}
dependencies {
compile gradleApi()
compile localGroovy()
testCompile 'org.spockframework:spock-core:1.0-groovy-2.4', { exclude module: 'groovy-all' }
}
group = project.GROUP
version = project.VERSION
description = project.DESCRIPTION
task sourcesJar(type: Jar, dependsOn: classes) {
classifier = 'sources'
from sourceSets.main.allSource
}
task javadocJar(type: Jar, dependsOn: javadoc) {
classifier = 'javadoc'
from javadoc.destinationDir
}
task testsJar(type: Jar) {
classifier = 'tests'
from sourceSets.test.output
}
def hasBintrayProperties() {
return project.hasProperty('BINTRAY_USERNAME') && project.hasProperty('BINTRAY_KEY')
}
if (hasBintrayProperties()) {
apply plugin: 'maven-publish'
apply plugin: 'com.jfrog.bintray'
bintrayUpload.dependsOn jar, sourcesJar, javadocJar, testsJar
bintrayUpload.dependsOn("generatePomFileForMavenPublication")
publish.dependsOn jar, sourcesJar, javadocJar, testsJar
publish.dependsOn("generatePomFileForMavenPublication")
publishing {
publications {
maven(MavenPublication) {
from components.java
artifact sourcesJar
artifact javadocJar
artifact testsJar
pom.withXml {
def Node root = asNode()
root.appendNode('name', project.BINTRAY_NAME)
root.appendNode('description', project.description)
root.appendNode('url', project.URL)
def issues = root.appendNode('issueManagement')
issues.appendNode('system', 'github')
issues.appendNode('url', project.ISSUES_URL)
def scm = root.appendNode('scm')
scm.appendNode('url', project.SCM)
scm.appendNode('connection', project.CONNECTION)
scm.appendNode('developerConnection', project.DEV_CONNECTION)
def license = root.appendNode('licenses').appendNode('license')
license.appendNode('name', 'MIT')
license.appendNode('url', 'http://opensource.org/licenses/mit-license.php')
license.appendNode('distribution', 'repo')
def dev = root.appendNode('developers').appendNode('developer')
dev.appendNode('id', project.ORG)
dev.appendNode('name', project.ORG)
dev.appendNode('organization', project.ORG)
dev.appendNode('organizationUrl', project.ORG_URL)
}
}
}
}
bintray {
user = BINTRAY_USERNAME
key = BINTRAY_KEY
publications = ['maven']
publish = true
pkg {
repo = 'maven'
name = project.BINTRAY_NAME
desc = project.description
websiteUrl = project.URL
issueTrackerUrl = project.ISSUES_URL
vcsUrl = project.SCM
licenses = ['MIT']
labels = []
publicDownloadNumbers = true
version {
name = project.version
desc = project.description
}
}
}
}