diff options
author | android-build-team Robot <android-build-team-robot@google.com> | 2019-08-16 05:07:09 +0000 |
---|---|---|
committer | android-build-team Robot <android-build-team-robot@google.com> | 2019-08-16 05:07:09 +0000 |
commit | 9306cc41ef93753a0177ad7170b8c513e29ce8d4 (patch) | |
tree | c87ddc3bc9e025fb72c159b210d04b0666d1c87d /java | |
parent | a97b1d18d17b6f927c5c0a0200f5f4a6efa011ab (diff) | |
parent | 6b56b1171a1f958d5ee15279c29a9d515db40d7b (diff) | |
download | build_soong-android-10.0.0_r9.tar.gz build_soong-android-10.0.0_r9.tar.bz2 build_soong-android-10.0.0_r9.zip |
Snap for 5807722 from 6b56b1171a1f958d5ee15279c29a9d515db40d7b to qt-c2f2-releaseandroid-10.0.0_r9android-10.0.0_r8android-10.0.0_r7android-10.0.0_r14android-10.0.0_r13android-10.0.0_r12
Change-Id: I2e2020c1cd7a01806a3909f92956824c4a93a3c3
Diffstat (limited to 'java')
-rw-r--r-- | java/droiddoc.go | 42 |
1 files changed, 33 insertions, 9 deletions
diff --git a/java/droiddoc.go b/java/droiddoc.go index fd7e2a48..6bac5bb7 100644 --- a/java/droiddoc.go +++ b/java/droiddoc.go @@ -227,6 +227,9 @@ type ApiToCheck struct { // :module syntax). Removed_api_file *string `android:"path"` + // If not blank, path to the baseline txt file for approved API check violations. + Baseline_file *string `android:"path"` + // Arguments to the apicheck tool. Args *string } @@ -1562,16 +1565,25 @@ func (d *Droidstubs) transformMetalava(ctx android.ModuleContext, implicits andr } func (d *Droidstubs) transformCheckApi(ctx android.ModuleContext, - apiFile, removedApiFile android.Path, implicits android.Paths, + apiFile, removedApiFile android.Path, baselineFile android.OptionalPath, updatedBaselineOut android.WritablePath, implicits android.Paths, javaVersion, bootclasspathArgs, classpathArgs, sourcepathArgs, opts, subdir, msg string, output android.WritablePath) { + + implicits = append(android.Paths{apiFile, removedApiFile, d.apiFile, d.removedApiFile}, implicits...) + var implicitOutputs android.WritablePaths + + if baselineFile.Valid() { + implicits = append(implicits, baselineFile.Path()) + implicitOutputs = append(implicitOutputs, updatedBaselineOut) + } + ctx.Build(pctx, android.BuildParams{ - Rule: metalavaApiCheck, - Description: "Metalava Check API", - Output: output, - Inputs: d.Javadoc.srcFiles, - Implicits: append(android.Paths{apiFile, removedApiFile, d.apiFile, d.removedApiFile}, - implicits...), + Rule: metalavaApiCheck, + Description: "Metalava Check API", + Output: output, + Inputs: d.Javadoc.srcFiles, + Implicits: implicits, + ImplicitOutputs: implicitOutputs, Args: map[string]string{ "srcJarDir": android.PathForModuleOut(ctx, subdir, "srcjars").String(), "srcJars": strings.Join(d.Javadoc.srcJars.Strings(), " "), @@ -1655,13 +1667,19 @@ func (d *Droidstubs) GenerateAndroidBuildActions(ctx android.ModuleContext) { "check_api.current.api_file") removedApiFile := ctx.ExpandSource(String(d.properties.Check_api.Current.Removed_api_file), "check_api.current_removed_api_file") + baselineFile := ctx.ExpandOptionalSource(d.properties.Check_api.Current.Baseline_file, + "check_api.current.baseline_file") d.checkCurrentApiTimestamp = android.PathForModuleOut(ctx, "check_current_api.timestamp") opts := " " + d.Javadoc.args + " --check-compatibility:api:current " + apiFile.String() + " --check-compatibility:removed:current " + removedApiFile.String() + flags.metalavaInclusionAnnotationsFlags + flags.metalavaMergeAnnoDirFlags + " " + baselineOut := android.PathForModuleOut(ctx, "current_baseline.txt") + if baselineFile.Valid() { + opts = opts + "--baseline " + baselineFile.String() + " --update-baseline " + baselineOut.String() + " " + } - d.transformCheckApi(ctx, apiFile, removedApiFile, metalavaCheckApiImplicits, + d.transformCheckApi(ctx, apiFile, removedApiFile, baselineFile, baselineOut, metalavaCheckApiImplicits, javaVersion, flags.bootClasspathArgs, flags.classpathArgs, flags.sourcepathArgs, opts, "current-apicheck", fmt.Sprintf(`\n******************************\n`+ `You have tried to change the API from what has been previously approved.\n\n`+ @@ -1686,13 +1704,19 @@ func (d *Droidstubs) GenerateAndroidBuildActions(ctx android.ModuleContext) { "check_api.last_released.api_file") removedApiFile := ctx.ExpandSource(String(d.properties.Check_api.Last_released.Removed_api_file), "check_api.last_released.removed_api_file") + baselineFile := ctx.ExpandOptionalSource(d.properties.Check_api.Last_released.Baseline_file, + "check_api.last_released.baseline_file") d.checkLastReleasedApiTimestamp = android.PathForModuleOut(ctx, "check_last_released_api.timestamp") opts := " " + d.Javadoc.args + " --check-compatibility:api:released " + apiFile.String() + flags.metalavaInclusionAnnotationsFlags + " --check-compatibility:removed:released " + removedApiFile.String() + flags.metalavaMergeAnnoDirFlags + " " + baselineOut := android.PathForModuleOut(ctx, "last_released_baseline.txt") + if baselineFile.Valid() { + opts = opts + "--baseline " + baselineFile.String() + " --update-baseline " + baselineOut.String() + " " + } - d.transformCheckApi(ctx, apiFile, removedApiFile, metalavaCheckApiImplicits, + d.transformCheckApi(ctx, apiFile, removedApiFile, baselineFile, baselineOut, metalavaCheckApiImplicits, javaVersion, flags.bootClasspathArgs, flags.classpathArgs, flags.sourcepathArgs, opts, "last-apicheck", `\n******************************\n`+ `You have tried to change the API from what has been previously released in\n`+ |