diff options
author | Colin Cross <ccross@android.com> | 2018-06-19 22:43:34 -0700 |
---|---|---|
committer | Colin Cross <ccross@android.com> | 2018-06-20 21:03:07 -0700 |
commit | 6a77c9871c5e16cbbbf0ece76d3ae0b400b74a39 (patch) | |
tree | e38181554e21c8b805c68b5e9dfb8a8edcbe5d7b /java/java.go | |
parent | ab97ae08cd60bae555c0689aed7c182f2e97864b (diff) |
Use -processorpath for annotation processors
ErrorProne needs to be added to -processorpath, but once anything is
passed via -processorpath javac stops looking in the classpath for
annotation processors. Move annotation processors to -processorpath
in preparation.
This reapplies Ife06b3c7432ab971f5605dcc18a558bcbd99a675 with fixes
to processorpath in errorprone rules.
Test: m java
Change-Id: I188136771386a2183fb31f4b70b50c95ac419ff8
Diffstat (limited to 'java/java.go')
-rw-r--r-- | java/java.go | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/java/java.go b/java/java.go index 8179df8c0..86c3c21cc 100644 --- a/java/java.go +++ b/java/java.go @@ -331,6 +331,7 @@ type dependencyTag struct { var ( staticLibTag = dependencyTag{name: "staticlib"} libTag = dependencyTag{name: "javalib"} + annoTag = dependencyTag{name: "annotation processor"} bootClasspathTag = dependencyTag{name: "bootclasspath"} systemModulesTag = dependencyTag{name: "system modules"} frameworkResTag = dependencyTag{name: "framework-res"} @@ -521,7 +522,7 @@ func (j *Module) deps(ctx android.BottomUpMutatorContext) { ctx.AddDependency(ctx.Module(), libTag, j.properties.Libs...) ctx.AddDependency(ctx.Module(), staticLibTag, j.properties.Static_libs...) - ctx.AddDependency(ctx.Module(), libTag, j.properties.Annotation_processors...) + ctx.AddDependency(ctx.Module(), annoTag, j.properties.Annotation_processors...) android.ExtractSourcesDeps(ctx, j.properties.Srcs) android.ExtractSourcesDeps(ctx, j.properties.Exclude_srcs) @@ -602,6 +603,7 @@ func (j *Module) aidlFlags(ctx android.ModuleContext, aidlPreprocess android.Opt type deps struct { classpath classpath bootClasspath classpath + processorPath classpath staticJars android.Paths staticHeaderJars android.Paths staticJarResources android.Paths @@ -726,6 +728,8 @@ func (j *Module) collectDeps(ctx android.ModuleContext) deps { deps.staticHeaderJars = append(deps.staticHeaderJars, dep.HeaderJars()...) // sdk lib names from dependencies are re-exported j.exportedSdkLibs = append(j.exportedSdkLibs, dep.ExportedSdkLibs()...) + case annoTag: + deps.processorPath = append(deps.processorPath, dep.ImplementationJars()...) case frameworkResTag: if ctx.ModuleName() == "framework" { // framework.jar has a one-off dependency on the R.java and Manifest.java files @@ -850,6 +854,7 @@ func (j *Module) collectBuilderFlags(ctx android.ModuleContext, deps deps) javaB // classpath flags.bootClasspath = append(flags.bootClasspath, deps.bootClasspath...) flags.classpath = append(flags.classpath, deps.classpath...) + flags.processorPath = append(flags.processorPath, deps.processorPath...) if len(flags.bootClasspath) == 0 && ctx.Host() && !ctx.Config().TargetOpenJDK9() && !Bool(j.properties.No_standard_libs) && |