commit | f6486ce40716ecb5ef30886b156d9f9bf0876a18 | [log] [tgz] |
---|---|---|
author | Dan Willemsen <dwillemsen@google.com> | Fri Sep 16 19:21:36 2016 -0700 |
committer | Dan Willemsen <dwillemsen@google.com> | Mon Sep 19 12:51:41 2016 -0700 |
tree | 164139d01e66dca49965ad16e2444dc3be1a3bd8 | |
parent | d26caadec345d7f19d63f894a0b8320693543ea6 [diff] |
Add --regen_debug This prints information about the regen process during a normal build, including which shell commands where rerun or ignored. My main goal is to understand if it's safe to remove our --ignore_dirty argument. So I need to understand which files were dirty, but ignored. And I'd also like to know which shell commands were run (or would be run if not ignored), to identify any that may cause side-effects (whether desired or not). It's different from --dump-kati-stamp, since --dump-kati-stamp stops kati before actually building anything, and continues after the first dirty indication in an attempt to find every difference.
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.
Now AOSP has kati and ninja, so all you have to do is
% export USE_NINJA=true
All Android's build commands (m, mmm, mmma, etc.) should just work.
Set up kati:
% cd ~/src % git clone https://github.com/google/kati % cd kati % make
Build Android:
% cd <android-directory> % source build/envsetup.sh % lunch <your-choice> % ~/src/kati/m2n --kati_stats # Use --goma if you are a Googler. % ./ninja.sh
You need ninja in your $PATH.
% ./ninja.sh -t clean
Note ./ninja.sh passes all parameters to ninja.
For example, the following is equivalent to "make cts":
% ./ninja.sh cts
Or, if you know the path you want, you can do:
% ./ninja.sh out/host/linux-x86/bin/adb