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:
@@ -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
|
||||||
|
Reference in New Issue
Block a user