Revert "Support generating sdk snapshot for specific build release"

This reverts commit ef2df587be53a1a58fc35f195a4226170df17dbb.

Reason for revert: suspect to cause build break in b/201948713

Change-Id: If46219746913bec87ca2030ba51a6094246a0211
diff --git a/sdk/sdk_test.go b/sdk/sdk_test.go
index f5f6898..85e3d87 100644
--- a/sdk/sdk_test.go
+++ b/sdk/sdk_test.go
@@ -21,7 +21,6 @@
 	"testing"
 
 	"android/soong/android"
-	"android/soong/java"
 
 	"github.com/google/blueprint/proptools"
 )
@@ -707,88 +706,4 @@
 			snapshotTestPreparer(checkSnapshotWithoutSource, android.FixtureWithRootAndroidBp(bp)),
 		)
 	})
-
-	t.Run("SOONG_SDK_SNAPSHOT_TARGET_BUILD_RELEASE=S", func(t *testing.T) {
-		result := android.GroupFixturePreparers(
-			prepareForSdkTestWithJava,
-			java.PrepareForTestWithJavaDefaultModules,
-			java.PrepareForTestWithJavaSdkLibraryFiles,
-			java.FixtureWithLastReleaseApis("mysdklibrary"),
-			android.FixtureWithRootAndroidBp(`
-			sdk {
-				name: "mysdk",
-				bootclasspath_fragments: ["mybootclasspathfragment"],
-			}
-
-			bootclasspath_fragment {
-				name: "mybootclasspathfragment",
-				apex_available: ["myapex"],
-				contents: ["mysdklibrary"],
-			}
-
-			java_sdk_library {
-				name: "mysdklibrary",
-				srcs: ["Test.java"],
-				compile_dex: true,
-				public: {enabled: true},
-				permitted_packages: ["mysdklibrary"],
-			}
-		`),
-			android.FixtureMergeEnv(map[string]string{
-				"SOONG_SDK_SNAPSHOT_TARGET_BUILD_RELEASE": "S",
-			}),
-		).RunTest(t)
-
-		CheckSnapshot(t, result, "mysdk", "",
-			checkUnversionedAndroidBpContents(`
-// This is auto-generated. DO NOT EDIT.
-
-prebuilt_bootclasspath_fragment {
-    name: "mybootclasspathfragment",
-    prefer: false,
-    visibility: ["//visibility:public"],
-    apex_available: ["myapex"],
-    contents: ["mysdklibrary"],
-    hidden_api: {
-        annotation_flags: "hiddenapi/annotation-flags.csv",
-        metadata: "hiddenapi/metadata.csv",
-        index: "hiddenapi/index.csv",
-        signature_patterns: "hiddenapi/signature-patterns.csv",
-        stub_flags: "hiddenapi/filtered-stub-flags.csv",
-        all_flags: "hiddenapi/filtered-flags.csv",
-    },
-}
-
-java_sdk_library_import {
-    name: "mysdklibrary",
-    prefer: false,
-    visibility: ["//visibility:public"],
-    apex_available: ["//apex_available:platform"],
-    shared_library: true,
-    compile_dex: true,
-    permitted_packages: ["mysdklibrary"],
-    public: {
-        jars: ["sdk_library/public/mysdklibrary-stubs.jar"],
-        stub_srcs: ["sdk_library/public/mysdklibrary_stub_sources"],
-        current_api: "sdk_library/public/mysdklibrary.txt",
-        removed_api: "sdk_library/public/mysdklibrary-removed.txt",
-        sdk_version: "current",
-    },
-}
-`),
-
-			checkAllCopyRules(`
-.intermediates/mybootclasspathfragment/android_common/modular-hiddenapi/annotation-flags.csv -> hiddenapi/annotation-flags.csv
-.intermediates/mybootclasspathfragment/android_common/modular-hiddenapi/metadata.csv -> hiddenapi/metadata.csv
-.intermediates/mybootclasspathfragment/android_common/modular-hiddenapi/index.csv -> hiddenapi/index.csv
-.intermediates/mybootclasspathfragment/android_common/modular-hiddenapi/signature-patterns.csv -> hiddenapi/signature-patterns.csv
-.intermediates/mybootclasspathfragment/android_common/modular-hiddenapi/filtered-stub-flags.csv -> hiddenapi/filtered-stub-flags.csv
-.intermediates/mybootclasspathfragment/android_common/modular-hiddenapi/filtered-flags.csv -> hiddenapi/filtered-flags.csv
-.intermediates/mysdklibrary.stubs/android_common/javac/mysdklibrary.stubs.jar -> sdk_library/public/mysdklibrary-stubs.jar
-.intermediates/mysdklibrary.stubs.source/android_common/metalava/mysdklibrary.stubs.source_api.txt -> sdk_library/public/mysdklibrary.txt
-.intermediates/mysdklibrary.stubs.source/android_common/metalava/mysdklibrary.stubs.source_removed.txt -> sdk_library/public/mysdklibrary-removed.txt
-`),
-		)
-	})
-
 }
