From 3b7330b54a1d3d82b78d0019ae6a8868127d1333 Mon Sep 17 00:00:00 2001 From: Cameron Mace Date: Tue, 15 Aug 2017 11:08:11 -0400 Subject: [PATCH 1/4] added translations --- .tx/config | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 .tx/config diff --git a/.tx/config b/.tx/config new file mode 100644 index 000000000..3bf412fa7 --- /dev/null +++ b/.tx/config @@ -0,0 +1,27 @@ +[main] +host = https://www.transifex.com +minimum_perc = 80 + +[mapbox-java.libandroiduistrings] +file_filter = mapboxmapbox/libandroid-ui/src/main/res/values-/strings.xml +source_file = mapbox/libandroid-ui/src/main/res/values/strings.xml +source_lang = en +type = ANDROID + +[mapbox-java.libandroidtelemetrystrings] +file_filter = mapbox/libandroid-telemetry/src/main/res/values-/strings.xml +source_file = mapbox/libandroid-telemetry/src/main/res/values/strings.xml +source_lang = en +type = ANDROID + +[mapbox-java.libandroidservicesstrings] +file_filter = mapbox/libandroid-services/src/main/res/values-/strings.xml +source_file = mapbox/libandroid-services/src/main/res/values/strings.xml +source_lang = en +type = ANDROID + +[mapbox-java.testappstrings] +file_filter = mapbox/app/src/main/res/values-/strings.xml +source_file = mapbox/app/src/main/res/values/strings.xml +source_lang = en +type = ANDROID From 0d12ab87c935071feb7dad3001f5938a40f1e234 Mon Sep 17 00:00:00 2001 From: Cameron Mace Date: Tue, 15 Aug 2017 11:21:44 -0400 Subject: [PATCH 2/4] added circleci script --- circle.yml | 124 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 124 insertions(+) create mode 100644 circle.yml diff --git a/circle.yml b/circle.yml new file mode 100644 index 000000000..bfb081cf4 --- /dev/null +++ b/circle.yml @@ -0,0 +1,124 @@ +version: 2 + +workflows: + version: 2 + default: + jobs: + - build + - release +jobs: + build: + working_directory: ~/code + docker: + - image: mbgl/ci@sha256:c34e221294d81da80918d3e9a9df5de795b067e88f86d7c9a5e262763332536e + environment: + JVM_OPTS: -Xmx3200m + BUILDTYPE: Debug + IS_LOCAL_DEVELOPMENT: false + steps: + - checkout + - restore_cache: + key: jars-{{ checksum "mapbox/build.gradle" }}-{{ checksum "mapbox/app/build.gradle" }} + - run: + name: Accept Android license + command: | + echo y | $ANDROID_HOME/tools/bin/sdkmanager "build-tools;26.0.1" + - run: + name: Download Dependencies + command: cd mapbox && ./gradlew androidDependencies + - save_cache: + paths: + - ~/.gradle + key: jars-{{ checksum "mapbox/build.gradle" }}-{{ checksum "mapbox/app/build.gradle" }} + - run: + name: Check Java code style + command: make checkstyle + - run: + name: Run unit-test in Java libraries + command: make test-java + - run: + name: Run unit-test in Android libraries + command: make test-android + - run: + name: Build testapp APK + command: | + cd mapbox && ./gradlew accessToken + ./gradlew app:assembleDebug + - run: + name: Log in to Google Cloud Platform + shell: /bin/bash -euo pipefail + command: | + echo "${GCLOUD_SERVICE_ACCOUNT_JSON}" > secret.json + gcloud auth activate-service-account --key-file secret.json --project mapbox-java + rm secret.json + - run: + name: Run instrumentation tests on Firebase + no_output_timeout: 1200 + shell: /bin/bash -euo pipefail + command: | + gcloud firebase test android run --type robo --app mapbox/app/build/outputs/apk/app-debug.apk --device-ids shamu --os-version-ids 22 --locales en --orientations portrait --timeout 10m + - run: + name: Update Transifex + command: | + if [ "${CIRCLE_BRANCH}" == "${DEPLOY_BRANCH}" ]; then + pip install transifex-client + echo $'[https://www.transifex.com]\nhostname = https://www.transifex.com\nusername = '"${TRANSIFEX_USER}"$'\npassword = '"${TRANSIFEX_API_TOKEN}"$'\ntoken = '""$'\n' > ~/.transifexrc + tx push -s + else + echo "Skipping push to Transifex" + fi + - store_artifacts: + path: mapbox/app/build/reports + destination: reports + - store_test_results: + path: mapbox/app/build/test-results + +# ------------------------------------------------------------------------------ + release: + branch: + only: + - master + docker: + - image: mbgl/ci@sha256:c34e221294d81da80918d3e9a9df5de795b067e88f86d7c9a5e262763332536e + working_directory: ~/code + environment: + environment: + BUILDTYPE: Release + IS_LOCAL_DEVELOPMENT: false + steps: + - checkout + - run: + name: Accept Android license + command: | + echo y | $ANDROID_HOME/tools/bin/sdkmanager "build-tools;26.0.1" + - run: + name: Generate Maven credentials + shell: /bin/bash -euo pipefail + command: | + aws s3 cp s3://mapbox/android/signing-credentials/secring.gpg secring.gpg + echo "NEXUS_USERNAME=$PUBLISH_NEXUS_USERNAME + NEXUS_PASSWORD=$PUBLISH_NEXUS_PASSWORD + signing.keyId=$SIGNING_KEYID + signing.password=$SIGNING_PASSWORD + signing.secretKeyRingFile=../../secring.gpg" >> mapbox/gradle.properties + - run: + name: Build Java libraries + command: make build-release-java + - run: + name: Build Android libraries + command: make build-release-android + - deploy: + name: Publish Java Services To Maven Central + command: | + if [ "${CIRCLE_BRANCH}" == "master" ]; then + make publish-java ; + fi + - deploy: + name: Publish Android Services To Maven Central + command: | + if [ "${CIRCLE_BRANCH}" == "master" ]; then + make publish-android ; + fi + - store_artifacts: + path: mapbox/app/build/reports + destination: reports From 9eafe6370e850b1b1eddb2b8df72e02829f77bc0 Mon Sep 17 00:00:00 2001 From: Cameron Mace Date: Tue, 15 Aug 2017 11:34:05 -0400 Subject: [PATCH 3/4] updated readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c5e978967..0b2b7ce28 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ [![](https://raw.githubusercontent.com/mapbox/mapbox-java/master/.github/splash-img.png)](https://www.mapbox.com/android-docs/mapbox-services/) -[![Build Status](https://www.bitrise.io/app/a7eea7d04be1e2e5.svg?token=OruuJNhnjyeRnlBv0wXsFQ&branch=master)](https://www.bitrise.io/app/a7eea7d04be1e2e5) [![Maven Central](https://maven-badges.herokuapp.com/maven-central/com.mapbox.mapboxsdk/mapbox-android-services/badge.svg)](https://maven-badges.herokuapp.com/maven-central/com.mapbox.mapboxsdk/mapbox-android-services) +[![Maven Central](https://maven-badges.herokuapp.com/maven-central/com.mapbox.mapboxsdk/mapbox-android-services/badge.svg)](https://maven-badges.herokuapp.com/maven-central/com.mapbox.mapboxsdk/mapbox-android-services) [![CircleCI](https://circleci.com/gh/mapbox/mapbox-java.svg?style=svg)](https://circleci.com/gh/mapbox/mapbox-java) Mapbox Android Services contains directions, geocoding, and many more APIs to use inside your Android or Java application. This repository holds the source code for the project and is divided into several modules to make it easier for developers to only include the dependencies needed for their project. From 1c5f980ea6c69630251a542ca8cbbd067d5611d5 Mon Sep 17 00:00:00 2001 From: Cameron Mace Date: Tue, 15 Aug 2017 11:44:01 -0400 Subject: [PATCH 4/4] removed bitrise script --- scripts/bitrise.yml | 199 -------------------------------------------- 1 file changed, 199 deletions(-) delete mode 100644 scripts/bitrise.yml diff --git a/scripts/bitrise.yml b/scripts/bitrise.yml deleted file mode 100644 index c6b7b62a8..000000000 --- a/scripts/bitrise.yml +++ /dev/null @@ -1,199 +0,0 @@ ---- -default_step_lib_source: https://github.com/bitrise-io/bitrise-steplib.git -format_version: 1.0.0 -trigger_map: -- is_pull_request_allowed: false - pattern: scheduled - workflow: scheduled -- is_pull_request_allowed: false - pattern: gh-pages - workflow: gh-pages -- is_pull_request_allowed: true - pattern: "*" - workflow: primary -workflows: - gh-pages: - steps: - - slack: - inputs: - - webhook_url: "$SLACK_HOOK_URL" - - channel: "#gl-bots" - - from_username: Bitrise Android - - from_username_on_error: Bitrise Android - - message: "<${BITRISE_BUILD_URL}|Build #${BITRISE_BUILD_NUMBER}> for - by ${GIT_CLONE_COMMIT_COMMITER_NAME} passed" - - message_on_error: "<${BITRISE_BUILD_URL}|Build #${BITRISE_BUILD_NUMBER}> - for - by ${GIT_CLONE_COMMIT_COMMITER_NAME} failed" - - icon_url: https://bitrise-public-content-production.s3.amazonaws.com/slack/bitrise-slack-icon-128.png - - icon_url_on_error: https://bitrise-public-content-production.s3.amazonaws.com/slack/bitrise-slack-error-icon-128.png - run_if: '{{enveq "SKIPCI" "false"}}' - title: Post to Slack - primary: - steps: - - script: - inputs: - - content: |- - #!/bin/bash - if [[ -n "$(echo $GIT_CLONE_COMMIT_MESSAGE_SUBJECT | sed -n '/\[skip ci\]/p')" || - -n "$(echo $GIT_CLONE_COMMIT_MESSAGE_SUBJECT | sed -n '/\[ci skip\]/p')" || - -n "$(echo $GIT_CLONE_COMMIT_MESSAGE_BODY | sed -n 's/\[skip ci\]/p')" || - -n "$(echo $GIT_CLONE_COMMIT_MESSAGE_BODY | sed -n 's/\[ci skip\]/p')" ]]; then - envman add --key SKIPCI --value true - else - envman add --key SKIPCI --value false - fi - title: Check for skipping CI - - script: - inputs: - - content: |- - #!/bin/bash - make checkstyle - - is_debug: 'yes' - title: Run Checkstyle - - script: - inputs: - - content: |- - #!/bin/bash - make build-release-java - - is_debug: 'yes' - title: Build Java Services - - script: - inputs: - - content: |- - #!/bin/bash - make build-release-android - - is_debug: 'yes' - title: Build Android Services - - script: - inputs: - - content: |- - #!/bin/bash - make test-java - - is_debug: 'yes' - title: Run Java Project Unit Tests - - script: - inputs: - - content: |- - #!/bin/bash - make test-android - - is_debug: 'yes' - title: Run Android Project Unit Tests - - script: - title: Configure Google Cloud SDK - inputs: - - content: |- - #!/bin/bash - # Install python tools for pip - sudo apt-get install -y gcc python-dev python-setuptools - sudo easy_install -U pip - sudo pip uninstall crcmod - sudo pip install -U crcmod - - # Install Google Cloud SDK for Firebase - export CLOUD_SDK_REPO="cloud-sdk-$(lsb_release -c -s)" - echo "deb http://packages.cloud.google.com/apt $CLOUD_SDK_REPO main" | sudo tee /etc/apt/sources.list.d/google-cloud-sdk.list - curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add - - sudo apt-get update && sudo apt-get install -y google-cloud-sdk - - # Get authentication secret - echo "Downloading Google Cloud authentication:" - wget -O secret.json "$BITRISEIO_FIREBASE_SERVICE_ACCOUNT_URL" - - script: - title: Build apk from app module - inputs: - - content: |- - #!/bin/bash - echo "Downloading Mapbox accesstoken for running tests:" - wget -O mapbox/app/src/main/res/values/developer-config.xml "$BITRISEIO_DEVELOPER_CONFIG_URL" - - cd mapbox && ./gradlew :app:assembleDebug --continue - - script: - title: Run Firebase Robo tests - inputs: - - content: |- - #!/bin/bash - echo "Run Robo tests on firebase:" - gcloud auth activate-service-account --key-file secret.json --project mapbox-java - gcloud firebase test android devices list - gcloud firebase test android run --type robo --app mapbox/app/build/outputs/apk/app-debug.apk --device-ids shamu --os-version-ids 22 --locales en --orientations portrait --timeout 10m - - slack: - inputs: - - webhook_url: "$SLACK_HOOK_URL" - - channel: "#gl-bots" - - from_username: Bitrise Android - - from_username_on_error: Bitrise Android - - message: "<${BITRISE_BUILD_URL}|Build #${BITRISE_BUILD_NUMBER}> for - by ${GIT_CLONE_COMMIT_COMMITER_NAME} passed" - - message_on_error: "<${BITRISE_BUILD_URL}|Build #${BITRISE_BUILD_NUMBER}> - for - by ${GIT_CLONE_COMMIT_COMMITER_NAME} failed" - - icon_url: https://bitrise-public-content-production.s3.amazonaws.com/slack/bitrise-slack-icon-128.png - - icon_url_on_error: https://bitrise-public-content-production.s3.amazonaws.com/slack/bitrise-slack-error-icon-128.png - run_if: '{{enveq "SKIPCI" "false"}}' - title: Post to Slack - scheduled: - steps: - - script: - inputs: - - content: |- - #!/bin/bash - apt-get install -y pkg-config python-pip python-dev build-essential - pip install awscli - title: Install Linux Dependencies - - script: - inputs: - - content: |- - #!/bin/bash - aws s3 cp s3://mapbox/android/signing-credentials/secring.gpg secring.gpg - opts: - is_expand: true - title: Fetch GPG Secring For SDK Signing - - script: - 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" >> mapbox/gradle.properties - opts: - is_expand: true - title: Inject Signing And Publishing Credentials - - script: - inputs: - - content: |- - #!/bin/bash - make build-release-java - title: Build Java Services - - script: - inputs: - - content: |- - #!/bin/bash - make build-release-android - title: Build Android Services - - script: - inputs: - - content: |- - #!/bin/bash - make test-java - title: Run Java Project Unit Tests - - script: - inputs: - - content: |- - #!/bin/bash - make test-android - title: Run Android Project Unit Tests - - script: - inputs: - - content: |- - #!/bin/bash - make publish-java - title: Publish Java Services To Maven Central - - script: - inputs: - - content: |- - #!/bin/bash - make publish-android - title: Publish Android Services To Maven Central