Android Build Tools
This commit is contained in:
@ -0,0 +1,64 @@
|
||||
# fetchartifact
|
||||
|
||||
This is a Python interface to http://go/fetchartifact, which is used for
|
||||
fetching artifacts from http://go/ab.
|
||||
|
||||
## Usage
|
||||
|
||||
```python
|
||||
from fetchartifact import fetchartifact
|
||||
|
||||
|
||||
async def main() -> None:
|
||||
artifacts = await fetch_artifact(
|
||||
branch="aosp-master-ndk",
|
||||
target="linux",
|
||||
build="1234",
|
||||
pattern="android-ndk-*.zip",
|
||||
)
|
||||
for artifact in artifacts:
|
||||
print(f"Downloaded {artifact}")
|
||||
```
|
||||
|
||||
## Development
|
||||
|
||||
For first time set-up, install https://python-poetry.org/, then run
|
||||
`poetry install` to install the project's dependencies.
|
||||
|
||||
This project uses mypy and pylint for linting, black and isort for
|
||||
auto-formatting, and pytest for testing. All of these tools will be installed
|
||||
automatically, but you may want to configure editor integration for them.
|
||||
|
||||
To run any of the tools poetry installed, you can either prefix all your
|
||||
commands with `poetry run` (as in `poetry run pytest`), or you can run
|
||||
`poetry shell` to enter a shell with all the tools on the `PATH`. The following
|
||||
instructions assume you've run `poetry shell` first.
|
||||
|
||||
To run the linters:
|
||||
|
||||
```bash
|
||||
mypy fetchartifact tests
|
||||
pylint fetchartifact tests
|
||||
```
|
||||
|
||||
To auto-format the code (though I recommend configuring your editor to do this
|
||||
on save):
|
||||
|
||||
```bash
|
||||
isort .
|
||||
black .
|
||||
```
|
||||
|
||||
To run the tests and generate coverage:
|
||||
|
||||
```bash
|
||||
pytest --cov=fetchartifact
|
||||
```
|
||||
|
||||
Optionally, pass `--cov-report=html` to generate an HTML report, or
|
||||
`--cov-report=xml` to generate an XML report for your editor.
|
||||
|
||||
Some tests require network access. If you need to run the tests in an
|
||||
environment that cannot access the Android build servers, add
|
||||
`-m "not requires_network"` to skip those tests. Only a mock service can be
|
||||
tested without network access.
|
||||
Reference in New Issue
Block a user