123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- 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
- }
|