[fuchsia] Update product-bundles script to stay consistent with ffx. `ffx product-bundle get` will add repositories after downloading, and will not download a product if the repository is still present. However, `ffx product-bundle remove` does not remove repositories, preventing a `remove`->`get` on the same product-bundle from succeeding. Adding logic to check if a repository is stale (by checking if the path is present) helps with this. With a way to confirm that a PB is or isn't downloaded now, we can verify the success of this by simply getting the list of available PBs via repository, and comparing this against the desired PBs. This allows for simplified downloaded and staleness checks (all while guaranteeing the PB is actually downloaded when we say it is). This CL also changes how versioning and caching is done. Versioning (IE, signature) was done via a .product_bundle file. This file is no longer used by FFX. This also introduced another way for stale references that don't get updated on remove. Instead, versions will be determined based on the `product-bundle list` of URLs. Also adds unit tests to the new methods. Change-Id: I2b887a252b081ba7f7ed20a53f54b2a6c8062207 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4027068 Commit-Queue: Rohan Pavone <rohpavone@chromium.org> Reviewed-by: Greg Thompson <grt@chromium.org> Cr-Commit-Position: refs/heads/main@{#1075226}
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.
The project's web site is https://www.chromium.org.
To check out the source code locally, don't use git clone! Instead, follow the instructions on how to get the code.
Documentation in the source is rooted in docs/README.md.
Learn how to Get Around the Chromium Source Code Directory Structure .
For historical reasons, there are some small top level directories. Now the guidance is that new top level directories are for product (e.g. Chrome, Android WebView, Ash). Even if these products have multiple executables, the code should be in subdirectories of the product.
If you found a bug, please file it at https://crbug.com/new.