Skip to content

Commit 35c87c7

Browse files
Langston Smithlangsmith
authored andcommitted
initial additions
1 parent 9d6f2dd commit 35c87c7

File tree

9 files changed

+175
-159
lines changed

9 files changed

+175
-159
lines changed

Makefile

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,13 @@ test:
1111
release:
1212
./gradlew :library:assembleRelease
1313

14-
publish:
15-
export IS_LOCAL_DEVELOPMENT=false; ./gradlew :library:uploadArchives
14+
publish-stable:
15+
export IS_LOCAL_DEVELOPMENT=false; ./gradlew :library:bintrayUpload
1616

1717
publish-local:
1818
# This publishes to ~/.m2/repository/com/mapbox/mapboxsdk
19-
export IS_LOCAL_DEVELOPMENT=true; ./gradlew :library:uploadArchives
19+
export IS_LOCAL_DEVELOPMENT=true; ./gradlew :library:bintrayUpload
20+
21+
publish-snapshot-to-artifactory:
22+
# This publishes to ~/.m2/repository/com/mapbox/mapboxsdk
23+
export IS_LOCAL_DEVELOPMENT=false; ./gradlew :library:artifactoryPublish

build.gradle

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,14 @@ buildscript {
55
repositories {
66
google()
77
jcenter()
8+
// For publishing files to Bintray
9+
maven { url 'https://oss.jfrog.org/artifactory/oss-snapshot-local/' }
810
}
911
dependencies {
1012
classpath pluginDependencies.gradle
11-
13+
classpath pluginDependencies.bintrayPlugin
14+
classpath pluginDependencies.androidPublishPlugin
15+
classpath pluginDependencies.artifactory
1216
// NOTE: Do not place your application dependencies here; they belong
1317
// in the individual module build.gradle files
1418
}
@@ -18,18 +22,18 @@ allprojects {
1822
repositories {
1923
google()
2024
jcenter()
25+
maven { url 'https://mapbox.bintray.com/mapbox' }
2126
}
2227
}
2328

2429
subprojects { subproject ->
2530
apply plugin: 'idea'
2631

2732
if (subproject.name == "library") {
28-
apply from: "../gradle/mvn-push-android.gradle"
2933
apply from: "../gradle/checkstyle.gradle"
3034
}
3135
}
3236

3337
task clean(type: Delete) {
3438
delete rootProject.buildDir
35-
}
39+
}

circle.yml

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -62,23 +62,27 @@ jobs:
6262
steps:
6363
- checkout
6464
- run:
65-
name: Generate Maven credentials
65+
name: Generate Bintray credentials
6666
shell: /bin/bash -euo pipefail
6767
command: |
68-
aws s3 cp s3://mapbox/android/signing-credentials/secring.gpg secring.gpg
69-
echo "NEXUS_USERNAME=$PUBLISH_NEXUS_USERNAME
70-
NEXUS_PASSWORD=$PUBLISH_NEXUS_PASSWORD
71-
signing.keyId=$SIGNING_KEYID
72-
signing.password=$SIGNING_PASSWORD
73-
signing.secretKeyRingFile=../secring.gpg" >> gradle.properties
68+
if [ -n "${BINTRAY_USER}" ]; then
69+
echo "BINTRAY_USER=$BINTRAY_USER
70+
BINTRAY_API_KEY=$BINTRAY_API_KEY
71+
GPG_PASSPHRASE=$GPG_PASSPHRASE"
72+
fi
7473
- run:
7574
name: Build libraries
7675
command: make release
7776
- deploy:
78-
name: Publish to Maven Central
77+
name: Publish to Bintray
7978
command: |
80-
if [ "${CIRCLE_BRANCH}" == "master" ]; then
81-
make publish ;
79+
if [[ $CIRCLE_BRANCH == master ]] || [[ $CIRCLE_BRANCH == release-v* ]] || [[ $CIRCLE_TAG == v* ]]; then
80+
version=$(cat library/gradle.properties | grep "VERSION_NAME")
81+
if [[ $version != *"SNAPSHOT"* ]]; then
82+
make publish-stable
83+
else
84+
make publish-snapshot-to-artifactory
85+
fi
8286
fi
8387
- store_artifacts:
8488
path: app/build/reports

