/* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ def libRepoName = properties.libRepositoryName def libUrl = properties.libUrl def libVcsUrl = properties.libVcsUrl def libLicense = properties.libLicense def libLicenseUrl = properties.libLicenseUrl static def getLocalPublicationTimestamp() { def date = new Date() return date.format('yyyyMMddHHmmss') } // This gitHash functionality is duplicated in :support-base build.gradle. static def getGitHash() { String[] cmd = ['git', 'rev-parse', '--verify', 'HEAD'] // via https://stackoverflow.com/a/949391/2219998 def process = Runtime.getRuntime().exec(cmd) process.waitFor() return process.inputStream.getText().trim() } ext.configurePublish = { groupIdArg, artifactIdArg, descriptionArg -> apply plugin: 'maven-publish' tasks.register('sourcesJar', Jar) { from android.sourceSets.main.java.srcDirs archiveClassifier = 'sources' } android { publishing { singleVariant("release") { withSourcesJar() } } } afterEvaluate { publishing { publications { release(MavenPublication) { from components.release groupId = groupIdArg artifactId = artifactIdArg // 'local' is for streamlining local publication workflow. version = config.componentsVersion + (project.hasProperty('local') ? '-local' + project.property('local') : '') pom { description = descriptionArg licenses { license { name = libLicense url = libLicenseUrl } } developers { developer { name = 'Mozilla Android Components Team' email = 'android-components@lists.mozilla.org' } } scm { connection = libVcsUrl developerConnection = libVcsUrl url = libUrl tag = getGitHash() } } } } repositories { maven { url = "$buildDir/maven" } } } } }