diff options
author | android-build-team Robot <android-build-team-robot@google.com> | 2020-06-25 01:13:40 +0000 |
---|---|---|
committer | android-build-team Robot <android-build-team-robot@google.com> | 2020-06-25 01:13:40 +0000 |
commit | d0d241ce49f839fd8e89eacc65f33d5aaccd6032 (patch) | |
tree | ec7794e2d5e951428edb82697c581d24964984ce | |
parent | 0962ea934e3b9057154091fae27350a590feef4a (diff) | |
parent | 16e8b0492d25772c5fdae76265a1830c147dcf2e (diff) | |
download | build_soong-d0d241ce49f839fd8e89eacc65f33d5aaccd6032.tar.gz build_soong-d0d241ce49f839fd8e89eacc65f33d5aaccd6032.tar.bz2 build_soong-d0d241ce49f839fd8e89eacc65f33d5aaccd6032.zip |
Snap for 6626121 from 16e8b0492d25772c5fdae76265a1830c147dcf2e to rvc-release
Change-Id: I92bdb3bcef7a1036cae2d480f9971011364597eb
-rw-r--r-- | java/lint.go | 21 | ||||
-rwxr-xr-x | scripts/lint-project-xml.py | 4 |
2 files changed, 17 insertions, 8 deletions
diff --git a/java/lint.go b/java/lint.go index fac9a198..b73d6a51 100644 --- a/java/lint.go +++ b/java/lint.go @@ -88,7 +88,7 @@ func (l *linter) deps(ctx android.BottomUpMutatorContext) { } func (l *linter) writeLintProjectXML(ctx android.ModuleContext, - rule *android.RuleBuilder) (projectXMLPath, configXMLPath, cacheDir android.WritablePath, deps android.Paths) { + rule *android.RuleBuilder) (projectXMLPath, configXMLPath, cacheDir, homeDir android.WritablePath, deps android.Paths) { var resourcesList android.WritablePath if len(l.resources) > 0 { @@ -106,6 +106,7 @@ func (l *linter) writeLintProjectXML(ctx android.ModuleContext, // Lint looks for a lint.xml file next to the project.xml file, give it one. configXMLPath = android.PathForModuleOut(ctx, "lint", "lint.xml") cacheDir = android.PathForModuleOut(ctx, "lint", "cache") + homeDir = android.PathForModuleOut(ctx, "lint", "home") srcJarDir := android.PathForModuleOut(ctx, "lint-srcjars") srcJarList := zipSyncCmd(ctx, rule, srcJarDir, l.srcJars) @@ -154,8 +155,11 @@ func (l *linter) writeLintProjectXML(ctx android.ModuleContext, cmd.FlagForEachArg("--extra_checks_jar ", l.extraLintCheckJars.Strings()) deps = append(deps, l.extraLintCheckJars...) - // The cache tag in project.xml is relative to the project.xml file. - cmd.FlagWithArg("--cache_dir ", "cache") + cmd.FlagWithArg("--root_dir ", "$PWD") + + // The cache tag in project.xml is relative to the root dir, or the project.xml file if + // the root dir is not set. + cmd.FlagWithArg("--cache_dir ", cacheDir.String()) cmd.FlagWithInput("@", android.PathForSource(ctx, "build/soong/java/lint_defaults.txt")) @@ -165,7 +169,7 @@ func (l *linter) writeLintProjectXML(ctx android.ModuleContext, cmd.FlagForEachArg("--error_check ", l.properties.Lint.Error_checks) cmd.FlagForEachArg("--fatal_check ", l.properties.Lint.Fatal_checks) - return projectXMLPath, configXMLPath, cacheDir, deps + return projectXMLPath, configXMLPath, cacheDir, homeDir, deps } // generateManifest adds a command to the rule to write a dummy manifest cat contains the @@ -207,18 +211,19 @@ func (l *linter) lint(ctx android.ModuleContext) { l.manifest = manifest } - projectXML, lintXML, cacheDir, deps := l.writeLintProjectXML(ctx, rule) + projectXML, lintXML, cacheDir, homeDir, deps := l.writeLintProjectXML(ctx, rule) l.outputs.html = android.PathForModuleOut(ctx, "lint-report.html") l.outputs.text = android.PathForModuleOut(ctx, "lint-report.txt") l.outputs.xml = android.PathForModuleOut(ctx, "lint-report.xml") - rule.Command().Text("rm -rf").Flag(cacheDir.String()) - rule.Command().Text("mkdir -p").Flag(cacheDir.String()) + rule.Command().Text("rm -rf").Flag(cacheDir.String()).Flag(homeDir.String()) + rule.Command().Text("mkdir -p").Flag(cacheDir.String()).Flag(homeDir.String()) rule.Command(). Text("("). Flag("JAVA_OPTS=-Xmx2048m"). + FlagWithArg("ANDROID_SDK_HOME=", homeDir.String()). FlagWithInput("SDK_ANNOTATIONS=", annotationsZipPath(ctx)). FlagWithInput("LINT_OPTS=-DLINT_API_DATABASE=", apiVersionsXmlPath(ctx)). Tool(android.PathForSource(ctx, "prebuilts/cmdline-tools/tools/bin/lint")). @@ -239,7 +244,7 @@ func (l *linter) lint(ctx android.ModuleContext) { Text("|| (").Text("cat").Input(l.outputs.text).Text("; exit 7)"). Text(")") - rule.Command().Text("rm -rf").Flag(cacheDir.String()) + rule.Command().Text("rm -rf").Flag(cacheDir.String()).Flag(homeDir.String()) rule.Build(pctx, ctx, "lint", "lint") } diff --git a/scripts/lint-project-xml.py b/scripts/lint-project-xml.py index 7ab4f015..38c57cad 100755 --- a/scripts/lint-project-xml.py +++ b/scripts/lint-project-xml.py @@ -77,6 +77,8 @@ def parse_args(): help='mark the module as a test.') parser.add_argument('--cache_dir', dest='cache_dir', help='directory to use for cached file.') + parser.add_argument('--root_dir', dest='root_dir', + help='directory to use for root dir.') group = parser.add_argument_group('check arguments', 'later arguments override earlier ones.') group.add_argument('--fatal_check', dest='checks', action=check_action('fatal'), default=[], help='treat a lint issue as a fatal error.') @@ -162,6 +164,8 @@ def write_project_xml(f, args): f.write("<?xml version='1.0' encoding='utf-8'?>\n") f.write("<project>\n") + if args.root_dir: + f.write(" <root dir='%s' />\n" % args.root_dir) f.write(" <module name='%s' android='true' %sdesugar='full' >\n" % (args.name, "library='true' " if args.library else "")) if args.manifest: f.write(" <manifest file='%s' %s/>\n" % (args.manifest, test_attr)) |