gradle/artifact-settings.gradle

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
ext {
2+
mapboxArtifactGroupId = 'com.mapbox.mapboxsdk'
3+
mapboxArtifactId = 'mapbox-android-gestures'
4+
mapboxArtifactTitle = 'Mapbox Android Gestures Library'
5+
mapboxArtifactDescription = 'Mapbox Android Gestures Library'
6+
mapboxDeveloperName = 'Mapbox'
7+
mapboxDeveloperId = 'mapbox'
8+
mapboxArtifactUrl = 'https://github.com/mapbox/mapbox-gestures-android'
9+
mapboxArtifactVcsUrl = 'https://github.com/mapbox/mapbox-gestures-android.git'
10+
mapboxArtifactScmUrl = 'scm:git@github.com/mapbox/mapbox-gestures-android.git'
11+
mapboxArtifactLicenseName = 'BSD'
12+
mapboxArtifactLicenseUrl = 'https://opensource.org/licenses/BSD-2-Clause'
13+
versionName = project.hasProperty('VERSION_NAME') ? project.property('VERSION_NAME') : System.getenv('VERSION_NAME')
14+
15+
mapboxBintrayUserOrg = 'mapbox'
16+
mapboxBintrayRepoName = 'mapbox'
17+
mapboxBintrayUser = project.hasProperty('BINTRAY_USER') ? project.property('BINTRAY_USER') : System.getenv('BINTRAY_USER')
18+
mapboxBintrayApiKey = project.hasProperty('BINTRAY_API_KEY') ? project.property('BINTRAY_API_KEY') : System.getenv('BINTRAY_API_KEY')
19+
mapboxGpgPassphrase = project.hasProperty('GPG_PASSPHRASE') ? project.property('GPG_PASSPHRASE') : System.getenv('GPG_PASSPHRASE')
20+
}

gradle/dependencies.gradle

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,11 @@ ext {
1717
]
1818

1919
pluginVersion = [
20-
checkstyle: '8.4',
21-
gradle : '3.3.0'
20+
checkstyle : '8.4',
21+
gradle : '3.3.0',
22+
bintray : '1.8.4',
23+
androidPublish : '3.6.2',
24+
artifactory : '4.9.3',
2225
]
2326

2427
dependenciesList = [
@@ -47,7 +50,10 @@ ext {
4750
]
4851

4952
pluginDependencies = [
50-
gradle : "com.android.tools.build:gradle:${pluginVersion.gradle}",
51-
checkstyle: "com.puppycrawl.tools:checkstyle:${pluginVersion.checkstyle}"
53+
gradle : "com.android.tools.build:gradle:${pluginVersion.gradle}",
54+
checkstyle : "com.puppycrawl.tools:checkstyle:${pluginVersion.checkstyle}",
55+
bintrayPlugin : "com.jfrog.bintray.gradle:gradle-bintray-plugin:${pluginVersion.bintray}",
56+
androidPublishPlugin : "digital.wup:android-maven-publish:${pluginVersion.androidPublish}",
57+
artifactory : "org.jfrog.buildinfo:build-info-extractor-gradle:${pluginVersion.artifactory}"
5258
]
5359
}

