81 lines
2.9 KiB
Groovy
81 lines
2.9 KiB
Groovy
/* 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"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|