Delete stale package_config.json in gclient sync hook (flutter/engine#57195)

On the bots there were old and stale `package_config.json` files hanging around that confuse the `dart format` command. This PR adds a step to the `pub_get_offline.py` glcient sync hook to delete all of these files that are not under version control.
This commit is contained in:
Michael Goderbauer 2024-12-13 15:58:07 -08:00 committed by GitHub
parent e0263d4132
commit ee512e0442

View File

@ -127,6 +127,17 @@ def find_unlisted_packages():
return unlisted
def delete_config_files():
# Find all package_config.json that are not under version control.
gitcmd = ['git', 'ls-files', '-o', '**/.dart_tool/package_config.json']
files_to_delete = subprocess.check_output(
gitcmd, cwd=ENGINE_DIR, stderr=subprocess.STDOUT, text=True
).splitlines()
for file in files_to_delete:
print('Deleting %s...' % file)
os.remove(os.path.join(ENGINE_DIR, file))
def main():
# Intentionally use the Dart SDK prebuilt instead of the Flutter prebuilt
# (i.e. prebuilts/{platform}/dart-sdk/bin/dart) because the script has to run
@ -135,6 +146,10 @@ def main():
SRC_ROOT, 'flutter', 'third_party', 'dart', 'tools', 'sdks', 'dart-sdk', 'bin'
)
# Delete all package_config.json files. These may be stale.
# Required ones will be regenerated fresh below.
delete_config_files()
# Ensure all relevant packages are listed in ALL_PACKAGES.
unlisted = find_unlisted_packages()
if len(unlisted) > 0: