From 555dad151165b4bcfdd714cb620f069f9c34be3f Mon Sep 17 00:00:00 2001 From: Jon Simantov Date: Tue, 24 Jan 2023 10:45:56 -0800 Subject: [PATCH 1/4] Update dependencies script. --- scripts/update_android_ios_dependencies.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/scripts/update_android_ios_dependencies.py b/scripts/update_android_ios_dependencies.py index 6aa44074fe..8b181261b3 100644 --- a/scripts/update_android_ios_dependencies.py +++ b/scripts/update_android_ios_dependencies.py @@ -690,8 +690,7 @@ def parse_cmdline_args(): parser.add_argument('--skip_ios', action='store_true', help='Skip iOS pod version update completely.') # TODO: remove default values when Ads SDK does not need to be pinned. - parser.add_argument('--ignore_ios_pods', nargs='+', - default=('Google-Mobile-Ads-SDK',), + parser.add_argument('--ignore_ios_pods', nargs='+', default=(), help='Ignore iOS pods which have any of the items specified in ' 'this list as substrings.') parser.add_argument('--podfiles', nargs='+', default=(os.getcwd(),), @@ -702,8 +701,7 @@ def parse_cmdline_args(): parser.add_argument('--skip_android', action='store_true', help='Skip Android libraries version update completely.') # TODO: remove default values when Ads SDK does not need to be pinned. - parser.add_argument('--ignore_android_packages', nargs='+', - default=('firebase-ads',), + parser.add_argument('--ignore_android_packages', nargs='+', default=(), help='Ignore Android packages which have any of the items ' 'specified in this list as substrings.') parser.add_argument('--depfiles', nargs='+', From 2ccc7fee5ced64c829176ab98ec23e40ef2ee89e Mon Sep 17 00:00:00 2001 From: Jon Simantov Date: Tue, 24 Jan 2023 10:53:13 -0800 Subject: [PATCH 2/4] Add code for ignoring old admob cppsdk versions. --- scripts/update_android_ios_dependencies.py | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/scripts/update_android_ios_dependencies.py b/scripts/update_android_ios_dependencies.py index 8b181261b3..bc7d09c185 100644 --- a/scripts/update_android_ios_dependencies.py +++ b/scripts/update_android_ios_dependencies.py @@ -324,6 +324,8 @@ def modify_pod_file(pod_file, pod_version_map, dryrun=True): pod_version_map (dict): Map of podnames to their respective version. dryrun (bool, optional): Just print the substitutions. Do not write to file. Defaults to True. + ignore_ios_versions (set): If the old version number for a pod + matches one of these, don't update it. """ global logfile_lines to_update = False @@ -341,9 +343,13 @@ def modify_pod_file(pod_file, pod_version_map, dryrun=True): match = re.match(RE_PODFILE_VERSION, line) if match: pod_name = match['pod_name'] + skip_line = False + for ignore_version in ignore_ios_versions: + if ignore_version in match['version']: + skip_line = True # Firebase/Auth -> Firestore (due to being a subspec) pod_name_key = re.sub(r'/.*$', '', pod_name) - if pod_name_key in pod_version_map: + if pod_name_key in pod_version_map and not skip_line: latest_version = pod_version_map[pod_name_key] substituted_line = line.replace(match['version'], latest_version) if substituted_line != line: @@ -693,6 +699,9 @@ def parse_cmdline_args(): parser.add_argument('--ignore_ios_pods', nargs='+', default=(), help='Ignore iOS pods which have any of the items specified in ' 'this list as substrings.') + parser.add_argument('--ignore_ios_versions', nargs='+', default=('cppsdk',), + help='Do not update any iOS pods whose versions contain any of ' + 'the items specified in this list as substrings.') parser.add_argument('--podfiles', nargs='+', default=(os.getcwd(),), help= 'List of pod files or directories containing podfiles') parser.add_argument('--specs_repo', @@ -701,7 +710,8 @@ def parse_cmdline_args(): parser.add_argument('--skip_android', action='store_true', help='Skip Android libraries version update completely.') # TODO: remove default values when Ads SDK does not need to be pinned. - parser.add_argument('--ignore_android_packages', nargs='+', default=(), + parser.add_argument('--ignore_android_packages', nargs='+', + default=('firebase-ads',), help='Ignore Android packages which have any of the items ' 'specified in this list as substrings.') parser.add_argument('--depfiles', nargs='+', @@ -753,7 +763,8 @@ def main(): pod_files = get_files(args.podfiles, file_extension='', file_name='Podfile', ignore_directories=set(args.ignore_directories)) for pod_file in pod_files: - modify_pod_file(pod_file, latest_pod_versions_map, args.dryrun) + modify_pod_file(pod_file, latest_pod_versions_map, args.dryrun, + args.ignore_ios_versions) for readme_file in readme_files: modify_readme_file_pods(readme_file, latest_pod_versions_map, args.dryrun) From 94afaf033b34e4d0d86f779d596036c6a20c38cc Mon Sep 17 00:00:00 2001 From: Jon Simantov Date: Tue, 24 Jan 2023 10:55:04 -0800 Subject: [PATCH 3/4] Add comments --- scripts/update_android_ios_dependencies.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/scripts/update_android_ios_dependencies.py b/scripts/update_android_ios_dependencies.py index bc7d09c185..3e416bddb0 100644 --- a/scripts/update_android_ios_dependencies.py +++ b/scripts/update_android_ios_dependencies.py @@ -344,6 +344,7 @@ def modify_pod_file(pod_file, pod_version_map, dryrun=True): if match: pod_name = match['pod_name'] skip_line = False + # Check if the old version matches anything in ignore_ios_versions for ignore_version in ignore_ios_versions: if ignore_version in match['version']: skip_line = True @@ -700,8 +701,8 @@ def parse_cmdline_args(): help='Ignore iOS pods which have any of the items specified in ' 'this list as substrings.') parser.add_argument('--ignore_ios_versions', nargs='+', default=('cppsdk',), - help='Do not update any iOS pods whose versions contain any of ' - 'the items specified in this list as substrings.') + help='Do not update any iOS pods when the old version contains ' + 'any of the items specified in this list as substrings.') parser.add_argument('--podfiles', nargs='+', default=(os.getcwd(),), help= 'List of pod files or directories containing podfiles') parser.add_argument('--specs_repo', From a9e9fa8da07d7253958f77ad88722191aaf2378d Mon Sep 17 00:00:00 2001 From: Jon Simantov Date: Tue, 24 Jan 2023 11:18:08 -0800 Subject: [PATCH 4/4] Add arg --- scripts/update_android_ios_dependencies.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/update_android_ios_dependencies.py b/scripts/update_android_ios_dependencies.py index 3e416bddb0..43b8c1204c 100644 --- a/scripts/update_android_ios_dependencies.py +++ b/scripts/update_android_ios_dependencies.py @@ -316,7 +316,7 @@ def get_pod_files(dirs_and_files): RE_PODFILE_VERSION = re.compile( r"\s+pod '(?P.+)', '(?P.+)'\n") -def modify_pod_file(pod_file, pod_version_map, dryrun=True): +def modify_pod_file(pod_file, pod_version_map, dryrun=True, ignore_ios_versions=[]): """Update pod versions in specified podfile. Args: