From 3b25a5d3d0637c6d80bc0e16e2bdccef157d54f5 Mon Sep 17 00:00:00 2001 From: Daniel Agar Date: Sun, 21 Feb 2016 00:43:05 -0500 Subject: [PATCH] travis-ci update google play upload -fresh credentials with json key -update upload script to use new api properly --- .travis.yml | 2 +- ...e_Play_Android_Developer-bb93ae7d61ca.p12.enc | Bin 2576 -> 0 bytes ..._Play_Android_Developer-4432a3c4f5d1.json.enc | Bin 0 -> 2384 bytes ...e_Play_Android_Developer-bb93ae7d61ca.p12.enc | Bin 2576 -> 0 bytes tools/google_play_upload.py | 12 +++--------- 5 files changed, 4 insertions(+), 10 deletions(-) delete mode 100644 Google_Play_Android_Developer-bb93ae7d61ca.p12.enc create mode 100644 android/Google_Play_Android_Developer-4432a3c4f5d1.json.enc delete mode 100644 android/Google_Play_Android_Developer-bb93ae7d61ca.p12.enc diff --git a/.travis.yml b/.travis.yml index 51dd2672d..fa3e3640e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -125,7 +125,7 @@ script: after_success: - if [[ "${TRAVIS_OS_NAME}" = "android" && "${TRAVIS_PULL_REQUEST}" = "false" && "${TRAVIS_BRANCH}" = "master" ]]; then pip install --user google-api-python-client PyOpenSSL - && cd ${SHADOW_BUILD_DIR} && openssl aes-256-cbc -K $encrypted_25db6eb7c3fd_key -iv $encrypted_25db6eb7c3fd_iv -in ${TRAVIS_BUILD_DIR}/Google_Play_Android_Developer-bb93ae7d61ca.p12.enc -out Google_Play_Android_Developer-bb93ae7d61ca.p12 -d + && cd ${TRAVIS_BUILD_DIR} && openssl aes-256-cbc -K $encrypted_25db6eb7c3fd_key -iv $encrypted_25db6eb7c3fd_iv -in ${TRAVIS_BUILD_DIR}/android/Google_Play_Android_Developer-4432a3c4f5d1.json.enc -out android/Google_Play_Android_Developer-4432a3c4f5d1.json -d && ${TRAVIS_BUILD_DIR}/tools/google_play_upload.py org.mavlink.qgroundcontrol ${SHADOW_BUILD_DIR}/release/package/qgroundcontrol.apk ; fi diff --git a/Google_Play_Android_Developer-bb93ae7d61ca.p12.enc b/Google_Play_Android_Developer-bb93ae7d61ca.p12.enc deleted file mode 100644 index b821f735f95a0d563a0578725eb52b8ce2f99e29..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2576 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 CiKxl| literal 0 HcmV?d00001 diff --git a/android/Google_Play_Android_Developer-bb93ae7d61ca.p12.enc b/android/Google_Play_Android_Developer-bb93ae7d61ca.p12.enc deleted file mode 100644 index 22c154d6fb4ad72b63667f87fba1aaf88b4e674a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2576 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 diff --git a/tools/google_play_upload.py b/tools/google_play_upload.py index 094e40cfb..4583b98ea 100755 --- a/tools/google_play_upload.py +++ b/tools/google_play_upload.py @@ -24,8 +24,7 @@ from oauth2client import client from oauth2client.service_account import ServiceAccountCredentials TRACK = 'beta' # Can be 'alpha', beta', 'production' or 'rollout' -SERVICE_ACCOUNT_EMAIL = ( - '868554619222-u4gvu4asjemc8n22o595j0fr2dg4012j@developer.gserviceaccount.com') +JSON_KEY='android/Google_Play_Android_Developer-4432a3c4f5d1.json' # Declare command-line flags. argparser = argparse.ArgumentParser(add_help=False) @@ -38,17 +37,12 @@ argparser.add_argument('apk_file', def main(): - # Load the key in PKCS 12 format that you downloaded from the Google APIs - # Console when you created your Service account. - f = file('Google_Play_Android_Developer-bb93ae7d61ca.p12', 'rb') - key = f.read() - f.close() - # Create an httplib2.Http object to handle our HTTP requests and authorize it # with the Credentials. Note that the first parameter, service_account_name, # is the Email address created for the Service account. It must be the email # address associated with the key that was created. - credentials = ServiceAccountCredentials.from_p12_keyfile(SERVICE_ACCOUNT_EMAIL, key, scopes=['https://www.googleapis.com/auth/androidpublisher']) + credentials = ServiceAccountCredentials.from_json_keyfile_name(JSON_KEY, scopes=['https://www.googleapis.com/auth/androidpublisher']) + http = httplib2.Http() http = credentials.authorize(http) -- 2.22.0