Error when WITHOUT_CHECK_API=true in from-text stub build

Given that WITHOUT_CHECK_API=true is incompatible with from-text stub
build, this change makes the module raise an error when the two
conflicting configurations are set.

This change also modifies the checkapi error message, that
DISABLE_STUB_VALIDATION does not bypass checkapi.

Test: m nothing --no-skip-soong-tests && WITHOUT_CHECK_API=true m nothing
Bug: 322060779
Change-Id: I597309baa8fcfbefa05863c7b392bfb8b6774cea
This commit is contained in:
Jihoon Kang
2024-01-24 00:40:23 +00:00
parent 4509f502e5
commit 91bf3dd4ac
2 changed files with 13 additions and 1 deletions

View File

@@ -182,6 +182,17 @@ func InitDroiddocModule(module android.DefaultableModule, hod android.HostOrDevi
func apiCheckEnabled(ctx android.ModuleContext, apiToCheck ApiToCheck, apiVersionTag string) bool {
if ctx.Config().IsEnvTrue("WITHOUT_CHECK_API") {
if ctx.Config().BuildFromTextStub() {
ctx.ModuleErrorf("Generating stubs from api signature files is not available " +
"with WITHOUT_CHECK_API=true, as sync between the source Java files and the " +
"api signature files is not guaranteed.\n" +
"In order to utilize WITHOUT_CHECK_API, generate stubs from the source Java " +
"files with BUILD_FROM_SOURCE_STUB=true.\n" +
"However, the usage of WITHOUT_CHECK_API is not preferred as the incremental " +
"build is slower when generating stubs from the source Java files.\n" +
"Consider updating the api signature files and generating the stubs from " +
"them instead.")
}
return false
} else if String(apiToCheck.Api_file) != "" && String(apiToCheck.Removed_api_file) != "" {
return true

View File

@@ -1194,7 +1194,8 @@ func (d *Droidstubs) GenerateAndroidBuildActions(ctx android.ModuleContext) {
`either of the two choices above and try re-building the target.\n`+
`If the mismatch between the stubs and the current.txt is intended,\n`+
`you can try re-building the target by executing the following command:\n`+
`m DISABLE_STUB_VALIDATION=true <your build target>\n`+
`m DISABLE_STUB_VALIDATION=true <your build target>.\n`+
`Note that DISABLE_STUB_VALIDATION=true does not bypass checkapi.\n`+
`******************************\n`, ctx.ModuleName())
rule.Command().