Update script for adding android.jar to support updating API database
Change-Id: Ifa3fbcc9ef296d836a8f88bc40f7794be9ebd9b9
diff --git a/scripts/add-android-jar.sh b/scripts/add-android-jar.sh
index 3eb0d21..4a0f57c 100755
--- a/scripts/add-android-jar.sh
+++ b/scripts/add-android-jar.sh
@@ -8,6 +8,8 @@
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
@@ -21,21 +23,46 @@
THIRD_PARTY_ANDROID_JAR=third_party/android_jar
THIRD_PARTY_ANDROID_JAR_LIB=$THIRD_PARTY_ANDROID_JAR/lib-v$SDK_VERSION
-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
+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
+ 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
+ (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
-echo "Update build.gradle with this new cloud dependency, and verify with tools/gradle.py downloadDeps"
\ No newline at end of file
+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"