Create suggested-fixes.zip before exiting on error
suggested-fixes.zip is useful even when lint is exiting with an error. Save the exit code from the lint executable, create the zip file, then re-exit with the exit code. Bug: 216456886 Test: Introduce lint error, verify suggested-fixes.zip is created. Change-Id: I0ba6190e3de0744e53b2a59ba3016861f2f115e2
This commit is contained in:
19
java/lint.go
19
java/lint.go
@@ -473,20 +473,23 @@ func (l *linter) lint(ctx android.ModuleContext) {
|
||||
|
||||
cmd.FlagWithOutput("--write-reference-baseline ", baseline)
|
||||
|
||||
cmd.Text("|| (").Text("if [ -e").Input(text).Text("]; then cat").Input(text).Text("; fi; exit 7)")
|
||||
cmd.Text("; EXITCODE=$?; ")
|
||||
|
||||
// The sources in the sandbox may have been modified by --apply-suggestions, zip them up and
|
||||
// export them out of the sandbox. Do this before exiting so that the suggestions exit even after
|
||||
// a fatal error.
|
||||
cmd.BuiltTool("soong_zip").
|
||||
FlagWithOutput("-o ", android.PathForModuleOut(ctx, "lint", "suggested-fixes.zip")).
|
||||
FlagWithArg("-C ", cmd.PathForInput(android.PathForSource(ctx))).
|
||||
FlagWithInput("-r ", srcsList)
|
||||
|
||||
cmd.Text("; if [ $EXITCODE != 0 ]; then if [ -e").Input(text).Text("]; then cat").Input(text).Text("; fi; exit $EXITCODE; fi")
|
||||
|
||||
rule.Command().Text("rm -rf").Flag(lintPaths.cacheDir.String()).Flag(lintPaths.homeDir.String())
|
||||
|
||||
// The HTML output contains a date, remove it to make the output deterministic.
|
||||
rule.Command().Text(`sed -i.tmp -e 's|Check performed at .*\(</nav>\)|\1|'`).Output(html)
|
||||
|
||||
// The sources in the sandbox may have been modified by --apply-suggestions, zip them up and
|
||||
// export them out of the sandbox.
|
||||
rule.Command().BuiltTool("soong_zip").
|
||||
FlagWithOutput("-o ", android.PathForModuleOut(ctx, "lint", "suggested-fixes.zip")).
|
||||
FlagWithArg("-C ", cmd.PathForInput(android.PathForSource(ctx))).
|
||||
FlagWithInput("-r ", srcsList)
|
||||
|
||||
rule.Build("lint", "lint")
|
||||
|
||||
l.outputs = lintOutputs{
|
||||
|
Reference in New Issue
Block a user