summaryrefslogtreecommitdiff
path: root/java/lint.go
diff options
context:
space:
mode:
Diffstat (limited to 'java/lint.go')
-rw-r--r--java/lint.go85
1 files changed, 13 insertions, 72 deletions
diff --git a/java/lint.go b/java/lint.go
index 938e2b0d7..475e8dc7c 100644
--- a/java/lint.go
+++ b/java/lint.go
@@ -182,11 +182,6 @@ type lintPaths struct {
cacheDir android.WritablePath
homeDir android.WritablePath
srcjarDir android.WritablePath
-
- deps android.Paths
-
- remoteInputs android.Paths
- remoteRSPInputs android.Paths
}
func lintRBEExecStrategy(ctx android.ModuleContext) string {
@@ -194,39 +189,6 @@ func lintRBEExecStrategy(ctx android.ModuleContext) string {
}
func (l *linter) writeLintProjectXML(ctx android.ModuleContext, rule *android.RuleBuilder) lintPaths {
- var deps android.Paths
- var remoteInputs android.Paths
- var remoteRSPInputs android.Paths
-
- // Paths passed to trackInputDependency will be added as dependencies of the rule that runs
- // lint and passed as inputs to the remote execution proxy.
- trackInputDependency := func(paths ...android.Path) {
- deps = append(deps, paths...)
- remoteInputs = append(remoteInputs, paths...)
- }
-
- // Paths passed to trackRSPDependency will be added as dependencies of the rule that runs
- // lint, but the RSP file will be used by the remote execution proxy to find the files so that
- // it doesn't overflow command line limits.
- trackRSPDependency := func(paths android.Paths, rsp android.Path) {
- deps = append(deps, paths...)
- remoteRSPInputs = append(remoteRSPInputs, rsp)
- }
-
- var resourcesList android.WritablePath
- if len(l.resources) > 0 {
- // The list of resources may be too long to put on the command line, but
- // we can't use the rsp file because it is already being used for srcs.
- // Insert a second rule to write out the list of resources to a file.
- resourcesList = android.PathForModuleOut(ctx, "resources.list")
- resListRule := android.NewRuleBuilder(pctx, ctx)
- resListRule.Command().Text("cp").
- FlagWithRspFileInputList("", resourcesList.ReplaceExtension(ctx, "rsp"), l.resources).
- Output(resourcesList)
- resListRule.Build("lint_resources_list", "lint resources list")
- trackRSPDependency(l.resources, resourcesList)
- }
-
projectXMLPath := android.PathForModuleOut(ctx, "lint", "project.xml")
// Lint looks for a lint.xml file next to the project.xml file, give it one.
configXMLPath := android.PathForModuleOut(ctx, "lint", "lint.xml")
@@ -235,20 +197,6 @@ func (l *linter) writeLintProjectXML(ctx android.ModuleContext, rule *android.Ru
srcJarDir := android.PathForModuleOut(ctx, "lint", "srcjars")
srcJarList := zipSyncCmd(ctx, rule, srcJarDir, l.srcJars)
- // TODO(ccross): this is a little fishy. The files extracted from the srcjars are referenced
- // by the project.xml and used by the later lint rule, but the lint rule depends on the srcjars,
- // not the extracted files.
- trackRSPDependency(l.srcJars, srcJarList)
-
- // TODO(ccross): some of the files in l.srcs are generated sources and should be passed to
- // lint separately.
- srcsList := android.PathForModuleOut(ctx, "lint", "srcs.list")
- srcsListRsp := android.PathForModuleOut(ctx, "lint-srcs.list.rsp")
- rule.Command().Text("cp").
- FlagWithRspFileInputList("", srcsListRsp, l.srcs).
- Output(srcsList)
- trackRSPDependency(l.srcs, srcsList)
- rule.Temporary(srcsList)
cmd := rule.Command().
BuiltTool("lint-project-xml").
@@ -263,32 +211,31 @@ func (l *linter) writeLintProjectXML(ctx android.ModuleContext, rule *android.Ru
cmd.Flag("--test")
}
if l.manifest != nil {
- cmd.FlagWithArg("--manifest ", cmd.PathForInput(l.manifest))
- trackInputDependency(l.manifest)
+ cmd.FlagWithInput("--manifest ", l.manifest)
}
if l.mergedManifest != nil {
- cmd.FlagWithArg("--merged_manifest ", cmd.PathForInput(l.mergedManifest))
- trackInputDependency(l.mergedManifest)
+ cmd.FlagWithInput("--merged_manifest ", l.mergedManifest)
}
- cmd.FlagWithInput("--srcs ", srcsList)
+ // TODO(ccross): some of the files in l.srcs are generated sources and should be passed to
+ // lint separately.
+ srcsList := android.PathForModuleOut(ctx, "lint-srcs.list")
+ cmd.FlagWithRspFileInputList("--srcs ", srcsList, l.srcs)
cmd.FlagWithInput("--generated_srcs ", srcJarList)
- if resourcesList != nil {
- cmd.FlagWithInput("--resources ", resourcesList)
+ if len(l.resources) > 0 {
+ resourcesList := android.PathForModuleOut(ctx, "lint-resources.list")
+ cmd.FlagWithRspFileInputList("--resources ", resourcesList, l.resources)
}
if l.classes != nil {
- cmd.FlagWithArg("--classes ", cmd.PathForInput(l.classes))
- trackInputDependency(l.classes)
+ cmd.FlagWithInput("--classes ", l.classes)
}
- cmd.FlagForEachArg("--classpath ", cmd.PathsForInputs(l.classpath))
- trackInputDependency(l.classpath...)
+ cmd.FlagForEachInput("--classpath ", l.classpath)
- cmd.FlagForEachArg("--extra_checks_jar ", cmd.PathsForInputs(l.extraLintCheckJars))
- trackInputDependency(l.extraLintCheckJars...)
+ cmd.FlagForEachInput("--extra_checks_jar ", l.extraLintCheckJars)
cmd.FlagWithArg("--root_dir ", "$PWD")
@@ -309,11 +256,6 @@ func (l *linter) writeLintProjectXML(ctx android.ModuleContext, rule *android.Ru
configXML: configXMLPath,
cacheDir: cacheDir,
homeDir: homeDir,
-
- deps: deps,
-
- remoteInputs: remoteInputs,
- remoteRSPInputs: remoteRSPInputs,
}
}
@@ -424,8 +366,7 @@ func (l *linter) lint(ctx android.ModuleContext) {
Flag("--exitcode").
Flags(l.properties.Lint.Flags).
Implicit(annotationsZipPath).
- Implicit(apiVersionsXMLPath).
- Implicits(lintPaths.deps)
+ Implicit(apiVersionsXMLPath)
rule.Temporary(lintPaths.projectXML)
rule.Temporary(lintPaths.configXML)