/* 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/. */ import groovy.transform.Memoized def libLicense = properties.libLicense def libLicenseUrl = properties.libLicenseUrl static def getLocalPublicationTimestamp() { def date = new Date() return date.format('yyyyMMddHHmmss') } 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 { if (gradle.mozconfig.substs.MOZ_INCLUDE_SOURCE_INFO) { // URL is like "https://hg.mozilla.org/mozilla-central/rev/1e64b8a0c546a49459d404aaf930d5b1f621246a". connection = "scm:hg:${gradle.mozconfig.source_repo.MOZ_SOURCE_REPO}" url = gradle.mozconfig.source_repo.MOZ_SOURCE_URL tag = gradle.mozconfig.source_repo.MOZ_SOURCE_STAMP } else { // Default to mozilla-central. connection = 'scm:hg:https://hg.mozilla.org/mozilla-central/' url = 'https://hg.mozilla.org/mozilla-central/' } } } } } repositories { maven { url = "${gradle.mozconfig.topobjdir}/gradle/maven" } } } } }