Blueprint bootstrap and Soong each create rules to install
blueprint_go_binary modules to the same location, but with different
command lines. Binaries used during bootstrap are installed using
the bootstrap rule, but then get reinstalled during a full build via
the blueprint_tools phony that is a dependency of droid. This
changes the command line used for the rule stored in .ninja_log,
and then on the next bootstrap ninja will rerun the binaries,
triggering reanalysis.
As a quick fix, don't create install rules for loadplugins and
soong_build. A more permanent fix may be to move the bootstrap
installation to a different location, but that will require more
testing.
Bug: 366291149
Test: m blueprint_tools && m blueprint_tools
Flag; EXEMPT bugfix
Change-Id: Ib7f2910976f4b5e6add2128ce0b2a5d10445a53c
Depending on a blueprint_go_binary from a Soong module requires hacks
that allow Soong to support both blueprint.Module and android.Module.
Wrap the blueprint Go module types with ones that implement
android.Module, and delete all the related hacks.
Bug: 319288033
Test: m checkbuild
Flag: EXEMPT refactor
Change-Id: I9b62b450de09bd10288333fbc66aa71c867ae0b3