Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 58c9b067 authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge changes from topic "sysprop-apex-available"

* changes:
  Add apex_available tags for sysprop modules
  Add apex_available for static/shared only props
parents e1ab66de 10e5a0e9
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -65,6 +65,8 @@ type staticOrSharedAttributes struct {

	Native_coverage *bool

	Apex_available []string

	sdkAttributes

	tidyAttributes
@@ -220,7 +222,7 @@ func bp2BuildPropParseHelper(ctx android.ArchVariantContext, module *Module, pro
}

// Parses properties common to static and shared libraries. Also used for prebuilt libraries.
func bp2buildParseStaticOrSharedProps(ctx android.BazelConversionPathContext, module *Module, _ *libraryDecorator, isStatic bool) staticOrSharedAttributes {
func bp2buildParseStaticOrSharedProps(ctx android.BazelConversionPathContext, module *Module, lib *libraryDecorator, isStatic bool) staticOrSharedAttributes {
	attrs := staticOrSharedAttributes{}

	setAttrs := func(axis bazel.ConfigurationAxis, config string, props StaticOrSharedProperties) {
@@ -244,13 +246,16 @@ func bp2buildParseStaticOrSharedProps(ctx android.BazelConversionPathContext, mo
	//    empty list -> no values specified
	attrs.System_dynamic_deps.ForceSpecifyEmptyList = true

	var apexAvailable []string
	if isStatic {
		apexAvailable = lib.StaticProperties.Static.Apex_available
		bp2BuildPropParseHelper(ctx, module, &StaticProperties{}, func(axis bazel.ConfigurationAxis, config string, props interface{}) {
			if staticOrSharedProps, ok := props.(*StaticProperties); ok {
				setAttrs(axis, config, staticOrSharedProps.Static)
			}
		})
	} else {
		apexAvailable = lib.SharedProperties.Shared.Apex_available
		bp2BuildPropParseHelper(ctx, module, &SharedProperties{}, func(axis bazel.ConfigurationAxis, config string, props interface{}) {
			if staticOrSharedProps, ok := props.(*SharedProperties); ok {
				setAttrs(axis, config, staticOrSharedProps.Shared)
@@ -263,6 +268,8 @@ func bp2buildParseStaticOrSharedProps(ctx android.BazelConversionPathContext, mo
	attrs.Srcs_c = partitionedSrcs[cSrcPartition]
	attrs.Srcs_as = partitionedSrcs[asSrcPartition]

	attrs.Apex_available = android.ConvertApexAvailableToTags(apexAvailable)

	if !partitionedSrcs[protoSrcPartition].IsEmpty() {
		// TODO(b/208815215): determine whether this is used and add support if necessary
		ctx.ModuleErrorf("Migrating static/shared only proto srcs is not currently supported")
+2 −0
Original line number Diff line number Diff line
@@ -428,8 +428,10 @@ func libraryBp2Build(ctx android.TopDownMutatorContext, m *Module) {
	if compilerAttrs.stubsSymbolFile == nil && len(compilerAttrs.stubsVersions.Value) == 0 {
		tagsForStaticVariant = android.ApexAvailableTags(m)
	}
	tagsForStaticVariant.Append(bazel.StringListAttribute{Value: staticAttrs.Apex_available})

	tagsForSharedVariant := android.ApexAvailableTags(m)
	tagsForSharedVariant.Append(bazel.StringListAttribute{Value: sharedAttrs.Apex_available})

	ctx.CreateBazelTargetModuleWithRestrictions(staticProps,
		android.CommonAttributes{
+7 −1
Original line number Diff line number Diff line
@@ -22,11 +22,13 @@ import (
// TODO(b/240463568): Additional properties will be added for API validation
type bazelSyspropLibraryAttributes struct {
	Srcs bazel.LabelListAttribute
	Tags bazel.StringListAttribute
}

type bazelCcSyspropLibraryAttributes struct {
	Dep             bazel.LabelAttribute
	Min_sdk_version *string
	Tags            bazel.StringListAttribute
}

type SyspropLibraryLabels struct {
@@ -36,6 +38,7 @@ type SyspropLibraryLabels struct {
}

func Bp2buildSysprop(ctx android.Bp2buildMutatorContext, labels SyspropLibraryLabels, srcs bazel.LabelListAttribute, minSdkVersion *string) {
	apexAvailableTags := android.ApexAvailableTags(ctx.Module())
	ctx.CreateBazelTargetModule(
		bazel.BazelTargetModuleProperties{
			Rule_class:        "sysprop_library",
@@ -44,11 +47,14 @@ func Bp2buildSysprop(ctx android.Bp2buildMutatorContext, labels SyspropLibraryLa
		android.CommonAttributes{Name: labels.SyspropLibraryLabel},
		&bazelSyspropLibraryAttributes{
			Srcs: srcs,
		})
			Tags: apexAvailableTags,
		},
	)

	attrs := &bazelCcSyspropLibraryAttributes{
		Dep:             *bazel.MakeLabelAttribute(":" + labels.SyspropLibraryLabel),
		Min_sdk_version: minSdkVersion,
		Tags:            apexAvailableTags,
	}

	if labels.SharedLibraryLabel != "" {