Remove annotation_processors property

Now that there are no uses left of annotation_processors remove
the property.

If there are no annotation processor classes for javac for a module,
due to an empty "plugins" property or using kapt for annotation
processors, pass -proc:none to javac to ensure it does not try
to run any annotation processors found in the classpath.

Bug: 77284273
Test: plugin_test.go, kotlin_test.go
Change-Id: I3823d9fec8d3d07d2e49b1d97839f7fcbdd35647
This commit is contained in:
Colin Cross 2019-01-23 16:14:02 -08:00
parent 11ecdd6979
commit 7788c1283f
4 changed files with 6 additions and 18 deletions

View File

@ -255,8 +255,7 @@ func transformJavaToClasses(ctx android.ModuleContext, outputFile android.Writab
deps = append(deps, flags.classpath...) deps = append(deps, flags.classpath...)
deps = append(deps, flags.processorPath...) deps = append(deps, flags.processorPath...)
// TODO(b/77284273): pass -processor:none if no plugins are listed processor := "-proc:none"
processor := ""
if flags.processor != "" { if flags.processor != "" {
processor = "-processor " + flags.processor processor = "-processor " + flags.processor
} }

View File

@ -114,9 +114,6 @@ type CompilerProperties struct {
// If set to true, include sources used to compile the module in to the final jar // If set to true, include sources used to compile the module in to the final jar
Include_srcs *bool Include_srcs *bool
// List of modules to use as annotation processors. Deprecated, use plugins instead.
Annotation_processors []string
// List of modules to use as annotation processors // List of modules to use as annotation processors
Plugins []string Plugins []string
@ -376,7 +373,6 @@ type jniDependencyTag struct {
var ( var (
staticLibTag = dependencyTag{name: "staticlib"} staticLibTag = dependencyTag{name: "staticlib"}
libTag = dependencyTag{name: "javalib"} libTag = dependencyTag{name: "javalib"}
annoTag = dependencyTag{name: "annotation processor"}
pluginTag = dependencyTag{name: "plugin"} pluginTag = dependencyTag{name: "plugin"}
bootClasspathTag = dependencyTag{name: "bootclasspath"} bootClasspathTag = dependencyTag{name: "bootclasspath"}
systemModulesTag = dependencyTag{name: "system modules"} systemModulesTag = dependencyTag{name: "system modules"}
@ -471,9 +467,6 @@ func (j *Module) deps(ctx android.BottomUpMutatorContext) {
ctx.AddVariationDependencies(nil, libTag, j.properties.Libs...) ctx.AddVariationDependencies(nil, libTag, j.properties.Libs...)
ctx.AddVariationDependencies(nil, staticLibTag, j.properties.Static_libs...) ctx.AddVariationDependencies(nil, staticLibTag, j.properties.Static_libs...)
ctx.AddFarVariationDependencies([]blueprint.Variation{
{Mutator: "arch", Variation: ctx.Config().BuildOsCommonVariant},
}, annoTag, j.properties.Annotation_processors...)
ctx.AddFarVariationDependencies([]blueprint.Variation{ ctx.AddFarVariationDependencies([]blueprint.Variation{
{Mutator: "arch", Variation: ctx.Config().BuildOsCommonVariant}, {Mutator: "arch", Variation: ctx.Config().BuildOsCommonVariant},
@ -493,7 +486,7 @@ func (j *Module) deps(ctx android.BottomUpMutatorContext) {
// TODO(ccross): move this to a mutator pass that can tell if generated sources contain // TODO(ccross): move this to a mutator pass that can tell if generated sources contain
// Kotlin files // Kotlin files
ctx.AddVariationDependencies(nil, kotlinStdlibTag, "kotlin-stdlib") ctx.AddVariationDependencies(nil, kotlinStdlibTag, "kotlin-stdlib")
if len(j.properties.Annotation_processors) > 0 || len(j.properties.Plugins) > 0 { if len(j.properties.Plugins) > 0 {
ctx.AddVariationDependencies(nil, kotlinAnnotationsTag, "kotlin-annotations") ctx.AddVariationDependencies(nil, kotlinAnnotationsTag, "kotlin-annotations")
} }
} }
@ -718,8 +711,6 @@ func (j *Module) collectDeps(ctx android.ModuleContext) deps {
deps.staticResourceJars = append(deps.staticResourceJars, dep.ResourceJars()...) deps.staticResourceJars = append(deps.staticResourceJars, dep.ResourceJars()...)
// sdk lib names from dependencies are re-exported // sdk lib names from dependencies are re-exported
j.exportedSdkLibs = append(j.exportedSdkLibs, dep.ExportedSdkLibs()...) j.exportedSdkLibs = append(j.exportedSdkLibs, dep.ExportedSdkLibs()...)
case annoTag:
deps.processorPath = append(deps.processorPath, dep.ImplementationAndResourcesJars()...)
case pluginTag: case pluginTag:
if plugin, ok := dep.(*Plugin); ok { if plugin, ok := dep.(*Plugin); ok {
deps.processorPath = append(deps.processorPath, dep.ImplementationAndResourcesJars()...) deps.processorPath = append(deps.processorPath, dep.ImplementationAndResourcesJars()...)

View File

@ -149,9 +149,8 @@ func TestKapt(t *testing.T) {
if javac.Args["processorPath"] != "" { if javac.Args["processorPath"] != "" {
t.Errorf("expected processorPath '', got %q", javac.Args["processorPath"]) t.Errorf("expected processorPath '', got %q", javac.Args["processorPath"])
} }
// TODO(b/77284273): test for -processor:none if javac.Args["processor"] != "-proc:none" {
if javac.Args["processor"] != "" { t.Errorf("expected processor '-proc:none', got %q", javac.Args["processor"])
t.Errorf("expected processor '', got %q", javac.Args["processor"])
} }
} }

View File

@ -38,9 +38,8 @@ func TestNoPlugin(t *testing.T) {
t.Errorf("want empty processorpath, got %q", javac.Args["processorpath"]) t.Errorf("want empty processorpath, got %q", javac.Args["processorpath"])
} }
// TODO(b/77284273): test for -processor:none if no plugins are enabled if javac.Args["processor"] != "-proc:none" {
if javac.Args["processor"] != "" { t.Errorf("want '-proc:none' argument, got %q", javac.Args["processor"])
t.Errorf("want no -processor argument, got %q", javac.Args["processor"])
} }
} }