Revert "Support generating sdk snapshot for specific build release"
This reverts commit ef2df587be
.
Reason for revert: suspect to cause build break in b/201948713
Change-Id: If46219746913bec87ca2030ba51a6094246a0211
This commit is contained in:
@@ -81,19 +81,6 @@ import (
|
||||
// snapshot module only. The zip file containing the generated snapshot will be
|
||||
// <sdk-name>-<number>.zip.
|
||||
//
|
||||
// SOONG_SDK_SNAPSHOT_TARGET_BUILD_RELEASE
|
||||
// This allows the target build release (i.e. the release version of the build within which
|
||||
// the snapshot will be used) of the snapshot to be specified. If unspecified then it defaults
|
||||
// to the current build release version. Otherwise, it must be the name of one of the build
|
||||
// releases defined in nameToBuildRelease, e.g. S, T, etc..
|
||||
//
|
||||
// The generated snapshot must only be used in the specified target release. If the target
|
||||
// build release is not the current build release then the generated Android.bp file not be
|
||||
// checked for compatibility.
|
||||
//
|
||||
// e.g. if setting SOONG_SDK_SNAPSHOT_TARGET_BUILD_RELEASE=S will cause the generated snapshot
|
||||
// to be compatible with S.
|
||||
//
|
||||
|
||||
var pctx = android.NewPackageContext("android/soong/sdk")
|
||||
|
||||
@@ -371,14 +358,6 @@ func (s *sdk) buildSnapshot(ctx android.ModuleContext, sdkVariants []*sdk) andro
|
||||
snapshotZipFileSuffix = "-" + version
|
||||
}
|
||||
|
||||
currentBuildRelease := latestBuildRelease()
|
||||
targetBuildReleaseEnv := config.GetenvWithDefault("SOONG_SDK_SNAPSHOT_TARGET_BUILD_RELEASE", currentBuildRelease.name)
|
||||
targetBuildRelease, err := nameToRelease(targetBuildReleaseEnv)
|
||||
if err != nil {
|
||||
ctx.ModuleErrorf("invalid SOONG_SDK_SNAPSHOT_TARGET_BUILD_RELEASE: %s", err)
|
||||
targetBuildRelease = currentBuildRelease
|
||||
}
|
||||
|
||||
builder := &snapshotBuilder{
|
||||
ctx: ctx,
|
||||
sdk: s,
|
||||
@@ -390,7 +369,6 @@ func (s *sdk) buildSnapshot(ctx android.ModuleContext, sdkVariants []*sdk) andro
|
||||
prebuiltModules: make(map[string]*bpModule),
|
||||
allMembersByName: allMembersByName,
|
||||
exportedMembersByName: exportedMembersByName,
|
||||
targetBuildRelease: targetBuildRelease,
|
||||
}
|
||||
s.builderForTests = builder
|
||||
|
||||
@@ -471,11 +449,7 @@ be unnecessary as every module in the sdk already has its own licenses property.
|
||||
generateBpContents(&bp.generatedContents, bpFile)
|
||||
|
||||
contents := bp.content.String()
|
||||
// If the snapshot is being generated for the current build release then check the syntax to make
|
||||
// sure that it is compatible.
|
||||
if targetBuildRelease == currentBuildRelease {
|
||||
syntaxCheckSnapshotBpFile(ctx, contents)
|
||||
}
|
||||
syntaxCheckSnapshotBpFile(ctx, contents)
|
||||
|
||||
bp.build(pctx, ctx, nil)
|
||||
|
||||
@@ -1077,9 +1051,6 @@ type snapshotBuilder struct {
|
||||
|
||||
// The set of exported members by name.
|
||||
exportedMembersByName map[string]struct{}
|
||||
|
||||
// The target build release for which the snapshot is to be generated.
|
||||
targetBuildRelease *buildRelease
|
||||
}
|
||||
|
||||
func (s *snapshotBuilder) CopyToSnapshot(src android.Path, dest string) {
|
||||
@@ -1455,16 +1426,6 @@ func newOsTypeSpecificInfo(ctx android.SdkMemberContext, osType android.OsType,
|
||||
return osInfo
|
||||
}
|
||||
|
||||
func (osInfo *osTypeSpecificInfo) pruneUnsupportedProperties(pruner *propertyPruner) {
|
||||
if len(osInfo.archInfos) == 0 {
|
||||
pruner.pruneProperties(osInfo.Properties)
|
||||
} else {
|
||||
for _, archInfo := range osInfo.archInfos {
|
||||
archInfo.pruneUnsupportedProperties(pruner)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Optimize the properties by extracting common properties from arch type specific
|
||||
// properties into os type specific properties.
|
||||
func (osInfo *osTypeSpecificInfo) optimizeProperties(ctx *memberContext, commonValueExtractor *commonValueExtractor) {
|
||||
@@ -1674,16 +1635,6 @@ func getLinkType(variant android.Module) string {
|
||||
return linkType
|
||||
}
|
||||
|
||||
func (archInfo *archTypeSpecificInfo) pruneUnsupportedProperties(pruner *propertyPruner) {
|
||||
if len(archInfo.imageVariantInfos) == 0 {
|
||||
pruner.pruneProperties(archInfo.Properties)
|
||||
} else {
|
||||
for _, imageVariantInfo := range archInfo.imageVariantInfos {
|
||||
imageVariantInfo.pruneUnsupportedProperties(pruner)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Optimize the properties by extracting common properties from link type specific
|
||||
// properties into arch type specific properties.
|
||||
func (archInfo *archTypeSpecificInfo) optimizeProperties(ctx *memberContext, commonValueExtractor *commonValueExtractor) {
|
||||
@@ -1781,16 +1732,6 @@ func newImageVariantSpecificInfo(ctx android.SdkMemberContext, imageVariant stri
|
||||
return imageInfo
|
||||
}
|
||||
|
||||
func (imageInfo *imageVariantSpecificInfo) pruneUnsupportedProperties(pruner *propertyPruner) {
|
||||
if len(imageInfo.linkInfos) == 0 {
|
||||
pruner.pruneProperties(imageInfo.Properties)
|
||||
} else {
|
||||
for _, linkInfo := range imageInfo.linkInfos {
|
||||
linkInfo.pruneUnsupportedProperties(pruner)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Optimize the properties by extracting common properties from link type specific
|
||||
// properties into arch type specific properties.
|
||||
func (imageInfo *imageVariantSpecificInfo) optimizeProperties(ctx *memberContext, commonValueExtractor *commonValueExtractor) {
|
||||
@@ -1857,10 +1798,6 @@ func (l *linkTypeSpecificInfo) addToPropertySet(ctx *memberContext, propertySet
|
||||
addSdkMemberPropertiesToSet(ctx, l.Properties, linkPropertySet)
|
||||
}
|
||||
|
||||
func (l *linkTypeSpecificInfo) pruneUnsupportedProperties(pruner *propertyPruner) {
|
||||
pruner.pruneProperties(l.Properties)
|
||||
}
|
||||
|
||||
func (l *linkTypeSpecificInfo) String() string {
|
||||
return fmt.Sprintf("LinkType{%s}", l.linkType)
|
||||
}
|
||||
@@ -1900,12 +1837,12 @@ func (s *sdk) createMemberSnapshot(ctx *memberContext, member *sdkMember, bpModu
|
||||
memberType := member.memberType
|
||||
|
||||
// Do not add the prefer property if the member snapshot module is a source module type.
|
||||
config := ctx.sdkMemberContext.Config()
|
||||
if !memberType.UsesSourceModuleTypeInSnapshot() {
|
||||
// Set the prefer based on the environment variable. This is a temporary work around to allow a
|
||||
// snapshot to be created that sets prefer: true.
|
||||
// TODO(b/174997203): Remove once the ability to select the modules to prefer can be done
|
||||
// dynamically at build time not at snapshot generation time.
|
||||
config := ctx.sdkMemberContext.Config()
|
||||
prefer := config.IsEnvTrue("SOONG_SDK_SNAPSHOT_PREFER")
|
||||
|
||||
// Set prefer. Setting this to false is not strictly required as that is the default but it does
|
||||
@@ -1947,11 +1884,6 @@ func (s *sdk) createMemberSnapshot(ctx *memberContext, member *sdkMember, bpModu
|
||||
commonProperties := variantPropertiesFactory()
|
||||
commonProperties.Base().Os = android.CommonOS
|
||||
|
||||
// Create a property pruner that will prune any properties unsupported by the target build
|
||||
// release.
|
||||
targetBuildRelease := ctx.builder.targetBuildRelease
|
||||
unsupportedPropertyPruner := newPropertyPrunerByBuildRelease(commonProperties, targetBuildRelease)
|
||||
|
||||
// Create common value extractor that can be used to optimize the properties.
|
||||
commonValueExtractor := newCommonValueExtractor(commonProperties)
|
||||
|
||||
@@ -1966,8 +1898,6 @@ func (s *sdk) createMemberSnapshot(ctx *memberContext, member *sdkMember, bpModu
|
||||
// independent properties structs.
|
||||
osSpecificPropertiesContainers = append(osSpecificPropertiesContainers, osInfo)
|
||||
|
||||
osInfo.pruneUnsupportedProperties(unsupportedPropertyPruner)
|
||||
|
||||
// Optimize the properties across all the variants for a specific os type.
|
||||
osInfo.optimizeProperties(ctx, commonValueExtractor)
|
||||
}
|
||||
|
Reference in New Issue
Block a user