summaryrefslogtreecommitdiff
path: root/platform/android/gradle
diff options
context:
space:
mode:
authorLangston Smith <langston.smith@mapbox.com>2019-02-14 17:24:41 -0800
committerŁukasz Paczos <lukasz.paczos@mapbox.com>2019-03-07 18:46:51 +0100
commit13a6f4c3dbd9f734dae0f0e3941748d912add449 (patch)
tree3d4e4fcb6bc4a5dcbd53deabed48b4f0aaf341a1 /platform/android/gradle
parentfa4fa5d9fe41874d463ba8df29db61ba4bc1b89e (diff)
downloadqtlocation-mapboxgl-13a6f4c3dbd9f734dae0f0e3941748d912add449.tar.gz
[android] initial additions for bintray plugin setup
Diffstat (limited to 'platform/android/gradle')
-rw-r--r--platform/android/gradle/artifact-settings.gradle22
-rw-r--r--platform/android/gradle/dependencies.gradle4
-rw-r--r--platform/android/gradle/gradle-bintray.gradle125
3 files changed, 151 insertions, 0 deletions
diff --git a/platform/android/gradle/artifact-settings.gradle b/platform/android/gradle/artifact-settings.gradle
new file mode 100644
index 0000000000..c9f3753cec
--- /dev/null
+++ b/platform/android/gradle/artifact-settings.gradle
@@ -0,0 +1,22 @@
+ext {
+ mapboxArtifactDeveloperName = 'Mapbox'
+ mapboxArtifactGroupId = 'com.mapbox.mapboxsdk'
+ mapboxArtifactUrl = 'https://github.com/mapbox/mapbox-gl-native'
+ mapboxArtifactVcsUrl = 'https://github.com/mapbox/mapbox-gl-native.git'
+ mapboxArtifactTrackerUrl = 'https://github.com/mapbox/mapbox-gl-native/issues'
+ mapboxArtifactScmUrl = 'scm:git@github.com:mapbox/mapbox-gl-native.git'
+ mapboxArtifactGitUrl = 'https://github.com/mapbox/mapbox-gl-native'
+ mapboxLicenseName = 'BSD'
+ mapboxLicenseUrl = 'https://opensource.org/licenses/BSD-2-Clause'
+ mapboxArtifactInceptionYear = '2014'
+ versionName = project.hasProperty('versionName') ? project.property('versionName') : System.getenv('VERSION_NAME')
+
+ mapboxBintrayUserOrg = 'mapbox'
+ mapboxBintrayRepoName = 'mapbox'
+
+ // mapboxBintrayArtifactId is the same as mapboxArtifactGroup because of a weird bug
+ // https://github.com/bintray/gradle-bintray-plugin/issues/88
+ mapboxArtifactId = 'mapbox-android-sdk'
+ mapboxArtifactTitle = 'Mapbox Maps SDK for Android'
+ mapboxArtifactDescription = 'Mapbox Maps SDK for Android'
+}
diff --git a/platform/android/gradle/dependencies.gradle b/platform/android/gradle/dependencies.gradle
index 8a4215369a..5def4470ca 100644
--- a/platform/android/gradle/dependencies.gradle
+++ b/platform/android/gradle/dependencies.gradle
@@ -24,6 +24,8 @@ ext {
okhttp : '3.12.0',
kotlin : '1.3.11',
licenses : '0.8.42',
+ bintray : '1.8.4',
+ maven : '2.1',
lint : '26.1.4',
gms : '16.0.0',
reLinker : '1.3.1'
@@ -66,6 +68,8 @@ ext {
kotlinLib : "org.jetbrains.kotlin:kotlin-stdlib-jdk8:${versions.kotlin}",
kotlinPlugin : "org.jetbrains.kotlin:kotlin-gradle-plugin:${versions.kotlin}",
licensesPlugin : "com.jaredsburrows:gradle-license-plugin:${versions.licenses}",
+ bintrayPlugin : "com.jfrog.bintray.gradle:gradle-bintray-plugin:${versions.bintray}",
+ mavenPlugin : "com.github.dcendents:android-maven-gradle-plugin:${versions.maven}",
lint : "com.android.tools.lint:lint:${versions.lint}",
lintApi : "com.android.tools.lint:lint-api:${versions.lint}",
diff --git a/platform/android/gradle/gradle-bintray.gradle b/platform/android/gradle/gradle-bintray.gradle
new file mode 100644
index 0000000000..7e14a4c1ef
--- /dev/null
+++ b/platform/android/gradle/gradle-bintray.gradle
@@ -0,0 +1,125 @@
+apply plugin: 'com.github.dcendents.android-maven'
+apply plugin: 'maven-publish'
+apply from: file('../gradle/artifact-settings.gradle')
+
+
+group = project.ext.mapboxArtifactGroupId
+project.archivesBaseName = project.ext.mapboxArtifactId
+
+install {
+ repositories.mavenInstaller {
+ pom.project {
+
+ // Make sure that artifactId and name are the same String values!
+ // https://github.com/bintray/gradle-bintray-plugin/issues/81#issuecomment-149632738
+
+ name project.ext.mapboxArtifactId
+ println 'name = ' + name
+
+ description project.ext.mapboxArtifactDescription
+ println 'description = ' + description
+ url project.ext.mapboxArtifactGitUrl
+ inceptionYear project.ext.mapboxArtifactInceptionYear
+
+ packaging 'aar'
+ groupId project.ext.mapboxArtifactGroupId
+ artifactId project.ext.mapboxArtifactId
+ version project.ext.versionName
+ println 'version = ' + version
+
+ scm {
+ connection project.ext.mapboxArtifactVcsUrl
+ url project.ext.mapboxArtifactScmUrl
+ }
+
+ developers {
+ developer {
+ name project.ext.mapboxArtifactDeveloperName
+ }
+ }
+
+ licenses {
+ license {
+ name project.ext.mapboxLicenseName
+ url project.ext.mapboxLicenseUrl
+ distribution 'repo'
+ }
+ }
+ }
+ }
+}
+
+publishing {
+ publications {
+ MapboxMapsSdkPublication(MavenPublication) {
+
+ artifact("$buildDir/outputs/aar/mapbox-android-sdk-release.aar")
+
+ // TODO: Uncomment these and use exisiting Gradle tasks in `gradle-publish.gradle` ?
+ // TODO: https://github.com/search?q=%22artifact%28sourcesJar%29+++++++++++++artifact%28javadocJar%29%22&type=Code
+ /*artifact(sourcesJar)
+ artifact(javadocJar)
+*/
+ // For some reason, uncommented the following 3 declarations throws an error:
+ /*
+ groupId 'com.mapbox.mapboxsdk'
+ artifactId = 'mapbox-android-sdk'
+ version project.ext.versionName
+ */
+
+ pom.withXml {
+ def dependenciesNode = asNode().getAt('dependencies')[0] ?: asNode().appendNode('dependencies')
+
+ // Iterate over the implementation dependencies (we don't want the test ones), adding a <dependency> node for each
+ configurations.implementation.allDependencies.each {
+ // Ensure dependencies such as fileTree are not included.
+ if (it.name != 'unspecified') {
+ def dependencyNode = dependenciesNode.appendNode('dependency')
+ dependencyNode.appendNode('groupId', it.group)
+ dependencyNode.appendNode('artifactId', it.name)
+ dependencyNode.appendNode('version', it.version)
+ }
+ }
+ }
+ }
+ }
+}
+
+bintray {
+
+ user = project.hasProperty('bintrayUser') ? project.property('bintrayUser') : System.getenv('BINTRAY_USER')
+
+ key = project.hasProperty('bintrayApiKey') ? project.property('bintrayApiKey') : System.getenv('BINTRAY_KEY')
+
+ publications = ['MapboxMapsSdkPublication']
+ pkg {
+
+ repo = project.ext.mapboxBintrayRepoName
+ println 'pkg repo = ' + repo
+
+ name = project.ext.mapboxArtifactId
+ println 'pkg name = ' + name
+
+ userOrg = project.ext.mapboxBintrayUserOrg
+ println 'pkg userOrg = ' + userOrg
+
+ licenses = [project.ext.mapboxLicenseName]
+ vcsUrl = project.ext.mapboxArtifactVcsUrl
+ version {
+ name = project.ext.versionName
+ desc = 'Mapbox Maps SDK for Android'
+ released = new Date()
+ println 'version released = ' + released
+
+ gpg {
+ sign = true
+ passphrase = project.hasProperty('gpgPassphrase') ? project.property('gpgPassphrase') : System.getenv('GPG_PASSPHRASE')
+ }
+ mavenCentralSync {
+ sync = false
+ }
+ }
+ }
+}
+
+