Allow wrapping the Go module types
Allow Soong to wrap the Go module types in types that implement
android.Module, which will allow removing hacks in Soong that need
to handle both blueprint.Module and android.Module.
Add getters and setters to interact with the wrapped blueprint module
types.
Remove the GoBinaryTool interface used by Soong, it will use
standard OutputFilesForModule and HostToolProvider instead.
Rename the intermediate file to have the same name as the installed
file.
Skip the install rule when wrapped, which will allow Soong to create
its own install rule that takes advantage of the generic Soong
infrastructure.
Skip the blueprint_tools phonies for modules that are not in an
exported namespace.
Add a GoModuleTypesAreWrapped() method that Soong can call to prevent
blueprint from registering the module types so it can register the
wrapped ones in their place.
Test: all soong tests
Flag: EXEMPT refactor
Change-Id: I0e78669c0ed385870dccf9fcdaee1c50dd0d9f1a
3 files changed