mentat/sdks/android/Mentat/publish.gradle
Nick Alexander 67a14ca756 [sdks/android] Build Mentat Android SDK in TaskCluster; publish org.mozilla.mentat to nalexander's personal Bintray repo.
The automation parts were cribbed directly from
50add3e176.

The automation permissions were added in
https://bugzilla.mozilla.org/show_bug.cgi?id=1477311.

This uses a very rudimentary Gradle plugin, `rust-android-gradle`,
with custom fixes and extensions.  It works pretty well for what it
is!  See https://github.com/ncalexan/rust-android-gradle.
2018-07-25 20:50:44 -07:00

99 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/. */
def libRepoName = properties.libRepositoryName
def libUrl = properties.libUrl
def libVcsUrl = properties.libVcsUrl
def libLicense = properties.libLicense
def libLicenseUrl = properties.libLicenseUrl
ext.configurePublish = { groupIdArg, artifactIdArg, descriptionArg ->
apply plugin: 'com.github.dcendents.android-maven'
group = groupIdArg
install {
repositories.mavenInstaller {
pom {
project {
packaging 'aar'
groupId groupIdArg
artifactId artifactIdArg
name libRepoName
description descriptionArg
url libUrl
licenses {
license {
name libLicense
url libLicenseUrl
}
}
developers {
developer {
id 'nalexander'
name 'Nick Alexander'
email 'nalexander@mozilla.com'
}
}
scm {
connection libVcsUrl
developerConnection libVcsUrl
url libUrl
}
}
}
}
}
apply plugin: 'com.jfrog.bintray'
version = rootProject.ext.library['version']
task sourcesJar(type: Jar) {
from android.sourceSets.main.java.srcDirs
classifier = 'sources'
}
task javadoc(type: Javadoc) {
source = android.sourceSets.main.java.srcDirs
classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
}
task javadocJar(type: Jar, dependsOn: javadoc) {
classifier = 'javadoc'
from javadoc.destinationDir
}
artifacts {
//archives javadocJar
archives sourcesJar
}
Properties localProperties = null;
if (project.rootProject.file('local.properties').canRead()) {
localProperties = new Properties()
localProperties.load(project.rootProject.file('local.properties').newDataInputStream())
}
bintray {
user = localProperties != null ? localProperties.getProperty("bintray.user") : ""
key = localProperties != null ? localProperties.getProperty("bintray.apikey") : ""
configurations = ['archives']
pkg {
repo = libRepoName
name = artifactIdArg
desc = descriptionArg
websiteUrl = libUrl
vcsUrl = libVcsUrl
licenses = [libLicense]
publish = true
publicDownloadNumbers = true
}
}
}