From 6478ac17fc3b8dd8a075e4bd550afcf44a6e3580 Mon Sep 17 00:00:00 2001 From: Anton Hansson Date: Sat, 2 May 2020 11:19:36 +0100 Subject: [PATCH] Disable "check last" for test api @TestApi does not have stability requirements, so we shouldn't be checking its compatibility with the last released version. This CL removes the expectation that a test-removed.txt is checked in for each module during finalization. Bug: 155197156 Test: m (with SDK 30 imported) Change-Id: Ib3f671493f1d230116bec51b884e8072643b10d4 Merged-In: Ib3f671493f1d230116bec51b884e8072643b10d4 (cherry picked from commit 6bf8e415a50826a378cc58aba87854f52c9f1d32) --- java/sdk_library.go | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/java/sdk_library.go b/java/sdk_library.go index 9e3ad5bfa..d70f6320d 100644 --- a/java/sdk_library.go +++ b/java/sdk_library.go @@ -90,6 +90,9 @@ type apiScope struct { // Extra arguments to pass to droidstubs for this scope. droidstubsArgs []string + + // Whether the api scope can be treated as unstable, and should skip compat checks. + unstable bool } // Initialize a scope, creating and adding appropriate dependency tags @@ -142,6 +145,7 @@ var ( moduleSuffix: sdkTestApiSuffix, sdkVersion: "test_current", droidstubsArgs: []string{"-showAnnotation android.annotation.TestApi"}, + unstable: true, }) allApiScopes = apiScopes{ apiScopePublic, @@ -560,12 +564,14 @@ func (module *SdkLibrary) createStubsSources(mctx android.LoadHookContext, apiSc props.Check_api.Current.Api_file = proptools.StringPtr(currentApiFileName) props.Check_api.Current.Removed_api_file = proptools.StringPtr(removedApiFileName) - // check against the latest released API - props.Check_api.Last_released.Api_file = proptools.StringPtr( - module.latestApiFilegroupName(apiScope)) - props.Check_api.Last_released.Removed_api_file = proptools.StringPtr( - module.latestRemovedApiFilegroupName(apiScope)) - props.Check_api.Ignore_missing_latest_api = proptools.BoolPtr(true) + if !apiScope.unstable { + // check against the latest released API + props.Check_api.Last_released.Api_file = proptools.StringPtr( + module.latestApiFilegroupName(apiScope)) + props.Check_api.Last_released.Removed_api_file = proptools.StringPtr( + module.latestRemovedApiFilegroupName(apiScope)) + props.Check_api.Ignore_missing_latest_api = proptools.BoolPtr(true) + } // Dist the api txt artifact for sdk builds. if !Bool(module.sdkLibraryProperties.No_dist) {