forked from jjerry/OkDeepLink
-
Notifications
You must be signed in to change notification settings - Fork 0
/
bintrayUpload.gradle
129 lines (111 loc) · 3.78 KB
/
bintrayUpload.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
126
127
128
129
apply plugin: 'com.github.dcendents.android-maven'
apply plugin: 'com.jfrog.bintray'
// load properties
Properties properties = new Properties()
DataInputStream localDataInputStream = null;
DataInputStream gradleDataInputStream = null;
if (project.rootProject.file('local.properties').canRead()) {
File localPropertiesFile = project.rootProject.file('local.properties');
localDataInputStream = localPropertiesFile.newDataInputStream();
properties.load(localDataInputStream);
}
if (project.rootProject.file("gradle.properties").canRead()) {
File projectPropertiesFile = project.rootProject.file("gradle.properties");
gradleDataInputStream = projectPropertiesFile.newDataInputStream();
properties.load(gradleDataInputStream);
}
// read properties
def projectDescription = properties.getProperty("description")
def projectGroupId = properties.getProperty("groupId")
def projectArtifactId = properties.getProperty("artifactId")
def projectVersionName = properties.getProperty("versionName")
def projectPackaging = properties.getProperty("packaging")
def projectSiteUrl = properties.getProperty("siteUrl")
def projectGitUrl = properties.getProperty("gitUrl")
def developerId = properties.getProperty("developer.id")
def developerName = properties.getProperty("developer.name")
def developerEmail = properties.getProperty("developer.email")
def bintrayUser = properties.getProperty("bintray.user")
def bintrayApikey = properties.getProperty("bintray.apikey")
if (localDataInputStream != null) {
localDataInputStream.close();
}
if (gradleDataInputStream != null) {
gradleDataInputStream.close();
}
version = projectVersionName
group = projectGroupId
install {
repositories.mavenInstaller {
// This generates POM.xml with proper parameters
pom {
project {
packaging projectPackaging
// Add your description here
name projectDescription //项目描述
url projectSiteUrl
// Set your license
licenses {
license {
name 'The Apache Software License, Version 2.0'
url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
}
}
developers {
developer {
id developerId //填写的一些基本信息
name developerName
email developerEmail
}
}
scm {
connection projectGitUrl
developerConnection projectGitUrl
url projectSiteUrl
}
}
}
}
}
if (project.hasProperty("android")) { // Android libraries
task sourcesJar(type: Jar) {
classifier = 'sources'
from android.sourceSets.main.java.srcDirs
}
task javadoc(type: Javadoc) {
source = android.sourceSets.main.java.srcDirs
classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
}
} else { // Java libraries
task sourcesJar(type: Jar, dependsOn: classes) {
classifier = 'sources'
from sourceSets.main.allSource
}
}
task javadocJar(type: Jar, dependsOn: javadoc) {
classifier = 'javadoc'
from javadoc.destinationDir
}
javadoc {
options {
encoding "UTF-8"
charSet 'UTF-8'
}
}
artifacts {
archives javadocJar
archives sourcesJar
}
bintray {
user = bintrayUser
key = bintrayApikey
configurations = ['archives']
pkg {
repo = "maven"
name = project.archivesBaseName //发布到JCenter上的项目名字
websiteUrl = projectGitUrl
vcsUrl = projectGitUrl
licenses = ["Apache-2.0"]
publish = true
}
}