Merge changes from topic "expose_flagged_api_revert" into main am: a7e5e29ec1
am: 3d1cecda28
am: 40386ed37e
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2769001 Change-Id: Id25fb530531f6e535119651f1dc9facb17cfc23d Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
commit
f9503e962b
4 changed files with 48 additions and 0 deletions
|
@ -2085,3 +2085,11 @@ func (c *deviceConfig) CheckVendorSeappViolations() bool {
|
|||
func (c *deviceConfig) NextReleaseHideFlaggedApi() bool {
|
||||
return Bool(c.config.productVariables.NextReleaseHideFlaggedApi)
|
||||
}
|
||||
|
||||
func (c *deviceConfig) ReleaseExposeFlaggedApi() bool {
|
||||
return Bool(c.config.productVariables.Release_expose_flagged_api)
|
||||
}
|
||||
|
||||
func (c *deviceConfig) HideFlaggedApis() bool {
|
||||
return c.NextReleaseHideFlaggedApi() && !c.ReleaseExposeFlaggedApi()
|
||||
}
|
||||
|
|
|
@ -490,6 +490,8 @@ type ProductVariables struct {
|
|||
PartitionVarsForBazelMigrationOnlyDoNotUse PartitionVariables `json:",omitempty"`
|
||||
|
||||
NextReleaseHideFlaggedApi *bool `json:",omitempty"`
|
||||
|
||||
Release_expose_flagged_api *bool `json:",omitempty"`
|
||||
}
|
||||
|
||||
type PartitionVariables struct {
|
||||
|
|
|
@ -540,6 +540,10 @@ func metalavaCmd(ctx android.ModuleContext, rule *android.RuleBuilder, javaVersi
|
|||
// See b/285312164 for more information.
|
||||
cmd.FlagWithArg("--format-defaults ", "overloaded-method-order=source")
|
||||
|
||||
if ctx.DeviceConfig().HideFlaggedApis() {
|
||||
cmd.FlagWithArg("--hide-annotation ", "android.annotation.FlaggedApi")
|
||||
}
|
||||
|
||||
return cmd
|
||||
}
|
||||
|
||||
|
|
|
@ -22,6 +22,8 @@ import (
|
|||
"testing"
|
||||
|
||||
"android/soong/android"
|
||||
|
||||
"github.com/google/blueprint/proptools"
|
||||
)
|
||||
|
||||
func TestDroidstubs(t *testing.T) {
|
||||
|
@ -403,3 +405,35 @@ func TestGeneratedApiContributionVisibilityTest(t *testing.T) {
|
|||
|
||||
ctx.ModuleForTests("bar", "android_common")
|
||||
}
|
||||
|
||||
func TestDroidstubsHideFlaggedApi(t *testing.T) {
|
||||
result := android.GroupFixturePreparers(
|
||||
prepareForJavaTest,
|
||||
android.FixtureModifyProductVariables(func(variables android.FixtureProductVariables) {
|
||||
variables.NextReleaseHideFlaggedApi = proptools.BoolPtr(true)
|
||||
variables.Release_expose_flagged_api = proptools.BoolPtr(false)
|
||||
}),
|
||||
android.FixtureMergeMockFs(map[string][]byte{
|
||||
"a/A.java": nil,
|
||||
"a/current.txt": nil,
|
||||
"a/removed.txt": nil,
|
||||
}),
|
||||
).RunTestWithBp(t, `
|
||||
droidstubs {
|
||||
name: "foo",
|
||||
srcs: ["a/A.java"],
|
||||
api_surface: "public",
|
||||
check_api: {
|
||||
current: {
|
||||
api_file: "a/current.txt",
|
||||
removed_api_file: "a/removed.txt",
|
||||
}
|
||||
},
|
||||
}
|
||||
`)
|
||||
|
||||
m := result.ModuleForTests("foo", "android_common")
|
||||
manifest := m.Output("metalava.sbox.textproto")
|
||||
cmdline := String(android.RuleBuilderSboxProtoForTests(t, manifest).Commands[0].Command)
|
||||
android.AssertStringDoesContain(t, "flagged api hide command not included", cmdline, "--hide-annotation android.annotation.FlaggedApi")
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue