Skip to content

Commit

Permalink
Delete stale package_config.json in gclient sync hook (#57195)
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
goderbauer authored Dec 13, 2024
1 parent c4e3cc2 commit 2f66432
Showing 1 changed file with 15 additions and 0 deletions.
15 changes: 15 additions & 0 deletions tools/pub_get_offline.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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:
Expand Down

0 comments on commit 2f66432

Please sign in to comment.