|
@@ -0,0 +1,105 @@
|
|
|
+apply plugin: 'maven-publish'
|
|
|
+apply plugin: 'signing'
|
|
|
+
|
|
|
+task androidSourcesJar(type: Jar) {
|
|
|
+ classifier = 'sources'
|
|
|
+ from android.sourceSets.main.java.source
|
|
|
+}
|
|
|
+
|
|
|
+ext["signing.keyId"] = ''
|
|
|
+ext["signing.password"] = ''
|
|
|
+ext["signing.secretKeyRingFile"] = ''
|
|
|
+ext["ossrhUsername"] = ''
|
|
|
+ext["ossrhPassword"] = ''
|
|
|
+
|
|
|
+File secretPropsFile = project.rootProject.file('local.properties')
|
|
|
+if (secretPropsFile.exists()) {
|
|
|
+ println "Found secret props file, loading props"
|
|
|
+ Properties p = new Properties()
|
|
|
+ p.load(new FileInputStream(secretPropsFile))
|
|
|
+ p.each { name, value ->
|
|
|
+ ext[name] = value
|
|
|
+ }
|
|
|
+} else {
|
|
|
+ println "No props file, loading env vars"
|
|
|
+}
|
|
|
+publishing {
|
|
|
+ publications {
|
|
|
+ release(MavenPublication) {
|
|
|
+ // The coordinates of the library, being set from variables that
|
|
|
+ // we'll set up in a moment
|
|
|
+ groupId PUBLISH_GROUP_ID
|
|
|
+ artifactId PUBLISH_ARTIFACT_ID
|
|
|
+ version PUBLISH_VERSION
|
|
|
+
|
|
|
+ // Two artifacts, the `aar` and the sources
|
|
|
+ artifact("$buildDir/outputs/aar/${project.getName()}-release.aar")
|
|
|
+ artifact androidSourcesJar
|
|
|
+
|
|
|
+ // Self-explanatory metadata for the most part
|
|
|
+ pom {
|
|
|
+ name = PUBLISH_ARTIFACT_ID
|
|
|
+ description = 'Kongzue DialogX'
|
|
|
+ // If your project has a dedicated site, use its URL here
|
|
|
+ url = 'https://github.com/kongzue/DialogX/'
|
|
|
+ licenses {
|
|
|
+ license {
|
|
|
+ //协议类型,一般默认Apache License2.0的话不用改:
|
|
|
+ name = 'The Apache License, Version 2.0'
|
|
|
+ url = 'http://www.apache.org/licenses/LICENSE-2.0.txt'
|
|
|
+ }
|
|
|
+ }
|
|
|
+ developers {
|
|
|
+ developer {
|
|
|
+ id = 'kongzue'
|
|
|
+ name = 'kongzue'
|
|
|
+ email = 'myzcxhh@live.cn'
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // Version control info, if you're using GitHub, follow the format as seen here
|
|
|
+ scm {
|
|
|
+ //修改成你的Git地址:
|
|
|
+ connection = 'scm:git:github.com/kongzue/DialogX.git'
|
|
|
+ developerConnection = 'scm:git:ssh://github.com/kongzue/DialogX.git'
|
|
|
+ //分支地址:
|
|
|
+ url = 'https://github.com/kongzue/DialogX/tree/master'
|
|
|
+ }
|
|
|
+ // A slightly hacky fix so that your POM will include any transitive dependencies
|
|
|
+ // that your library builds upon
|
|
|
+ withXml {
|
|
|
+ def dependenciesNode = asNode().appendNode('dependencies')
|
|
|
+
|
|
|
+ project.configurations.implementation.allDependencies.each {
|
|
|
+ def dependencyNode = dependenciesNode.appendNode('dependency')
|
|
|
+ dependencyNode.appendNode('groupId', it.group)
|
|
|
+ dependencyNode.appendNode('artifactId', it.name)
|
|
|
+ dependencyNode.appendNode('version', it.version)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ repositories {
|
|
|
+ // The repository to publish to, Sonatype/MavenCentral
|
|
|
+ maven {
|
|
|
+ // This is an arbitrary name, you may also use "mavencentral" or
|
|
|
+ // any other name that's descriptive for you
|
|
|
+ name = "DialogX"
|
|
|
+
|
|
|
+ def releasesRepoUrl = "https://oss.sonatype.org/service/local/staging/deploy/maven2/"
|
|
|
+ def snapshotsRepoUrl = "https://oss.sonatype.org/content/repositories/snapshots/"
|
|
|
+ // You only need this if you want to publish snapshots, otherwise just set the URL
|
|
|
+ // to the release repo directly
|
|
|
+ url = version.endsWith('SNAPSHOT') ? snapshotsRepoUrl : releasesRepoUrl
|
|
|
+
|
|
|
+ // The username and password we've fetched earlier
|
|
|
+ credentials {
|
|
|
+ username ossrhUsername
|
|
|
+ password ossrhPassword
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+signing {
|
|
|
+ sign publishing.publications
|
|
|
+}
|