commit | ceabd6eede043fcdeb3e460837e513207419de10 | [log] [tgz] |
---|---|---|
author | Cole Faust <[email protected]> | Wed Jan 11 18:25:52 2023 -0800 |
committer | Cole Faust <[email protected]> | Wed Jan 11 18:26:13 2023 -0800 |
tree | 4c6eef4c6337ab33fe6274898e60980e9dc9c945 | |
parent | 1be12c8b1307de276ca070a3b3bf8f5d7f12d17d [diff] | |
parent | 43f4e4605c54be891e4eddf57a6a2a916fb9b10f [diff] |
Merge remote-tracking branch 'aosp/upstream' into update_kati * aosp/upstream: Replace StringPiece with std::string_view Remove usages of using namespace std; Add ninja version of $? test case Run clang-format Update AUTHORS Simplify implementation of $? for ninja Implement $? for ninja Add test case for $? Disable $? in ninja mode Update AUTHORS and CONTRIBUTORS Implement $? Fix tests for ubuntu 22.04 Add workflow_dispatch trigger to github action Fix CI Add --variable_assignment_trace_filter option Fix unqualified-std-cast-call compiler warning Correct result of Stem() Change-Id: I056bfb6fc0193aa51728d52c4d06974a462b1a2d
kati is an experimental GNU make clone. The main goal of this tool is to speed-up incremental build of Android.
Currently, kati does not offer a faster build by itself. It instead converts your Makefile to a ninja file.
Building:
$ make ckati
The above command produces a ckati
binary in the project root.
Testing (best ran in a Ubuntu 22.04 environment):
$ make test $ go test --ckati $ go test --ckati --ninja $ go test --ckati --ninja --all
The above commands run all cKati and Ninja tests in the testcases/
directory.
Alternatively, you can also run the tests in a Docker container in a prepared test enviroment:
$ docker build -t kati-test . && docker run kati-test
If you are working on a machine that does not provide make
in the same version as kati is currently compatible with, you might want to download a prebuilt version instead. For example to use the prebuilt version of Ubuntu 20.04 LTS:
$ mkdir tmp/ && cd tmp/ $ wget http://mirrors.kernel.org/ubuntu/pool/main/m/make-dfsg/make_4.2.1-1.2_amd64.deb $ ar xv make_4.2.1-1.2_amd64.deb $ tar xf data.tar.xz $ cd .. $ PATH=$(pwd)/tmp/usr/bin/:$PATH make test
For Android-N+, ckati and ninja is used automatically. There is a prebuilt checked in under prebuilts/build-tools that is used.
All Android's build commands (m, mmm, mmma, etc.) should just work.