application-services/publish.gradle

99 строки
3.5 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/. */
ext.configurePublish = { groupIdArg, artifactIdArg, descriptionArg ->
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
}
publishing {
publications {
aar(MavenPublication) {
project.afterEvaluate {
from components.findByName("androidRelease")
}
artifact sourcesJar
// Can't publish Javadoc yet: fxaclient isn't well behaved.
// artifact javadocJar
// If this goes haywire with
// 'Cannot configure the 'publishing' extension after it has been accessed.',
// see https://github.com/researchgate/gradle-release/issues/125 and
// https://stackoverflow.com/q/28020520.
pom {
groupId = groupIdArg
artifactId = artifactIdArg
description = descriptionArg
version = rootProject.ext.library['version']
licenses {
license {
name = properties.libLicense
url = properties.libLicenseUrl
}
}
developers {
developer {
name = 'Mozilla Application Services'
email = 'application-services@mozilla.com'
}
}
scm {
connection = properties.libVcsUrl
developerConnection = properties.libVcsUrl
url = properties.libUrl
}
}
}
}
}
apply plugin: 'com.jfrog.bintray'
// It feels like this shouldn't be necessary, but without it an
// "unspecified" creeps into bintray URLs -- just like
// https://github.com/bintray/gradle-bintray-plugin/issues/244, but not
// fixed by gradle-bintray-plugin:1.8.4.
version = rootProject.ext.library['version']
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") : ""
publications = ['aar']
pkg {
repo = properties.libRepositoryName
name = artifactIdArg
desc = descriptionArg
websiteUrl = properties.libUrl
vcsUrl = properties.libVcsUrl
if (project.ext.has('vcsTag')) {
vcsTag = project.ext.vcsTag
}
licenses = [properties.libLicense]
publish = true
publicDownloadNumbers = true
}
}
}