/* * Copyright 2013 Chris Banes * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ apply plugin: 'com.android.library' apply plugin: 'maven-publish' apply plugin: 'signing' ext.isReleaseVersion = !VERSION_NAME.contains("SNAPSHOT") File secretPropsFile = project.rootProject.file('local.properties') if (secretPropsFile.exists()) { // Read local.properties file first if it exists Properties p = new Properties() new FileInputStream(secretPropsFile).withCloseable { is -> p.load(is) } p.each { name, value -> ext[name] = value } } else { // Use system environment variables ext["ossrhUsername"] = System.getenv('SONATYPE_NEXUS_USERNAME') ext["ossrhPassword"] = System.getenv('SONATYPE_NEXUS_PASSWORD') ext["signingKeyId"] = System.getenv('SIGNING_KEY_ID') ext["signingPassword"] = System.getenv('SIGNING_PASSWORD') ext["signingKey"] = System.getenv('SIGNING_KEY') } android { publishing { singleVariant('release') { withSourcesJar() withJavadocJar() } } } afterEvaluate { publishing { publications { maven(MavenPublication) { groupId = GROUP artifactId = POM_ARTIFACT_ID version = VERSION_NAME from components.release repositories { maven { def releasesRepoUrl = "https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/" def snapshotsRepoUrl = "https://s01.oss.sonatype.org/content/repositories/snapshots/" url = isReleaseVersion ? releasesRepoUrl : snapshotsRepoUrl credentials { username = ossrhUsername password = ossrhPassword } } } pom { name = POM_NAME packaging = POM_PACKAGING description = POM_DESCRIPTION url = POM_URL scm { url = POM_SCM_URL connection = POM_SCM_CONNECTION developerConnection = POM_SCM_DEV_CONNECTION } licenses { license { name = POM_LICENCE_NAME url = POM_LICENCE_URL distribution = POM_LICENCE_DIST } } developers { developer { id = POM_DEVELOPER_ID name = POM_DEVELOPER_NAME } } } } } } signing { required { isReleaseVersion && gradle.taskGraph.hasTask("publishing") } useInMemoryPgpKeys( signingKey, signingPassword, ) sign publishing.publications.maven } }