diff options
Diffstat (limited to 'platform/android')
-rw-r--r-- | platform/android/.gitignore | 1 | ||||
-rw-r--r-- | platform/android/bitrise.yml | 53 | ||||
-rw-r--r-- | platform/android/platform.gyp (renamed from platform/android/mapboxgl-app.gypi) | 123 | ||||
-rw-r--r-- | platform/android/scripts/defaults.mk | 11 | ||||
-rwxr-xr-x | platform/android/scripts/install.sh | 13 | ||||
-rwxr-xr-x | platform/android/scripts/run.sh | 56 |
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 |