diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index e086d3f9..dce5e6dc 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml @@ -46,7 +46,7 @@ jobs: matrix: os: [macos-12, ubuntu-latest, windows-latest] architecture: [x64] - python_version: [3.7] + python_version: [3.12] steps: - name: setup Xcode version (macos) if: runner.os == 'macOS' @@ -74,11 +74,16 @@ jobs: echo "GHA_INSTALL_CCACHE=1" >> $GITHUB_ENV - name: Setup python - uses: actions/setup-python@v2 + uses: actions/setup-python@v5 with: python-version: ${{ matrix.python_version }} architecture: ${{ matrix.architecture }} + - uses: actions/setup-java@v4 + with: + java-version: 11 + distribution: temurin + - name: Add msbuild to PATH if: startsWith(matrix.os, 'windows') uses: microsoft/setup-msbuild@v1.0.2 diff --git a/analytics/testapp/build.gradle b/analytics/testapp/build.gradle index 42939198..d36bdec0 100644 --- a/analytics/testapp/build.gradle +++ b/analytics/testapp/build.gradle @@ -3,7 +3,7 @@ buildscript { repositories { mavenLocal() maven { url 'https://maven.google.com' } - jcenter() + mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:4.2.1' @@ -15,7 +15,7 @@ allprojects { repositories { mavenLocal() maven { url 'https://maven.google.com' } - jcenter() + mavenCentral() } } diff --git a/auth/testapp/build.gradle b/auth/testapp/build.gradle index eb739709..d583d3e9 100644 --- a/auth/testapp/build.gradle +++ b/auth/testapp/build.gradle @@ -3,7 +3,7 @@ buildscript { repositories { mavenLocal() maven { url 'https://maven.google.com' } - jcenter() + mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:4.2.1' @@ -15,7 +15,7 @@ allprojects { repositories { mavenLocal() maven { url 'https://maven.google.com' } - jcenter() + mavenCentral() } } diff --git a/database/testapp/build.gradle b/database/testapp/build.gradle index bfa91283..529c6d61 100644 --- a/database/testapp/build.gradle +++ b/database/testapp/build.gradle @@ -3,7 +3,7 @@ buildscript { repositories { mavenLocal() maven { url 'https://maven.google.com' } - jcenter() + mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:4.2.1' @@ -15,7 +15,7 @@ allprojects { repositories { mavenLocal() maven { url 'https://maven.google.com' } - jcenter() + mavenCentral() } } diff --git a/dynamic_links/testapp/build.gradle b/dynamic_links/testapp/build.gradle index e7b828bb..9ea0a3b0 100644 --- a/dynamic_links/testapp/build.gradle +++ b/dynamic_links/testapp/build.gradle @@ -3,7 +3,7 @@ buildscript { repositories { mavenLocal() maven { url 'https://maven.google.com' } - jcenter() + mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:4.2.1' @@ -15,7 +15,7 @@ allprojects { repositories { mavenLocal() maven { url 'https://maven.google.com' } - jcenter() + mavenCentral() } } diff --git a/firestore/testapp/build.gradle b/firestore/testapp/build.gradle index 6adb3b5a..4f3b646a 100644 --- a/firestore/testapp/build.gradle +++ b/firestore/testapp/build.gradle @@ -3,7 +3,7 @@ buildscript { repositories { mavenLocal() maven { url 'https://maven.google.com' } - jcenter() + mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:4.2.1' @@ -15,7 +15,7 @@ allprojects { repositories { mavenLocal() maven { url 'https://maven.google.com' } - jcenter() + mavenCentral() } } diff --git a/functions/testapp/build.gradle b/functions/testapp/build.gradle index d47c3488..9a4b5780 100644 --- a/functions/testapp/build.gradle +++ b/functions/testapp/build.gradle @@ -3,7 +3,7 @@ buildscript { repositories { mavenLocal() maven { url 'https://maven.google.com' } - jcenter() + mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:4.2.1' @@ -15,7 +15,7 @@ allprojects { repositories { mavenLocal() maven { url 'https://maven.google.com' } - jcenter() + mavenCentral() } } diff --git a/gma/testapp/build.gradle b/gma/testapp/build.gradle index 4cf159a9..25f771ea 100644 --- a/gma/testapp/build.gradle +++ b/gma/testapp/build.gradle @@ -4,7 +4,7 @@ buildscript { repositories { mavenLocal() maven { url 'https://maven.google.com' } - jcenter() + mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:4.2.1' @@ -15,7 +15,7 @@ allprojects { repositories { mavenLocal() maven { url 'https://maven.google.com' } - jcenter() + mavenCentral() } } diff --git a/messaging/testapp/build.gradle b/messaging/testapp/build.gradle index 4f607fe3..5692df61 100644 --- a/messaging/testapp/build.gradle +++ b/messaging/testapp/build.gradle @@ -3,7 +3,7 @@ buildscript { repositories { mavenLocal() maven { url 'https://maven.google.com' } - jcenter() + mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:4.2.1' @@ -15,7 +15,7 @@ allprojects { repositories { mavenLocal() maven { url 'https://maven.google.com' } - jcenter() + mavenCentral() } } diff --git a/remote_config/testapp/build.gradle b/remote_config/testapp/build.gradle index 4802ecbf..4d2a7f86 100644 --- a/remote_config/testapp/build.gradle +++ b/remote_config/testapp/build.gradle @@ -3,7 +3,7 @@ buildscript { repositories { mavenLocal() maven { url 'https://maven.google.com' } - jcenter() + mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:4.2.1' @@ -15,7 +15,7 @@ allprojects { repositories { mavenLocal() maven { url 'https://maven.google.com' } - jcenter() + mavenCentral() } } diff --git a/scripts/build_scripts/build_testapps.py b/scripts/build_scripts/build_testapps.py index 3caf85f0..7b12a898 100644 --- a/scripts/build_scripts/build_testapps.py +++ b/scripts/build_scripts/build_testapps.py @@ -84,7 +84,6 @@ from absl import app from absl import flags from absl import logging -from distutils import dir_util import utils import config_reader @@ -322,8 +321,7 @@ def _build( project_dir = os.path.join(project_dir, output_testapp_dir) logging.info("Copying testapp project to %s", project_dir) - os.makedirs(project_dir) - dir_util.copy_tree(testapp_dir, project_dir) + shutil.copytree(testapp_dir, project_dir) logging.info("Changing directory to %s", project_dir) os.chdir(project_dir) diff --git a/scripts/build_scripts/utils.py b/scripts/build_scripts/utils.py index 631dc8df..63301f14 100644 --- a/scripts/build_scripts/utils.py +++ b/scripts/build_scripts/utils.py @@ -19,7 +19,6 @@ platforms. """ -import distutils.spawn import platform import shutil import subprocess @@ -62,7 +61,7 @@ def run_command(cmd, capture_output=False, cwd=None, check=False, as_root=False, def is_command_installed(tool): """Check if a command is installed on the system.""" - return distutils.spawn.find_executable(tool) + return shutil.which(tool) def delete_directory(dir_path): diff --git a/scripts/restore_secrets.py b/scripts/restore_secrets.py index cd72cf58..1dae73eb 100644 --- a/scripts/restore_secrets.py +++ b/scripts/restore_secrets.py @@ -152,10 +152,13 @@ def _patch_reverse_id(service_plist_path): print("Attempting to patch reverse id in Info.plist") with open(service_plist_path, "rb") as f: service_plist = plistlib.load(f) - _patch_file( - path=os.path.join(os.path.dirname(service_plist_path), "testapp", "Info.plist"), - placeholder="REPLACE_WITH_REVERSED_CLIENT_ID", - value=service_plist["REVERSED_CLIENT_ID"]) + try: + _patch_file( + path=os.path.join(os.path.dirname(service_plist_path), "testapp", "Info.plist"), + placeholder="REPLACE_WITH_REVERSED_CLIENT_ID", + value=service_plist["REVERSED_CLIENT_ID"]) + except KeyError as e: + print("Warning: Missing plist key %s in %s, skipping" % (e.args[0], service_plist_path)) def _patch_bundle_id(service_plist_path): @@ -163,10 +166,13 @@ def _patch_bundle_id(service_plist_path): print("Attempting to patch bundle id in Info.plist") with open(service_plist_path, "rb") as f: service_plist = plistlib.load(f) - _patch_file( - path=os.path.join(os.path.dirname(service_plist_path), "testapp", "Info.plist"), - placeholder="$(PRODUCT_BUNDLE_IDENTIFIER)", - value=service_plist["BUNDLE_ID"]) + try: + _patch_file( + path=os.path.join(os.path.dirname(service_plist_path), "testapp", "Info.plist"), + placeholder="$(PRODUCT_BUNDLE_IDENTIFIER)", + value=service_plist["BUNDLE_ID"]) + except KeyError as e: + print("Warning: Missing plist key %s in %s, skipping" % (e.args[0], service_plist_path)) def _patch_file(path, placeholder, value):