diff options
author | 2019-03-04 07:20:55 +0000 | |
---|---|---|
committer | 2019-03-04 07:20:55 +0000 | |
commit | 4be65809d7bbefbc4ab59b01eeed475794e8856c (patch) | |
tree | fabfc1c5ce3b346944748630346334953eb88d37 | |
parent | cc5b384ea501cc6cc899452f8758e33ca08f13a9 (diff) | |
parent | 38449af64fec68617762a693ea7d80f126bb4146 (diff) |
Merge "Ignore missing prebuilt_apis of java_sdk_library"
-rw-r--r-- | java/droiddoc.go | 35 | ||||
-rw-r--r-- | java/sdk_library.go | 6 |
2 files changed, 39 insertions, 2 deletions
diff --git a/java/droiddoc.go b/java/droiddoc.go index 85e479790..56117915d 100644 --- a/java/droiddoc.go +++ b/java/droiddoc.go @@ -307,6 +307,10 @@ type DroiddocProperties struct { Last_released ApiToCheck Current ApiToCheck + + // do not perform API check against Last_released, in the case that both two specified API + // files by Last_released are modules which don't exist. + Ignore_missing_latest_api *bool `blueprint:"mutated"` } // if set to true, generate docs through Dokka instead of Doclava. @@ -349,6 +353,10 @@ type DroidstubsProperties struct { Last_released ApiToCheck Current ApiToCheck + + // do not perform API check against Last_released, in the case that both two specified API + // files by Last_released are modules which don't exist. + Ignore_missing_latest_api *bool `blueprint:"mutated"` } // user can specify the version of previous released API file in order to do compatibility check. @@ -427,6 +435,25 @@ func apiCheckEnabled(apiToCheck ApiToCheck, apiVersionTag string) bool { return false } +func ignoreMissingModules(ctx android.BottomUpMutatorContext, apiToCheck *ApiToCheck) { + api_file := String(apiToCheck.Api_file) + removed_api_file := String(apiToCheck.Removed_api_file) + + api_module := android.SrcIsModule(api_file) + removed_api_module := android.SrcIsModule(removed_api_file) + + if api_module == "" || removed_api_module == "" { + return + } + + if ctx.OtherModuleExists(api_module) || ctx.OtherModuleExists(removed_api_module) { + return + } + + apiToCheck.Api_file = nil + apiToCheck.Removed_api_file = nil +} + type ApiFilePath interface { ApiFilePath() android.Path } @@ -839,6 +866,10 @@ func (d *Droiddoc) ApiFilePath() android.Path { func (d *Droiddoc) DepsMutator(ctx android.BottomUpMutatorContext) { d.Javadoc.addDeps(ctx) + if Bool(d.properties.Check_api.Ignore_missing_latest_api) { + ignoreMissingModules(ctx, &d.properties.Check_api.Last_released) + } + if String(d.properties.Custom_template) != "" { ctx.AddDependency(ctx.Module(), droiddocTemplateTag, String(d.properties.Custom_template)) } @@ -1283,6 +1314,10 @@ func (d *Droidstubs) ApiFilePath() android.Path { func (d *Droidstubs) DepsMutator(ctx android.BottomUpMutatorContext) { d.Javadoc.addDeps(ctx) + if Bool(d.properties.Check_api.Ignore_missing_latest_api) { + ignoreMissingModules(ctx, &d.properties.Check_api.Last_released) + } + if apiCheckEnabled(d.properties.Check_api.Current, "current") { android.ExtractSourceDeps(ctx, d.properties.Check_api.Current.Api_file) android.ExtractSourceDeps(ctx, d.properties.Check_api.Current.Removed_api_file) diff --git a/java/sdk_library.go b/java/sdk_library.go index df4e08b53..6441c6334 100644 --- a/java/sdk_library.go +++ b/java/sdk_library.go @@ -454,8 +454,9 @@ func (module *SdkLibrary) createDocs(mctx android.TopDownMutatorContext, apiScop Merge_annotations_dirs []string Merge_inclusion_annotations_dirs []string Check_api struct { - Current ApiToCheck - Last_released ApiToCheck + Current ApiToCheck + Last_released ApiToCheck + Ignore_missing_latest_api *bool } Aidl struct { Include_dirs []string @@ -524,6 +525,7 @@ func (module *SdkLibrary) createDocs(mctx android.TopDownMutatorContext, apiScop 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) props.Srcs_lib = module.sdkLibraryProperties.Srcs_lib props.Srcs_lib_whitelist_dirs = module.sdkLibraryProperties.Srcs_lib_whitelist_dirs props.Srcs_lib_whitelist_pkgs = module.sdkLibraryProperties.Srcs_lib_whitelist_pkgs |