Add updater tool for rr prebuilts. am: b6fd073329

Original change: https://android-review.googlesource.com/c/platform/tools/rr_prebuilt/+/2749093

Change-Id: I40707b45ec154c36c6fa2117084d2bed2f982bc3
Signed-off-by: Automerger Merge Worker <[email protected]>
tree: 9cc27f9d8a26992d37d3269d4acdead184556e16
  1. rrprebuiltupdater/
  2. tests/
  3. .gitignore
  4. Makefile
  5. OWNERS
  6. poetry.lock
  7. pyproject.toml
  8. README.md
  9. requirements.txt
  10. update.py
  11. update.sh
README.md

rr prebuilts

This directory contains the prebuilt binaries for rr. These binaries come from aosp-rr-dev. See toolchain/rr/android/README.md for information about how to build and update that project.

Updating prebuilts

To update the prebuilt binaries in this directory to a newer version from ci.android.com, run:

$ ./update.sh $BUILD_ID

$BUILD_ID is optional. If omitted, the latest completed build will be used.

Development guide for update.py

The development environment is managed using Poetry. If you need to make a non-trivial change you will want to install that so you can run the linters and formatters.

Run the type checker and linter with make lint.

Auto-format the code with make format.

Run the tests with make test

Run all of the above with make check or just make.

Managing dependencies

New dependencies can be added with poetry add <name> or removed with poetry add <name>. Updating a dependency to a newer version is also done with poetry add.

Whenever dependencies are updated, run poetry export --without-hashes --output requirements.txt to update the requirements.txt file. That file is used by update.sh so poetry is only needed by developers of update.py, not callers. Note that poetry does not generate the correct output for the local fetchartifact dependency, so after running export, you'll need to manually fix that line.