diff --git a/sdk/testing.go b/sdk/testing.go
index 294f1a5..3254cf9 100644
--- a/sdk/testing.go
+++ b/sdk/testing.go
@@ -136,7 +136,6 @@
 		androidUnversionedBpContents: sdk.GetUnversionedAndroidBpContentsForTests(),
 		androidVersionedBpContents:   sdk.GetVersionedAndroidBpContentsForTests(),
 		snapshotTestCustomizations:   map[snapshotTest]*snapshotTestCustomization{},
-		targetBuildRelease:           sdk.builderForTests.targetBuildRelease,
 	}
 
 	buildParams := sdk.BuildParamsForTests()
@@ -254,13 +253,6 @@
 	}
 	fs[filepath.Join(snapshotSubDir, "Android.bp")] = []byte(snapshotBuildInfo.androidBpContents)
 
-	// If the generated snapshot builders not for the current release then it cannot be loaded by
-	// the current release.
-	currentBuildRelease := latestBuildRelease()
-	if snapshotBuildInfo.targetBuildRelease != currentBuildRelease {
-		return
-	}
-
 	// The preparers from the original source fixture.
 	sourcePreparers := result.Preparer()
 
@@ -484,9 +476,6 @@
 	// The final output zip.
 	outputZip string
 
-	// The target build release.
-	targetBuildRelease *buildRelease
-
 	// The test specific customizations for each snapshot test.
 	snapshotTestCustomizations map[snapshotTest]*snapshotTestCustomization
 }
diff --git a/sdk/update.go b/sdk/update.go
index 389e845..3246832 100644
--- a/sdk/update.go
+++ b/sdk/update.go
@@ -81,19 +81,6 @@
 //     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 @@
 		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 @@
 		prebuiltModules:       make(map[string]*bpModule),
 		allMembersByName:      allMembersByName,
 		exportedMembersByName: exportedMembersByName,
-		targetBuildRelease:    targetBuildRelease,
 	}
 	s.builderForTests = builder
 
@@ -471,11 +449,7 @@
 	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 @@
 
 	// 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 @@
 	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 @@
 	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 @@
 	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 @@
 	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 @@
 	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 @@
 	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 @@
 		// 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)
 	}
diff --git a/ui/build/dumpvars.go b/ui/build/dumpvars.go
index afec829..3d16073 100644
--- a/ui/build/dumpvars.go
+++ b/ui/build/dumpvars.go
@@ -163,7 +163,6 @@
 	"AUX_OS_VARIANT_LIST",
 	"PRODUCT_SOONG_NAMESPACES",
 	"SOONG_SDK_SNAPSHOT_PREFER",
-	"SOONG_SDK_SNAPSHOT_TARGET_BUILD_RELEASE",
 	"SOONG_SDK_SNAPSHOT_USE_SOURCE_CONFIG_VAR",
 	"SOONG_SDK_SNAPSHOT_VERSION",
 }