Remove restriction on exported plugins that generate APIs

hilt_android requires seven separate annotation processors, which
is only feasible to support using exported_plugins to avoid having
to list all seven in every module that uses it.  Unfortunately they
all set generates_api: true.  Turbine is already disabled for modules
that directly use a plugin that sets generates_api: true, because
turbine doesn't run annotation processors.  Also add support for
disabling turbine if a module transitively uses a plugin that
generates APIs via exported_plugins.

Bug: 173397767
Test: TestExportedPlugins
Change-Id: If70354a3dd67efb4ce88bc9c934d41ccb6241b28
This commit is contained in:
Colin Cross
2020-11-19 18:06:03 -08:00
parent 748b2d829a
commit c9fe10f5b8
4 changed files with 58 additions and 17 deletions

View File

@@ -836,8 +836,8 @@ func (a *AARImport) ClassLoaderContexts() dexpreopt.ClassLoaderContextMap {
return nil
}
func (d *AARImport) ExportedPlugins() (android.Paths, []string) {
return nil, nil
func (d *AARImport) ExportedPlugins() (android.Paths, []string, bool) {
return nil, nil, false
}
func (a *AARImport) SrcJarArgs() ([]string, android.Paths) {