| #!/bin/bash |
| # |
| # Copyright (c) 2021, the R8 project authors. Please see the AUTHORS file |
| # for details. All rights reserved. Use of this source code is governed by a |
| # BSD-style license that can be found in the LICENSE file. |
| |
| set -e |
| set -x |
| |
| echo "Update this script manually before using" |
| echo "If updating API database also update API_LEVEL in " \ |
| "AndroidApiHashingDatabaseBuilderGeneratorTest" |
| exit -1 |
| |
| # Download Platform SDK in @SDK_HOME |
| SDK_HOME=$HOME/Android/Sdk |
| |
| # Modify these to match the SDK android.jar to add. |
| SDK_DIR_NAME=android-Sv2 |
| SDK_VERSION=32 |
| |
| SDK_DIR=$SDK_HOME/platforms/$SDK_DIR_NAME |
| THIRD_PARTY_ANDROID_JAR=third_party/android_jar |
| THIRD_PARTY_ANDROID_JAR_LIB=$THIRD_PARTY_ANDROID_JAR/lib-v$SDK_VERSION |
| |
| UPDATE_ANDROID_JAR="no" |
| if [[ "$UPDATE_ANDROID_JAR" == "yes" ]]; then |
| rm -rf $THIRD_PARTY_ANDROID_JAR_LIB |
| rm -f ${THIRD_PARTY_ANDROID_JAR_LIB}.tar.gz |
| rm -f ${THIRD_PARTY_ANDROID_JAR_LIB}.tar.sha1 |
| |
| mkdir -p $THIRD_PARTY_ANDROID_JAR_LIB/optional |
| cp $SDK_DIR/android.jar $THIRD_PARTY_ANDROID_JAR_LIB/android.jar |
| cp $SDK_DIR/optional/*.jar $THIRD_PARTY_ANDROID_JAR_LIB/optional |
| cp $SDK_DIR/optional/optional.json $THIRD_PARTY_ANDROID_JAR_LIB/optional |
| cp $THIRD_PARTY_ANDROID_JAR/lib-v31/README.google $THIRD_PARTY_ANDROID_JAR_LIB |
| vi $THIRD_PARTY_ANDROID_JAR_LIB/README.google |
| |
| (cd $THIRD_PARTY_ANDROID_JAR \ |
| && upload_to_google_storage.py -a --bucket r8-deps lib-v$SDK_VERSION) |
| rm -rf $THIRD_PARTY_ANDROID_JAR_LIB |
| rm ${THIRD_PARTY_ANDROID_JAR_LIB}.tar.gz |
| git add ${THIRD_PARTY_ANDROID_JAR_LIB}.tar.gz.sha1 |
| fi |
| |
| UPDATE_API_DATABASE="no" |
| if [[ "$UPDATE_API_DATABASE" == "yes" ]]; then |
| rm -rf $THIRD_PARTY_ANDROID_JAR/api-versions |
| rm -f $THIRD_PARTY_ANDROID_JAR/api-versions.tar.gz |
| rm -f $THIRD_PARTY_ANDROID_JAR/api-versions.tar.gz.sha1 |
| mkdir -p $THIRD_PARTY_ANDROID_JAR/api-versions |
| cp $SDK_DIR/data/api-versions.xml $THIRD_PARTY_ANDROID_JAR/api-versions |
| (cd $THIRD_PARTY_ANDROID_JAR \ |
| && upload_to_google_storage.py -a --bucket r8-deps api-versions) |
| tools/gradle.py r8NoManifestWithoutDeps testJar repackageTestDeps |
| java -cp build/libs/r8_no_manifest_without_deps.jar:build/libs/deps_all.jar:build/libs/r8tests.jar:build/libs/test_deps_all.jar \ |
| com.android.tools.r8.apimodel.AndroidApiHashingDatabaseBuilderGeneratorTest |
| |
| rm -rf $THIRD_PARTY_ANDROID_JAR/api-versions |
| rm -f $THIRD_PARTY_ANDROID_JAR/api-versions.tar.gz |
| git add $THIRD_PARTY_ANDROID_JAR/api-versions.tar.gz.sha1 |
| git add src/main/resources/api_database/api_database_ambiguous.txt |
| git add src/main/resources/api_database/api_database_api_level.ser |
| git add src/main/resources/api_database/api_database_hash_lookup.ser |
| fi |
| |
| echo "Update build.gradle with this new cloud dependency, " \ |
| "and verify with tools/gradle.py downloadDeps" |