summaryrefslogtreecommitdiff
path: root/platform/android
diff options
context:
space:
mode:
Diffstat (limited to 'platform/android')
-rw-r--r--platform/android/.gitignore1
-rw-r--r--platform/android/bitrise.yml53
-rw-r--r--platform/android/platform.gyp (renamed from platform/android/mapboxgl-app.gypi)123
-rw-r--r--platform/android/scripts/defaults.mk11
-rwxr-xr-xplatform/android/scripts/install.sh13
-rwxr-xr-xplatform/android/scripts/run.sh56
6 files changed, 71 insertions, 186 deletions
diff --git a/platform/android/.gitignore b/platform/android/.gitignore
index 57cd31fea2..53e7540178 100644
--- a/platform/android/.gitignore
+++ b/platform/android/.gitignore
@@ -12,7 +12,6 @@ build/
# JNI
MapboxGLAndroidSDK/src/main/jniLibs/
-MapboxGLAndroidSDK/src/main/obj.target/
# Lib assets
MapboxGLAndroidSDK/src/main/assets/
diff --git a/platform/android/bitrise.yml b/platform/android/bitrise.yml
index f67edac3d8..c1c4407bde 100644
--- a/platform/android/bitrise.yml
+++ b/platform/android/bitrise.yml
@@ -24,29 +24,15 @@ workflows:
envman add --key SKIPCI --value false
fi
- script:
- title: Install Linux Dependencies
+ title: Build
+ run_if: '{{enveq "SKIPCI" "false"}}'
inputs:
- content: |-
#!/bin/bash
-
+ set -eu -o pipefail
apt-get install -y pkg-config
- - script:
- title: Build Android SDK For arm
- inputs:
- - content: |-
- #!/bin/bash
-
- make android -j4
- - is_debug: 'yes'
- - script:
- title: Run Unit Tests
- inputs:
- - content: |-
- #!/bin/bash
-
- cd platform/android
- ./gradlew testReleaseUnitTest --continue
- - is_debug: 'yes'
+ make android
+ make test-android
- slack:
title: Post to Slack
run_if: '{{enveq "SKIPCI" "false"}}'
@@ -68,47 +54,24 @@ workflows:
scheduled:
steps:
- script:
- title: Install Linux Dependencies
+ title: Build
inputs:
- content: |-
#!/bin/bash
+ set -eu -o pipefail
apt-get install -y pkg-config python-pip python-dev build-essential
pip install awscli
- - script:
- title: Fetch GPG Secring For SDK Signing
- inputs:
- - content: |-
- #!/bin/bash
aws s3 cp s3://mapbox/android/signing-credentials/secring.gpg platform/android/MapboxGLAndroidSDK/secring.gpg
- opts:
- is_expand: true
- - script:
- title: Inject Signing And Publishing Credentials
- inputs:
- - content: |-
- #!/bin/bash
echo "NEXUS_USERNAME=$PUBLISH_NEXUS_USERNAME
NEXUS_PASSWORD=$PUBLISH_NEXUS_PASSWORD
signing.keyId=$SIGNING_KEYID
signing.password=$SIGNING_PASSWORD
signing.secretKeyRingFile=secring.gpg" >> platform/android/MapboxGLAndroidSDK/gradle.properties
- opts:
- is_expand: true
- - script:
- title: Build Mapbox Android SDK For All ABI
- inputs:
- - content: |-
- #!/bin/bash
make apackage -j4
- - script:
- title: Publish To Maven Central
- inputs:
- - content: |-
- #!/bin/bash
cd platform/android
- ./gradlew uploadArchives \ No newline at end of file
+ ./gradlew uploadArchives
diff --git a/platform/android/mapboxgl-app.gypi b/platform/android/platform.gyp
index f9644c8d99..4954c7031c 100644
--- a/platform/android/mapboxgl-app.gypi
+++ b/platform/android/platform.gyp
@@ -1,69 +1,88 @@
{
+ 'variables': {
+ 'loop_lib': 'android',
+ 'headless_lib': 'none',
+ },
'includes': [
- '../../gyp/common.gypi',
+ '../../mbgl.gypi',
],
'targets': [
- { 'target_name': 'android-lib',
+ {
+ 'target_name': 'platform-lib',
'product_name': 'mapbox-gl',
'type': 'shared_library',
'hard_dependency': 1,
-
'dependencies': [
- 'mbgl.gyp:core',
- 'mbgl.gyp:platform-<(platform_lib)',
- 'mbgl.gyp:http-<(http_lib)',
- 'mbgl.gyp:asset-<(asset_lib)',
+ 'core',
],
'include_dirs': [
- '../src',
+ '../default',
+ '../../include',
+ '../../src', # TODO: eliminate
],
'sources': [
- './src/native_map_view.cpp',
- './src/jni.cpp',
- './src/attach_env.cpp',
+ 'src/native_map_view.cpp',
+ 'src/jni.cpp',
+ 'src/attach_env.cpp',
+ 'src/log_android.cpp',
+ 'src/http_request_android.cpp',
+ 'src/asset_file_source.cpp',
+ '../default/thread.cpp',
+ '../default/string_stdlib.cpp',
+ '../default/image.cpp',
+ '../default/png_reader.cpp',
+ '../default/jpeg_reader.cpp',
+ '../default/default_file_source.cpp',
+ '../default/online_file_source.cpp',
+ '../default/mbgl/storage/offline.hpp',
+ '../default/mbgl/storage/offline.cpp',
+ '../default/mbgl/storage/offline_database.hpp',
+ '../default/mbgl/storage/offline_database.cpp',
+ '../default/mbgl/storage/offline_download.hpp',
+ '../default/mbgl/storage/offline_download.cpp',
+ '../default/sqlite3.hpp',
+ '../default/sqlite3.cpp',
],
'cflags_cc': [
'<@(boost_cflags)',
+ '<@(rapidjson_cflags)',
+ '<@(nunicode_cflags)',
+ '<@(sqlite_cflags)',
'<@(variant_cflags)',
'<@(jni.hpp_cflags)',
+ '<@(libzip_cflags)',
+ '<@(libpng_cflags)',
+ '<@(libjpeg-turbo_cflags)',
],
- 'libraries': [
- '<@(libpng_static_libs)',
- '<@(libjpeg-turbo_static_libs)',
- '<@(sqlite_static_libs)',
- '<@(nunicode_static_libs)',
- '<@(libzip_static_libs)',
- ],
- 'variables': {
- 'ldflags': [
+
+ 'link_settings': {
+ 'libraries': [
'-llog',
'-landroid',
'-lEGL',
'-lGLESv2',
'-lstdc++',
'-latomic',
- '<@(libpng_ldflags)',
- '<@(libjpeg-turbo_ldflags)',
+ '<@(nunicode_ldflags)',
+ '<@(nunicode_static_libs)',
'<@(sqlite_ldflags)',
+ '<@(sqlite_static_libs)',
'<@(zlib_ldflags)',
+ '<@(zlib_static_libs)',
'<@(libzip_ldflags)',
+ '<@(libzip_static_libs)',
+ '<@(libpng_ldflags)',
+ '<@(libpng_static_libs)',
+ '<@(libjpeg-turbo_ldflags)',
+ '<@(libjpeg-turbo_static_libs)',
],
},
- 'conditions': [
- ['OS == "mac"', {
- 'xcode_settings': {
- 'OTHER_LDFLAGS': [ '<@(ldflags)' ],
- }
- }, {
- 'libraries': [ '<@(ldflags)' ],
- }]
- ],
},
-
- { 'target_name': 'example-custom-layer-lib',
+ {
+ 'target_name': 'example-custom-layer-lib',
'product_name': 'example-custom-layer',
'type': 'shared_library',
'hard_dependency': 1,
@@ -76,8 +95,8 @@
'../../include',
],
- 'variables': {
- 'ldflags': [
+ 'link_settings': {
+ 'libraries': [
'-llog',
'-landroid',
'-lEGL',
@@ -86,24 +105,14 @@
'-latomic',
],
},
-
- 'conditions': [
- ['OS == "mac"', {
- 'xcode_settings': {
- 'OTHER_LDFLAGS': [ '<@(ldflags)' ],
- }
- }, {
- 'libraries': [ '<@(ldflags)' ],
- }]
- ],
},
-
- { 'target_name': 'androidapp',
+ {
+ 'target_name': 'all',
'type': 'none',
'hard_dependency': 1,
'dependencies': [
- 'android-lib',
+ 'platform-lib',
'example-custom-layer-lib',
],
@@ -115,17 +124,11 @@
{
'files': [
'../../common/ca-bundle.crt',
- '../../platform/default/resources/api_mapbox_com-digicert.der',
- '../../platform/default/resources/api_mapbox_com-geotrust.der',
- '../../platform/default/resources/star_tilestream_net.der',
+ '../default/resources/api_mapbox_com-digicert.der',
+ '../default/resources/api_mapbox_com-geotrust.der',
+ '../default/resources/star_tilestream_net.der',
],
- 'destination': '<(pwd)/../platform/android/MapboxGLAndroidSDK/src/main/assets'
- },
- {
- 'files': [
- '<(PRODUCT_DIR)/obj.target'
- ],
- 'destination': '<(pwd)/../platform/android/MapboxGLAndroidSDK/src/main'
+ 'destination': '<(DEPTH)/platform/android/MapboxGLAndroidSDK/src/main/assets'
},
],
@@ -133,13 +136,13 @@
{
'action_name': 'Strip mapbox library',
'inputs': [ '<(PRODUCT_DIR)/lib.target/libmapbox-gl.so' ],
- 'outputs': [ '<(pwd)/../platform/android/MapboxGLAndroidSDK/src/main/jniLibs/$(JNIDIR)/libmapbox-gl.so' ],
+ 'outputs': [ '<(DEPTH)/platform/android/MapboxGLAndroidSDK/src/main/jniLibs/$(JNIDIR)/libmapbox-gl.so' ],
'action': [ '$(STRIP)', '<@(_inputs)', '-o', '<@(_outputs)' ]
},
{
'action_name': 'Strip example custom layer library',
'inputs': [ '<(PRODUCT_DIR)/lib.target/libexample-custom-layer.so' ],
- 'outputs': [ '<(pwd)/../platform/android/MapboxGLAndroidSDKTestApp/src/main/jniLibs/$(JNIDIR)/libexample-custom-layer.so' ],
+ 'outputs': [ '<(DEPTH)/platform/android//MapboxGLAndroidSDKTestApp/src/main/jniLibs/$(JNIDIR)/libexample-custom-layer.so' ],
'action': [ '$(STRIP)', '<@(_inputs)', '-o', '<@(_outputs)' ]
}
],
diff --git a/platform/android/scripts/defaults.mk b/platform/android/scripts/defaults.mk
deleted file mode 100644
index f70c852ed1..0000000000
--- a/platform/android/scripts/defaults.mk
+++ /dev/null
@@ -1,11 +0,0 @@
-HEADLESS ?= none
-PLATFORM ?= android
-ASSET ?= zip
-HTTP ?= android
-LOOP ?= android
-
-GYP_FLAVOR_SUFFIX=-android
-
-HOST_VERSION ?= arm-v7
-
-ENV = $(shell MASON_ANDROID_ABI=$(HOST_VERSION) ./platform/android/scripts/toolchain.sh)
diff --git a/platform/android/scripts/install.sh b/platform/android/scripts/install.sh
deleted file mode 100755
index e99c3dc75e..0000000000
--- a/platform/android/scripts/install.sh
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/usr/bin/env bash
-
-set -e
-set -o pipefail
-
-mapbox_time "checkout_mason" \
-git submodule update --init .mason
-
-export MASON_PLATFORM=android
-export MASON_ANDROID_ABI=${ANDROID_ABI}
-
-mapbox_time "android_toolchain" \
-./platform/android/scripts/toolchain.sh
diff --git a/platform/android/scripts/run.sh b/platform/android/scripts/run.sh
deleted file mode 100755
index 9e87298fe9..0000000000
--- a/platform/android/scripts/run.sh
+++ /dev/null
@@ -1,56 +0,0 @@
-#!/usr/bin/env bash
-
-set -e
-set -o pipefail
-
-# Add Mason to PATH
-export PATH="`pwd`/.mason:${PATH}" MASON_DIR="`pwd`/.mason"
-export MASON_PLATFORM=android
-export MASON_ANDROID_ABI=${ANDROID_ABI}
-
-################################################################################
-# Build
-################################################################################
-
-mkdir -p ./platform/android/MapboxGLAndroidSDKTestApp/src/main/res/raw
-echo "${MAPBOX_ACCESS_TOKEN}" > ./platform/android/MapboxGLAndroidSDKTestApp/src/main/res/raw/token.txt
-
-mapbox_time "compile_library" \
-make android-lib HOST_VERSION=${ANDROID_ABI} -j${JOBS} BUILDTYPE=${BUILDTYPE}
-
-mapbox_time "build_apk" \
-make android HOST_VERSION=${ANDROID_ABI} -j${JOBS} BUILDTYPE=${BUILDTYPE}
-
-################################################################################
-# Deploy
-################################################################################
-
-if [ ! -z "${AWS_ACCESS_KEY_ID}" ] && [ ! -z "${AWS_SECRET_ACCESS_KEY}" ] ; then
- # Install and add awscli to PATH for uploading the results
- mapbox_time "install_awscli" \
- pip install --user awscli
- export PATH="`python -m site --user-base`/bin:${PATH}"
-
- mapbox_time_start "deploy_results"
- echo "Deploying results..."
-
- S3_PREFIX=s3://mapbox/mapbox-gl-native/android/build/${TRAVIS_JOB_NUMBER}
- APK_OUTPUTS=./platform/android/MapboxGLAndroidSDKTestApp/build/outputs/apk
- JNILIB=`mason env JNIDIR`
-
- # ARM64 does not build APK for now
- if [ ${JNIDIR} != "arm64-v8a" ] ; then
- # Upload either the debug or the release build
- if [ ${BUILDTYPE} == "Debug" ] ; then
- aws s3 cp \
- ${APK_OUTPUTS}/MapboxGLAndroidSDKTestApp-${JNILIB}-debug.apk \
- ${S3_PREFIX}/MapboxGLAndroidSDKTestApp-debug.apk
- elif [ ${BUILDTYPE} == "Release" ] ; then
- aws s3 cp \
- ${APK_OUTPUTS}/MapboxGLAndroidSDKTestApp-${JNILIB}-release-unsigned.apk \
- ${S3_PREFIX}/MapboxGLAndroidSDKTestApp-release-unsigned.apk
- fi
- fi
-
- mapbox_time_finish
-fi