From 5ff28e50b83b50a360569067736c91e1a2f9baca 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 --- 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 fa267953e..d9c948f8b 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, @@ -556,12 +560,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) {