summaryrefslogtreecommitdiffstats
path: root/mobile/android/android-components/publish.gradle
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-15 03:35:49 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-15 03:35:49 +0000
commitd8bbc7858622b6d9c278469aab701ca0b609cddf (patch)
treeeff41dc61d9f714852212739e6b3738b82a2af87 /mobile/android/android-components/publish.gradle
parentReleasing progress-linux version 125.0.3-1~progress7.99u1. (diff)
downloadfirefox-d8bbc7858622b6d9c278469aab701ca0b609cddf.tar.xz
firefox-d8bbc7858622b6d9c278469aab701ca0b609cddf.zip
Merging upstream version 126.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'mobile/android/android-components/publish.gradle')
-rw-r--r--mobile/android/android-components/publish.gradle97
1 files changed, 97 insertions, 0 deletions
diff --git a/mobile/android/android-components/publish.gradle b/mobile/android/android-components/publish.gradle
new file mode 100644
index 0000000000..b56d3f44d4
--- /dev/null
+++ b/mobile/android/android-components/publish.gradle
@@ -0,0 +1,97 @@
+/* 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 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 vcsHash functionality is duplicated in :support-base build.gradle.
+@Memoized
+static def getVcsHash() {
+ String[] cmd = ['git', 'rev-parse', '--verify', 'HEAD'] // via https://stackoverflow.com/a/949391/2219998
+ def process = Runtime.getRuntime().exec(cmd)
+ process.waitFor()
+ if (process.exitValue() == 0) {
+ return process.inputStream.getText().trim()
+ }
+ cmd = ['hg', 'id', '--id']
+ ProcessBuilder pb = new ProcessBuilder(cmd)
+ pb.environment().put("HGPLAIN", "1")
+ process = pb.start(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 = getVcsHash()
+ }
+ }
+ }
+ }
+ repositories {
+ maven {
+ url = "$buildDir/maven"
+ }
+ }
+ }
+ }
+}