blob: 3612a468c174ae9629c324cef9514bbabecf4c26 [file] [log] [blame] [view]
# external_updater developer documentation
The documentation on this page is for developers of `external_updater`. If
you're looking for user documentation, see the [README.md].
## Development environment
Development of `external_updater` requires a full checkout of the main branch of
AOSP, and a lunched target (any target). See [Get started with Android
Development] for a guide on setting up an AOSP build environment.
Note: This project uses Python 3.11.
Not all the Python tools used here are available in AOSP. For managing those, we
recommend using Poetry. To install the necessary Python dependencies:
```bash
$ poetry install
```
[README.md]: ../README.md
[Get started with Android Development]: https://source.android.com/docs/setup
## Development tasks
The easiest way to activate the virtual environment is
to create a nested shell with:
```bash
$ poetry shell
```
`poetry shell` will activate the virtual environment by creating a nested shell.
To deactivate this virtual environment simply use `deactivate` or `exit`.
Poetry provides a `run` command to execute the given command inside the
project's virtual environment. As an example, execute the following command to
run Mypy on `base_updater.py`:
```bash
$ poetry run mypy base_updater.py
```