gradle/gradle-bintray.gradle

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
apply plugin: 'digital.wup.android-maven-publish'
2+
apply plugin: 'maven-publish'
3+
apply plugin: 'com.jfrog.bintray'
4+
apply plugin: 'com.jfrog.artifactory'
5+
apply from: file('../gradle/artifact-settings.gradle')
6+
7+
publishing {
8+
publications {
9+
MapboxGesturesPublication(MavenPublication) {
10+
from components.android
11+
groupId project.ext.mapboxArtifactGroupId
12+
artifactId project.ext.mapboxArtifactId
13+
version project.ext.versionName
14+
15+
afterEvaluate {
16+
artifact("$buildDir/outputs/aar/${project.name}-release.aar")
17+
artifact(androidSourcesJar)
18+
artifact(androidJavadocsJar)
19+
}
20+
21+
pom.withXml {
22+
final mainNode = asNode()
23+
mainNode.appendNode('name', project.ext.mapboxArtifactTitle)
24+
mainNode.appendNode('description', project.ext.mapboxArtifactTitle)
25+
mainNode.appendNode('url', project.ext.mapboxArtifactUrl)
26+
27+
final licenseNode = mainNode.appendNode('licenses').appendNode('license')
28+
licenseNode.appendNode('name', project.ext.mapboxArtifactLicenseName)
29+
licenseNode.appendNode('url', project.ext.mapboxArtifactLicenseUrl)
30+
licenseNode.appendNode('distribution', "repo")
31+
32+
final developerNode = mainNode.appendNode('developers').appendNode('developer')
33+
developerNode.appendNode('id', project.ext.mapboxDeveloperId)
34+
developerNode.appendNode('name', project.ext.mapboxDeveloperName)
35+
36+
final scmNode = mainNode.appendNode("scm")
37+
scmNode.appendNode("connection", project.ext.mapboxArtifactScmUrl)
38+
scmNode.appendNode("developerConnection", project.ext.mapboxArtifactScmUrl)
39+
scmNode.appendNode("url", project.ext.mapboxArtifactUrl)
40+
}
41+
42+
}
43+
}
44+
}
45+
46+
bintray {
47+
user = mapboxBintrayUser
48+
key = mapboxBintrayApiKey
49+
publications = ['MapboxGesturesPublication']
50+
pkg {
51+
repo = project.ext.mapboxBintrayRepoName
52+
name = project.ext.mapboxArtifactId
53+
userOrg = project.ext.mapboxBintrayUserOrg
54+
licenses = [project.ext.mapboxArtifactLicenseName]
55+
vcsUrl = project.ext.mapboxArtifactVcsUrl
56+
publish = false
57+
version {
58+
name = project.ext.versionName
59+
desc = project.ext.mapboxArtifactDescription
60+
released = new Date()
61+
gpg {
62+
sign = true
63+
passphrase = mapboxGpgPassphrase
64+
}
65+
mavenCentralSync {
66+
sync = false
67+
}
68+
}
69+
}
70+
}
71+
72+
artifactory {
73+
contextUrl = 'http://oss.jfrog.org'
74+
publish {
75+
repository {
76+
repoKey = 'oss-snapshot-local'
77+
username = mapboxBintrayUser
78+
password = mapboxBintrayApiKey
79+
}
80+
defaults {
81+
publications('MapboxGesturesPublication')
82+
}
83+
}
84+
}
85+
86+
87+
tasks.withType(Javadoc) {
88+
options.addStringOption('encoding', 'UTF-8')
89+
options.addStringOption('docencoding', 'UTF-8')
90+
options.addStringOption('charset', 'UTF-8')
91+
}

gradle/javadoc.gradle

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
apply from: "${rootDir}/gradle/dependencies.gradle"
2+
3+
android.libraryVariants.all { variant ->
4+
def name = variant.name
5+
task "javadoc$name"(type: Javadoc) {
6+
description = "Generates javadoc for build $name"
7+
failOnError = false
8+
destinationDir = new File(destinationDir, variant.baseName)
9+
source = variant.sourceSets.collect { it.java.sourceFiles }.inject { m, i -> m + i }
10+
classpath = files(android.bootClasspath)
11+
options.windowTitle("$POM_NAME $VERSION_NAME Reference")
12+
options.docTitle("$POM_NAME $VERSION_NAME")
13+
options.header("$POM_NAME $VERSION_NAME Reference")
14+
options.bottom("© 2015–2019 Mapbox. All rights reserved.")
15+
options.links("http://docs.oracle.com/javase/7/docs/api/")
16+
options.linksOffline("http://d.android.com/reference/", "$System.env.ANDROID_HOME/docs/reference")
17+
exclude '**/R.java', '**/BuildConfig.java', '**/*.kt'
18+
}
19+
}

gradle/mvn-push-android.gradle

Lines changed: 0 additions & 138 deletions
This file was deleted.

0 commit comments

Comments
 (0)