Skip to content

Commit 5accffe

Browse files
authored
Update publishMavenCentral.gradle
1 parent 75e8d94 commit 5accffe

File tree

1 file changed

+0
-163
lines changed

1 file changed

+0
-163
lines changed

publishMavenCentral.gradle

Lines changed: 0 additions & 163 deletions
Original file line numberDiff line numberDiff line change
@@ -1,164 +1 @@
1-
apply plugin: 'maven-publish'
2-
apply plugin: 'signing'
31

4-
def repository = 'maven'
5-
def qCloudGroupId = 'com.qcloud.cos'
6-
7-
8-
def sonatypeUsername = findProperty("ossrhUsername")
9-
def sonatypePassword = findProperty("ossrhPassword")
10-
11-
System.out.println("sonatypeUsername " + sonatypeUsername)
12-
13-
def developerId = 'tencentqcloud'
14-
def developerName = 'tencentqcloudterminal'
15-
def developerEmail = '[email protected]'
16-
17-
def userOrganization = 'tencentqcloudterminal'
18-
def siteUrl = 'https://cloud.tencent.com/'
19-
def gitUrl = 'https://github.com/tencentyun/qcloud-sdk-android.git'
20-
def githubUrl = 'https://github.com/tencentyun/qcloud-sdk-android'
21-
def licensesUrl = 'https://github.com/tencentyun/qcloud-sdk-android/blob/master/LICENSE'
22-
def qcloudLicenses = ["MIT"]
23-
24-
def projectVersionName = android.defaultConfig.versionName
25-
def projectArtifactId = project.extensions.getByName('artifactId')
26-
// def projectArchiveName = project.extensions.getByName('archiveName')
27-
def projectDesc = project.extensions.getByName('artifactDesc')
28-
def projectPackageName = project.extensions.findByName('packageName')
29-
def artifactProduct = project.extensions.findByName('artifactProduct')
30-
def archiveFilePath = project.extensions.findByName('archiveFilePath')
31-
def lang = project.extensions.findByName('lang')
32-
if (!lang) {
33-
lang = 'java'
34-
}
35-
def packageType = project.extensions.findByName('packageType')
36-
packageType = packageType == null ? "jar" : packageType
37-
packageType = 'aar'
38-
39-
group = qCloudGroupId
40-
version = android.defaultConfig.versionName
41-
archivesBaseName = projectArtifactId
42-
if (!projectPackageName) {
43-
projectPackageName = projectArtifactId
44-
}
45-
46-
47-
// publish to mavencentral
48-
publishing {
49-
publications {
50-
mavenAar(MavenPublication) {
51-
groupId group
52-
artifactId projectArtifactId
53-
version version
54-
artifact("$buildDir/${archiveFilePath}")
55-
pom {
56-
name = projectArtifactId
57-
description = projectDesc
58-
url = githubUrl
59-
packaging = packageType
60-
licenses {
61-
license {
62-
name = 'Tencent Binary License'
63-
url = licensesUrl
64-
}
65-
}
66-
developers {
67-
developer {
68-
id = ossrhUsername
69-
name = ossrhUsername
70-
71-
}
72-
}
73-
scm {
74-
url = 'scm:[email protected]:tencentyun/qcloud-sdk-android.git'
75-
connection = 'scm:[email protected]:tencentyun/qcloud-sdk-android.git'
76-
developerConnection = 'scm:[email protected]:tencentyun/qcloud-sdk-android.git'
77-
}
78-
79-
withXml {
80-
81-
def dependenciesNode = asNode().appendNode('dependencies')
82-
//拿到所有编译时的依赖
83-
def dependenciesList = []
84-
dependenciesList.addAll(configurations.implementation.allDependencies)
85-
dependenciesList.addAll(configurations.api.allDependencies)
86-
dependenciesList.each {
87-
if (null != it.group) {
88-
def dependencyNode = dependenciesNode.appendNode('dependency')
89-
dependencyNode.appendNode('groupId', it.group)
90-
def artifactId = it.name
91-
if (it.hasProperty('dependencyProject')) {
92-
artifactId = it.dependencyProject.extensions.findByName('artifactId')
93-
}
94-
System.out.println('artifactId is ${}' + artifactId)
95-
dependencyNode.appendNode('artifactId', artifactId)
96-
dependencyNode.appendNode('version', it.version)
97-
dependencyNode.appendNode('scope', 'compile')
98-
}
99-
}
100-
}
101-
}
102-
103-
}
104-
}
105-
repositories {
106-
maven {
107-
def releasesRepoUrl = "https://oss.sonatype.org/service/local/staging/deploy/maven2"
108-
def snapshotsRepoUrl = "https://oss.sonatype.org/content/repositories/snapshots"
109-
url = version.endsWith('SNAPSHOT') ? snapshotsRepoUrl : releasesRepoUrl
110-
credentials {
111-
username = sonatypeUsername
112-
password = sonatypePassword
113-
}
114-
}
115-
}
116-
}
117-
118-
signing {
119-
sign publishing.publications.mavenAar
120-
}
121-
122-
// generate javadoc
123-
android.libraryVariants.all { variant ->
124-
if(variant.name == 'release' || (artifactProduct && variant.name == artifactProduct + 'Release')) {
125-
task("generate${variant.name.capitalize()}Javadoc", type: Javadoc) {
126-
description "Generates Javadoc for $variant.name."
127-
source = variant.javaCompile.source
128-
options.encoding("utf-8")
129-
// exclude '**/BuildConfig.java'
130-
exclude '**/R.java'
131-
doFirst {
132-
classpath = files(variant.javaCompile.classpath.files, project.android.getBootClasspath())
133-
}
134-
}
135-
task("javadocJar", type: Jar, dependsOn: "generate${variant.name.capitalize()}Javadoc") {
136-
classifier = 'javadoc'
137-
from tasks.getByName("generate${variant.name.capitalize()}Javadoc").destinationDir
138-
}
139-
task("sourcesJar", type: Jar) {
140-
classifier = 'sources'
141-
from artifactProduct ? android.sourceSets."${artifactProduct}".java.srcDirs + android.sourceSets.main.java.srcDirs : android.sourceSets.main.java.srcDirs
142-
}
143-
def releaseJavaTask = artifactProduct ? "compile${artifactProduct.capitalize()}ReleaseJavaWithJavac" :
144-
"compileRelease${lang == 'kotlin' ? 'Kotlin' : 'JavaWithJavac'}"
145-
task("androidLibraryJar", type: Jar, dependsOn: releaseJavaTask ) {
146-
from tasks.getByName(releaseJavaTask).destinationDir
147-
exclude '**/R.class'
148-
exclude '**/R$*.class'
149-
exclude '**/BuildConfig.class'
150-
}
151-
artifacts {
152-
if (!packageType.equals("aar")) {
153-
archives tasks.getByName("androidLibraryJar")
154-
}
155-
archives tasks.getByName("javadocJar")
156-
archives tasks.getByName("sourcesJar")
157-
}
158-
}
159-
}
160-
161-
task releaseLibrary(type: Copy){
162-
from('build/libs/')
163-
into("../release/${projectVersionName}/")
164-
}

0 commit comments

Comments
 (0)