-
Notifications
You must be signed in to change notification settings - Fork 35
/
Copy pathjcenter_publish.gradle
151 lines (130 loc) · 4.59 KB
/
jcenter_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
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
apply plugin: 'com.jfrog.bintray'
apply plugin: 'com.github.dcendents.android-maven'
//apply plugin: 'org.jetbrains.dokka-android'
if (project.hasProperty("kotlin")) { //Kotlin libraries
task sourcesJar(type: Jar) {
classifier = 'sources'
from android.sourceSets.main.java.srcDirs
}
task javadoc(type: Javadoc) {
}
} else 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
}
//解决kotlin javadoc.options抱错
//dokka {
//// outputFormat = 'html'
//// outputDirectory = "$buildDir/javadoc"
//}
tasks.withType(Javadoc) {
options.addStringOption('Xdoclint:none', '-quiet')
options.addStringOption('encoding', 'UTF-8')
options.addStringOption('charSet', 'UTF-8')
}
artifacts {
archives javadocJar
archives sourcesJar
}
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
}
// project
Properties propertiesProject = new Properties()
propertiesProject.load(project.rootProject.file('project.properties').newDataInputStream())
version = propertiesProject.getProperty("project.version")
group = propertiesProject.getProperty("project.groupId")
def versionName = propertiesProject.getProperty("project.version")
def groupName = propertiesProject.getProperty("project.groupId")
def projectRepo = propertiesProject.getProperty("project.repo")
def artifact = propertiesProject.getProperty("project.artifact")
def projectName = propertiesProject.getProperty("project.name")
def projectDescription = propertiesProject.getProperty("project.description")
def siteUrl = propertiesProject.getProperty("project.siteUrl")
def gitUrl = propertiesProject.getProperty("project.gitUrl")
def packageType = propertiesProject.getProperty("project.packaging")
def licenseName = propertiesProject.getProperty("project.licenseName")
def licenseUrl = propertiesProject.getProperty("project.licenseUrl")
def allLicenses = propertiesProject.getProperty("project.allLicenses")
// Bintray
Properties propertiesLocal = new Properties()
propertiesLocal.load(project.rootProject.file('local.properties').newDataInputStream())
def developerId = propertiesLocal.getProperty("developer.id")
def developerName = propertiesLocal.getProperty("developer.name")
def developerEmail = propertiesLocal.getProperty("developer.email")
install {
repositories.mavenInstaller {
// This generates POM.xml with proper parameters
pom {
project {
packaging packageType
groupId groupName
artifactId artifact
// Add your description here
name projectName
description projectDescription
url siteUrl
// Set your license
licenses {
license {
name licenseName
url licenseUrl
}
}
developers {
developer {
id developerId
name developerName
email developerEmail
}
}
scm {
connection gitUrl
developerConnection gitUrl
url siteUrl
}
}
}
}
}
bintray {
user = propertiesLocal.getProperty("bintray.user")
key = propertiesLocal.getProperty("bintray.apikey")
configurations = ['archives']
pkg {
repo = projectRepo
name = projectName
desc = projectDescription
websiteUrl = siteUrl
vcsUrl = gitUrl
licenses = ["Apache-2.0"]
publish = true
publicDownloadNumbers = true
version {
name = versionName
desc = projectDescription
// gpg {
// sign = true //Determines whether to GPG sign the files. The default is false
// passphrase = properties.getProperty("bintray.gpg.password")
// //Optional. The passphrase for GPG signing'
// }
}
}
}
//./gradlew install
//./gradlew bintrayUpload