[android] moving from github packages to bintray to allow public access to packages

This commit is contained in:
Petr Pokorny
2020-12-22 20:29:44 +01:00
parent b5fb350443
commit af76710a92
6 changed files with 118 additions and 12 deletions

View File

@@ -175,6 +175,15 @@ jobs:
# deploy to github maven repo
- name: Publish package
if: ${{ false }} # temporarily disabled
run: make android-maven-publish
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# deploy to bintray
- name: Publish to Bintray
run: make run-android-upload-to-bintray
env:
BINTRAY_USER: ${{ secrets.BINTRAY_USER }}
BINTRAY_API_KEY: ${{ secrets.BINTRAY_API_KEY }}
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}

View File

@@ -33,18 +33,12 @@ Beside merging in platform specific SDKs, the following changes were made compar
repositories {
...
maven {
url = "https://maven.pkg.github.com/maptiler/maplibre-gl-native"
credentials {
username = "maptiler"
password = "7316cac510384aaa7408b9feb49341a15ba68171"
}
url = "https://dl.bintray.com/maplibre/maplibre-gl-native"
}
}
}
```
> The credentials section is required because [GitHub does not support public access to maven package repository currently](https://github.community/t/download-from-github-package-registry-without-authentication/14407/63).
2. Add the library as a dependency into your module build.gradle
```gradle

View File

@@ -101,5 +101,5 @@ apply from: "${rootDir}/gradle/gradle-checkstyle.gradle"
apply from: "${rootDir}/gradle/gradle-dependencies-graph.gradle"
apply from: "${rootDir}/gradle/gradle-update-vendor-modules.gradle"
apply from: "${rootDir}/gradle/android-nitpick.gradle"
apply from: "${rootDir}/gradle/gradle-gitpackages.gradle"
apply from: "${rootDir}/gradle/gradle-bintray-maplibre.gradle"
apply from: "${rootDir}/gradle/jacoco-report.gradle"

View File

@@ -23,7 +23,7 @@ allprojects {
google()
jcenter()
// For publishing Maps SDK files to Bintray
maven { url 'https://mapbox.bintray.com/mapbox' }
// maven { url 'https://mapbox.bintray.com/mapbox' }
// Snapshot repository
// maven { url 'https://oss.jfrog.org/artifactory/oss-snapshot-local/' }
}

View File

@@ -13,9 +13,9 @@ ext {
mapboxPackageRepository = 'https://maven.pkg.github.com/maptiler/maplibre-gl-native'
versionName = project.hasProperty('VERSION_NAME') ? project.property('VERSION_NAME') : System.getenv('VERSION_NAME')
mapboxBintrayUserOrg = 'mapbox'
mapboxBintrayRepoName = 'mapbox'
mapboxBintrayPackageName = 'com.mapbox.mapboxsdk:mapbox-android-sdk'
mapboxBintrayUserOrg = 'maplibre'
mapboxBintrayRepoName = 'maplibre-gl-native'
mapboxBintrayPackageName = 'org.maplibre.gl:android-sdk'
mapboxBintrayUser = project.hasProperty('BINTRAY_USER') ? project.property('BINTRAY_USER') : System.getenv('BINTRAY_USER')
mapboxBintrayApiKey = project.hasProperty('BINTRAY_API_KEY') ? project.property('BINTRAY_API_KEY') : System.getenv('BINTRAY_API_KEY')
mapboxGpgPassphrase = project.hasProperty('GPG_PASSPHRASE') ? project.property('GPG_PASSPHRASE') : System.getenv('GPG_PASSPHRASE')

View File

@@ -0,0 +1,103 @@
apply plugin: 'digital.wup.android-maven-publish'
apply plugin: 'maven-publish'
apply plugin: 'com.jfrog.bintray'
apply from: file('../gradle/artifact-settings.gradle')
version = project.ext.versionName
group = project.ext.mapboxArtifactGroupId
publishing {
publications {
MapboxMapsSdkPublication(MavenPublication) {
from components.android
groupId this.group
artifactId project.ext.mapboxArtifactId
version this.version
afterEvaluate {
artifact(androidSourcesJar)
artifact(androidJavadocsJar)
}
pom.withXml {
final mainNode = asNode()
mainNode.appendNode('name', project.ext.mapboxArtifactTitle)
mainNode.appendNode('description', project.ext.mapboxArtifactTitle)
mainNode.appendNode('url', project.ext.mapboxArtifactUrl)
final licenseNode = mainNode.appendNode('licenses').appendNode('license')
licenseNode.appendNode('name', project.ext.mapboxArtifactLicenseName)
licenseNode.appendNode('url', project.ext.mapboxArtifactLicenseUrl)
licenseNode.appendNode('distribution', "repo")
final developerNode = mainNode.appendNode('developers').appendNode('developer')
developerNode.appendNode('id', project.ext.mapboxDeveloperId)
developerNode.appendNode('name', project.ext.mapboxDeveloperName)
final scmNode = mainNode.appendNode("scm")
scmNode.appendNode("connection", project.ext.mapboxArtifactScmUrl)
scmNode.appendNode("developerConnection", project.ext.mapboxArtifactScmUrl)
scmNode.appendNode("url", project.ext.mapboxArtifactUrl)
}
}
}
}
bintray {
user = mapboxBintrayUser
key = mapboxBintrayApiKey
publications('MapboxMapsSdkPublication')
publish = true
override = true
pkg {
repo = project.ext.mapboxBintrayRepoName
name = project.ext.mapboxBintrayPackageName
userOrg = project.ext.mapboxBintrayUserOrg
licenses = [project.ext.mapboxArtifactLicenseName]
vcsUrl = project.ext.mapboxArtifactVcsUrl
version {
name = project.ext.versionName
desc = project.ext.mapboxArtifactDescription
released = new Date()
gpg {
sign = true
passphrase = mapboxGpgPassphrase
}
mavenCentralSync {
sync = false
}
}
}
}
task androidJavadocs(type: Javadoc) {
source = android.sourceSets.main.java.sourceFiles
classpath = files(android.bootClasspath)
failOnError = false
}
task androidJavadocsJar(type: Jar, dependsOn: androidJavadocs) {
classifier = 'javadoc'
from androidJavadocs.destinationDir
}
task androidSourcesJar(type: Jar) {
classifier = 'sources'
from android.sourceSets.main.java.sourceFiles
}
tasks.withType(Javadoc) {
options.addStringOption('encoding', 'UTF-8')
options.addStringOption('docencoding', 'UTF-8')
options.addStringOption('charset', 'UTF-8')
}
afterEvaluate { project ->
android.libraryVariants.all { variant ->
tasks.androidJavadocs.doFirst {
classpath += files(variant.javaCompile.classpath.files)
}
}
}