Merge changes from topic "revert-2929615-JHGJGJFRRX" into main am: dc2b51f2ba

Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2989230

Change-Id: I9bf6b80eb908a98617bfbd32357874bf48b9b897
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Treehugger Robot
2024-03-05 23:38:51 +00:00
committed by Automerger Merge Worker

View File

@@ -242,18 +242,16 @@ type stubsCommandParams struct {
stubConfig stubsCommandConfigParams stubConfig stubsCommandConfigParams
} }
type stubsCommandConfigParams struct { type stubsCommandConfigParams struct {
stubsType StubsType stubsType StubsType
javaVersion javaVersion javaVersion javaVersion
deps deps deps deps
checkApi bool checkApi bool
generateStubs bool generateStubs bool
doApiLint bool doApiLint bool
doCheckReleased bool doCheckReleased bool
writeSdkValues bool writeSdkValues bool
migratingNullability bool migratingNullability bool
validatingNullability bool validatingNullability bool
annotationsEnabled bool
apiLevelsAnnotationsEnabled bool
} }
// droidstubs passes sources files through Metalava to generate stub .java files that only contain the API to be // droidstubs passes sources files through Metalava to generate stub .java files that only contain the API to be
@@ -523,28 +521,30 @@ func (d *Droidstubs) stubsFlags(ctx android.ModuleContext, cmd *android.RuleBuil
} }
func (d *Droidstubs) annotationsFlags(ctx android.ModuleContext, cmd *android.RuleBuilderCommand, params annotationFlagsParams) { func (d *Droidstubs) annotationsFlags(ctx android.ModuleContext, cmd *android.RuleBuilderCommand, params annotationFlagsParams) {
cmd.Flag(config.MetalavaAnnotationsFlags) if Bool(d.properties.Annotations_enabled) {
cmd.Flag(config.MetalavaAnnotationsFlags)
if params.migratingNullability { if params.migratingNullability {
previousApi := android.PathForModuleSrc(ctx, String(d.properties.Previous_api)) previousApi := android.PathForModuleSrc(ctx, String(d.properties.Previous_api))
cmd.FlagWithInput("--migrate-nullness ", previousApi) cmd.FlagWithInput("--migrate-nullness ", previousApi)
}
if s := String(d.properties.Validate_nullability_from_list); s != "" {
cmd.FlagWithInput("--validate-nullability-from-list ", android.PathForModuleSrc(ctx, s))
}
if params.validatingNullability {
cmd.FlagWithOutput("--nullability-warnings-txt ", params.nullabilityWarningsFile)
}
cmd.FlagWithOutput("--extract-annotations ", params.annotationsZip)
if len(d.properties.Merge_annotations_dirs) != 0 {
d.mergeAnnoDirFlags(ctx, cmd)
}
cmd.Flag(config.MetalavaAnnotationsWarningsFlags)
} }
if s := String(d.properties.Validate_nullability_from_list); s != "" {
cmd.FlagWithInput("--validate-nullability-from-list ", android.PathForModuleSrc(ctx, s))
}
if params.validatingNullability {
cmd.FlagWithOutput("--nullability-warnings-txt ", params.nullabilityWarningsFile)
}
cmd.FlagWithOutput("--extract-annotations ", params.annotationsZip)
if len(d.properties.Merge_annotations_dirs) != 0 {
d.mergeAnnoDirFlags(ctx, cmd)
}
cmd.Flag(config.MetalavaAnnotationsWarningsFlags)
} }
func (d *Droidstubs) mergeAnnoDirFlags(ctx android.ModuleContext, cmd *android.RuleBuilderCommand) { func (d *Droidstubs) mergeAnnoDirFlags(ctx android.ModuleContext, cmd *android.RuleBuilderCommand) {
@@ -569,11 +569,9 @@ func (d *Droidstubs) inclusionAnnotationsFlags(ctx android.ModuleContext, cmd *a
}) })
} }
func (d *Droidstubs) apiLevelsAnnotationsFlags(ctx android.ModuleContext, cmd *android.RuleBuilderCommand, params stubsCommandParams) { func (d *Droidstubs) apiLevelsAnnotationsFlags(ctx android.ModuleContext, cmd *android.RuleBuilderCommand, stubsType StubsType, apiVersionsXml android.WritablePath) {
var apiVersions android.Path var apiVersions android.Path
stubsType := params.stubConfig.stubsType if proptools.Bool(d.properties.Api_levels_annotations_enabled) {
apiVersionsXml := params.apiVersionsXml
if params.stubConfig.apiLevelsAnnotationsEnabled {
d.apiLevelsGenerationFlags(ctx, cmd, stubsType, apiVersionsXml) d.apiLevelsGenerationFlags(ctx, cmd, stubsType, apiVersionsXml)
apiVersions = apiVersionsXml apiVersions = apiVersionsXml
} else { } else {
@@ -822,11 +820,9 @@ func (d *Droidstubs) commonMetalavaStubCmd(ctx android.ModuleContext, rule *andr
annotationsZip: params.annotationsZip, annotationsZip: params.annotationsZip,
} }
if params.stubConfig.annotationsEnabled { d.annotationsFlags(ctx, cmd, annotationParams)
d.annotationsFlags(ctx, cmd, annotationParams)
}
d.inclusionAnnotationsFlags(ctx, cmd) d.inclusionAnnotationsFlags(ctx, cmd)
d.apiLevelsAnnotationsFlags(ctx, cmd, params) d.apiLevelsAnnotationsFlags(ctx, cmd, params.stubConfig.stubsType, params.apiVersionsXml)
d.expandArgs(ctx, cmd) d.expandArgs(ctx, cmd)
@@ -856,13 +852,13 @@ func (d *Droidstubs) everythingStubCmd(ctx android.ModuleContext, params stubsCo
d.everythingArtifacts.metadataZip = android.PathForModuleOut(ctx, Everything.String(), ctx.ModuleName()+"-metadata.zip") d.everythingArtifacts.metadataZip = android.PathForModuleOut(ctx, Everything.String(), ctx.ModuleName()+"-metadata.zip")
} }
if params.annotationsEnabled { if Bool(d.properties.Annotations_enabled) {
if params.validatingNullability { if params.validatingNullability {
d.everythingArtifacts.nullabilityWarningsFile = android.PathForModuleOut(ctx, Everything.String(), ctx.ModuleName()+"_nullability_warnings.txt") d.everythingArtifacts.nullabilityWarningsFile = android.PathForModuleOut(ctx, Everything.String(), ctx.ModuleName()+"_nullability_warnings.txt")
} }
d.everythingArtifacts.annotationsZip = android.PathForModuleOut(ctx, Everything.String(), ctx.ModuleName()+"_annotations.zip") d.everythingArtifacts.annotationsZip = android.PathForModuleOut(ctx, Everything.String(), ctx.ModuleName()+"_annotations.zip")
} }
if params.apiLevelsAnnotationsEnabled { if Bool(d.properties.Api_levels_annotations_enabled) {
d.everythingArtifacts.apiVersionsXml = android.PathForModuleOut(ctx, Everything.String(), "api-versions.xml") d.everythingArtifacts.apiVersionsXml = android.PathForModuleOut(ctx, Everything.String(), "api-versions.xml")
} }
@@ -1040,7 +1036,7 @@ func (d *Droidstubs) exportableStubCmd(ctx android.ModuleContext, params stubsCo
optionalCmdParams.metadataDir = d.exportableArtifacts.metadataDir optionalCmdParams.metadataDir = d.exportableArtifacts.metadataDir
} }
if params.annotationsEnabled { if Bool(d.properties.Annotations_enabled) {
if params.validatingNullability { if params.validatingNullability {
d.exportableArtifacts.nullabilityWarningsFile = android.PathForModuleOut(ctx, params.stubsType.String(), ctx.ModuleName()+"_nullability_warnings.txt") d.exportableArtifacts.nullabilityWarningsFile = android.PathForModuleOut(ctx, params.stubsType.String(), ctx.ModuleName()+"_nullability_warnings.txt")
optionalCmdParams.nullabilityWarningsFile = d.exportableArtifacts.nullabilityWarningsFile optionalCmdParams.nullabilityWarningsFile = d.exportableArtifacts.nullabilityWarningsFile
@@ -1048,7 +1044,7 @@ func (d *Droidstubs) exportableStubCmd(ctx android.ModuleContext, params stubsCo
d.exportableArtifacts.annotationsZip = android.PathForModuleOut(ctx, params.stubsType.String(), ctx.ModuleName()+"_annotations.zip") d.exportableArtifacts.annotationsZip = android.PathForModuleOut(ctx, params.stubsType.String(), ctx.ModuleName()+"_annotations.zip")
optionalCmdParams.annotationsZip = d.exportableArtifacts.annotationsZip optionalCmdParams.annotationsZip = d.exportableArtifacts.annotationsZip
} }
if params.apiLevelsAnnotationsEnabled { if Bool(d.properties.Api_levels_annotations_enabled) {
d.exportableArtifacts.apiVersionsXml = android.PathForModuleOut(ctx, params.stubsType.String(), "api-versions.xml") d.exportableArtifacts.apiVersionsXml = android.PathForModuleOut(ctx, params.stubsType.String(), "api-versions.xml")
optionalCmdParams.apiVersionsXml = d.exportableArtifacts.apiVersionsXml optionalCmdParams.apiVersionsXml = d.exportableArtifacts.apiVersionsXml
} }
@@ -1144,20 +1140,16 @@ func (d *Droidstubs) GenerateAndroidBuildActions(ctx android.ModuleContext) {
checkApi := apiCheckEnabled(ctx, d.properties.Check_api.Current, "current") || checkApi := apiCheckEnabled(ctx, d.properties.Check_api.Current, "current") ||
apiCheckEnabled(ctx, d.properties.Check_api.Last_released, "last_released") apiCheckEnabled(ctx, d.properties.Check_api.Last_released, "last_released")
apiLevelsAnnotationsEnabled := proptools.Bool(d.properties.Api_levels_annotations_enabled)
stubCmdParams := stubsCommandConfigParams{ stubCmdParams := stubsCommandConfigParams{
javaVersion: javaVersion, javaVersion: javaVersion,
deps: deps, deps: deps,
checkApi: checkApi, checkApi: checkApi,
generateStubs: generateStubs, generateStubs: generateStubs,
doApiLint: doApiLint, doApiLint: doApiLint,
doCheckReleased: doCheckReleased, doCheckReleased: doCheckReleased,
writeSdkValues: writeSdkValues, writeSdkValues: writeSdkValues,
migratingNullability: migratingNullability, migratingNullability: migratingNullability,
validatingNullability: validatingNullability, validatingNullability: validatingNullability,
annotationsEnabled: annotationsEnabled,
apiLevelsAnnotationsEnabled: apiLevelsAnnotationsEnabled,
} }
stubCmdParams.stubsType = Everything stubCmdParams.stubsType = Everything
// Create default (i.e. "everything" stubs) rule for metalava // Create default (i.e. "everything" stubs) rule for metalava