commit | 97cbdfaf7d5c7633a420ce687aed3dc334bdea1a | [log] [tgz] |
---|---|---|
author | Karsten Tausche <karsten@fairphone.com> | Tue Dec 21 13:08:08 2021 +0100 |
committer | Karsten Tausche <karsten@fairphone.com> | Tue Dec 21 14:16:29 2021 +0100 |
tree | 46543dd70e1bd6f6d5827cc6da289fd4058e32b9 | |
parent | 10cbcb93ee5d4779c57c522751b75e3b5a6775ea [diff] |
fetch-and-push-remote: Try qualifying manifest revisions CAF started using unqualified branches in some manifests. The tooling currently assumes that references are always fully qualified, so it fails on those manifests. Try finding the right fully qualified name by querying both heads and tags from the server and see what matches. Handle "push-current-remote-rev" usage only, since that's what we're using for CAF at the moment. See for example: * https://source.codeaurora.org/quic/la/platform/manifest/tree/default_LA.UM.9.6.2.c25-01800-89xx.0.xml?h=LA.UM.9.6.2.c25-01800-89xx.0 * On tag LA.UM.9.6.2.c25-01800-89xx.0, but projects use revision "LA.UM.9.6.2.c25", which is a branch. Change-Id: Ie9bec6a24b71a791fd727cdf3c3e8574873aafc0 Depends-On: I118a4aa7629e7f44745cd7b2e977683ad3793b05
A collection of tools developed at Fairphone related to Android development:
bin
.<language>-libs
:python-libs/android-tools
: A support library to work with Android devices and apps in Python 3.shell-libs
: A collection of shell scripts for handling common shell commands and operations.bullseye
: Script to check and apply security patches from Android Security Bulletins.lava
: tools to interact with LAVA, the automated testing system.jira
: Script to import CSV defined configuration into the Fairphone JIRA instance. The script can create users, groups and components. Run ./import_csv_to_jira.py --help
for details.See the individual tools help (--help
) or projects README for installation and usage.
TODO: Migrate the LAVA tools in lava
to an installable Python package.
Code style, linters, and formatters must be used before submitting any new tool or patchset. Maximal line lengths are fixed to 80 characters.
Install the selected toolset within a Python 3.6 (virtual) environment:
$ pip3 install -r requirements-dev.txt
We detail below the recommendations (read: requirements) per language and how to run the tools in a standalone fashion.
Note: Portable shell scripts are favoured over Bash scripts.
Follow what the Bashate style checker recommends.
$ bashate --verbose <file>
Note: Python 3.6 is the current development choice.
Let Black format Python files for you.
$ black <file>
Trust that the linting tools (flake8 and pylint) know better and follow their advice.
$ flake8 <file> $ pylint <file>
Additionally, run mypy for validating type hinting. However, this does not fit in all contexts and mypy has limitations in specific situations. Consider using type hints unless it is too hard of a burden. If using type hints, also consider using mypy
's strict mode. It provides extra checks, including calls from typed contexts to untyped ones etc.
$ mypy [--strict] <file>
The project is made available under the terms of the Apache 2.0 license. See LICENSE for details.