forked from connectbot/sshlib
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathpublish.gradle
114 lines (101 loc) · 2.48 KB
/
publish.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
apply plugin: 'maven'
apply plugin: 'maven-publish'
task sourceJar(type: Jar, dependsOn: classes) {
classifier = 'sources'
from sourceSets.main.allSource
}
task javadocJar(type: Jar, dependsOn: javadoc) {
classifier = 'javadoc'
from javadoc.destinationDir
}
artifacts {
archives jar, sourceJar, javadocJar
}
ext.isSnapshot = rootProject.version.endsWith("SNAPSHOT")
ext.isOfficialSdk = (System.env.TRAVIS_JDK_VERSION == officialJdk)
ext.isMainline = (System.env.TRAVIS_PULL_REQUEST == "false")
publishing {
publications {
Sshlib(MavenPublication) {
from components.java
artifact sourceJar
artifact javadocJar
groupId 'org.connectbot'
pom {
name = project.name
description = project.description
url = gitHubUrl
licenses {
license {
name = 'BSD 3-Clause License'
url = 'https://opensource.org/licenses/BSD-3-Clause'
}
}
developers {
developer {
id = 'kruton'
name = 'Kenny Root'
email = '[email protected]'
}
}
scm {
connection = "${gitHubUrl}.git".toString()
developerConnection = "${gitHubUrl}.git".toString()
url = gitHubUrl
}
}
}
}
repositories {
maven {
url = "$buildDir/repo"
}
}
}
//Load data from environment if present to support Travis
['bintrayUser', 'bintrayApiKey'].each{
if (System.env[it])
project[it] = System.env[it]
}
//This is only needed if bintrayUpload is done as part of releasing
task updateBintrayVersion {
doLast {
bintray.pkg.version.name = project.version
}
}
bintrayUpload.dependsOn updateBintrayVersion
bintray {
user = bintrayUser
key = bintrayApiKey
publish = true
pkg {
userOrg = 'connectbot'
repo = 'maven'
name = project.name
licenses = ['BSD 3-Clause']
configurations = ['archives']
websiteUrl = gitHubUrl
vcsUrl = "${gitHubUrl}.git"
}
}
//Bintray is for official releases
bintrayUpload.onlyIf {
project.isOfficialSdk && !project.isSnapshot && project.isMainline
}
artifactory {
contextUrl = 'https://oss.jfrog.org/artifactory'
publish {
repository {
repoKey = 'oss-snapshot-local'
username = bintrayUser
password = bintrayApiKey
}
defaults {
publications('Sshlib')
}
}
}
//Artifactory is for publishing snapshots
artifactoryPublish.onlyIf {
project.isOfficialSdk && project.isSnapshot && project.isMainline
}