Parallelize singleton execution

Bug: 281536768
Test: manual, presubmits
Change-Id: I57fdc76ba6b277e88e196b506af87127a530fd37
This commit is contained in:
LaMont Jones 2023-05-16 00:58:37 +00:00
parent e59c0db536
commit 0c10e4dcc0
41 changed files with 51 additions and 51 deletions

View file

@ -42,7 +42,7 @@ func init() {
} }
func RegisterAndroidMkBuildComponents(ctx RegistrationContext) { func RegisterAndroidMkBuildComponents(ctx RegistrationContext) {
ctx.RegisterSingletonType("androidmk", AndroidMkSingleton) ctx.RegisterParallelSingletonType("androidmk", AndroidMkSingleton)
} }
// Enable androidmk support. // Enable androidmk support.

View file

@ -22,7 +22,7 @@ import (
) )
func init() { func init() {
RegisterSingletonType("api_levels", ApiLevelsSingleton) RegisterParallelSingletonType("api_levels", ApiLevelsSingleton)
} }
const previewAPILevelBase = 9000 const previewAPILevelBase = 9000

View file

@ -23,7 +23,7 @@ import (
func init() { func init() {
ctx := InitRegistrationContext ctx := InitRegistrationContext
ctx.RegisterSingletonModuleType("buildinfo_prop", buildinfoPropFactory) ctx.RegisterParallelSingletonModuleType("buildinfo_prop", buildinfoPropFactory)
} }
type buildinfoPropProperties struct { type buildinfoPropProperties struct {

View file

@ -28,7 +28,7 @@ func init() {
// Register the gen_notice module type. // Register the gen_notice module type.
func RegisterGenNoticeBuildComponents(ctx RegistrationContext) { func RegisterGenNoticeBuildComponents(ctx RegistrationContext) {
ctx.RegisterSingletonType("gen_notice_build_rules", GenNoticeBuildRulesFactory) ctx.RegisterParallelSingletonType("gen_notice_build_rules", GenNoticeBuildRulesFactory)
ctx.RegisterModuleType("gen_notice", GenNoticeFactory) ctx.RegisterModuleType("gen_notice", GenNoticeFactory)
} }

View file

@ -42,7 +42,7 @@ func readSoongMetrics(config Config) (SoongMetrics, bool) {
} }
func init() { func init() {
RegisterSingletonType("soong_metrics", soongMetricsSingletonFactory) RegisterParallelSingletonType("soong_metrics", soongMetricsSingletonFactory)
} }
func soongMetricsSingletonFactory() Singleton { return soongMetricsSingleton{} } func soongMetricsSingletonFactory() Singleton { return soongMetricsSingleton{} }

View file

@ -3724,7 +3724,7 @@ func (m *moduleContext) TargetRequiredModuleNames() []string {
} }
func init() { func init() {
RegisterSingletonType("buildtarget", BuildTargetSingleton) RegisterParallelSingletonType("buildtarget", BuildTargetSingleton)
} }
func BuildTargetSingleton() Singleton { func BuildTargetSingleton() Singleton {

View file

@ -231,7 +231,7 @@ func (ctx *Context) registerSingletonMakeVarsProvider(makevars SingletonMakeVars
func collateGloballyRegisteredSingletons() sortableComponents { func collateGloballyRegisteredSingletons() sortableComponents {
allSingletons := append(sortableComponents(nil), singletons...) allSingletons := append(sortableComponents(nil), singletons...)
allSingletons = append(allSingletons, allSingletons = append(allSingletons,
singleton{pre: false, parallel: false, name: "bazeldeps", factory: BazelSingleton}, singleton{pre: false, parallel: true, name: "bazeldeps", factory: BazelSingleton},
// Register phony just before makevars so it can write out its phony rules as Make rules // Register phony just before makevars so it can write out its phony rules as Make rules
singleton{pre: false, parallel: false, name: "phony", factory: phonySingletonFactory}, singleton{pre: false, parallel: false, name: "phony", factory: phonySingletonFactory},

View file

@ -15,7 +15,7 @@
package android package android
func init() { func init() {
RegisterSingletonType("testsuites", testSuiteFilesFactory) RegisterParallelSingletonType("testsuites", testSuiteFilesFactory)
} }
func testSuiteFilesFactory() Singleton { func testSuiteFilesFactory() Singleton {

View file

@ -27,7 +27,7 @@ func init() {
} }
func registerApexDepsInfoComponents(ctx android.RegistrationContext) { func registerApexDepsInfoComponents(ctx android.RegistrationContext) {
ctx.RegisterSingletonType("apex_depsinfo_singleton", apexDepsInfoSingletonFactory) ctx.RegisterParallelSingletonType("apex_depsinfo_singleton", apexDepsInfoSingletonFactory)
} }
type apexDepsInfoSingleton struct { type apexDepsInfoSingleton struct {

View file

@ -33,7 +33,7 @@ func init() {
func registerApexKeyBuildComponents(ctx android.RegistrationContext) { func registerApexKeyBuildComponents(ctx android.RegistrationContext) {
ctx.RegisterModuleType("apex_key", ApexKeyFactory) ctx.RegisterModuleType("apex_key", ApexKeyFactory)
ctx.RegisterSingletonType("apex_keys_text", apexKeysTextFactory) ctx.RegisterParallelSingletonType("apex_keys_text", apexKeysTextFactory)
} }
type apexKey struct { type apexKey struct {

View file

@ -51,7 +51,7 @@ func init() {
pctx.VariableConfigMethod("hostPrebuiltTag", android.Config.PrebuiltOS) pctx.VariableConfigMethod("hostPrebuiltTag", android.Config.PrebuiltOS)
pctx.SourcePathVariable("bloaty", "prebuilts/build-tools/${hostPrebuiltTag}/bin/bloaty") pctx.SourcePathVariable("bloaty", "prebuilts/build-tools/${hostPrebuiltTag}/bin/bloaty")
pctx.HostBinToolVariable("bloatyMerger", "bloaty_merger") pctx.HostBinToolVariable("bloatyMerger", "bloaty_merger")
android.RegisterSingletonType("file_metrics", fileSizesSingleton) android.RegisterParallelSingletonType("file_metrics", fileSizesSingleton)
fileSizeMeasurerKey = blueprint.NewProvider(measuredFiles{}) fileSizeMeasurerKey = blueprint.NewProvider(measuredFiles{})
} }

View file

@ -83,7 +83,7 @@ func RegisterCCBuildComponents(ctx android.RegistrationContext) {
ctx.TopDown("sabi_deps", sabiDepsMutator) ctx.TopDown("sabi_deps", sabiDepsMutator)
}) })
ctx.RegisterSingletonType("kythe_extract_all", kytheExtractAllFactory) ctx.RegisterParallelSingletonType("kythe_extract_all", kytheExtractAllFactory)
} }
// Deps is a struct containing module names of dependencies, separated by the kind of dependency. // Deps is a struct containing module names of dependencies, separated by the kind of dependency.

View file

@ -30,7 +30,7 @@ import (
// The info file is generated in $OUT/module_bp_cc_depend.json. // The info file is generated in $OUT/module_bp_cc_depend.json.
func init() { func init() {
android.RegisterSingletonType("ccdeps_generator", ccDepsGeneratorSingleton) android.RegisterParallelSingletonType("ccdeps_generator", ccDepsGeneratorSingleton)
} }
func ccDepsGeneratorSingleton() android.Singleton { func ccDepsGeneratorSingleton() android.Singleton {

View file

@ -29,7 +29,7 @@ import (
// structure (see variable CLionOutputProjectsDirectory for root). // structure (see variable CLionOutputProjectsDirectory for root).
func init() { func init() {
android.RegisterSingletonType("cmakelists_generator", cMakeListsGeneratorSingleton) android.RegisterParallelSingletonType("cmakelists_generator", cMakeListsGeneratorSingleton)
} }
func cMakeListsGeneratorSingleton() android.Singleton { func cMakeListsGeneratorSingleton() android.Singleton {

View file

@ -32,7 +32,7 @@ import (
// make SOONG_GEN_COMPDB=1 nothing to get all targets. // make SOONG_GEN_COMPDB=1 nothing to get all targets.
func init() { func init() {
android.RegisterSingletonType("compdb_generator", compDBGeneratorSingleton) android.RegisterParallelSingletonType("compdb_generator", compDBGeneratorSingleton)
} }
func compDBGeneratorSingleton() android.Singleton { func compDBGeneratorSingleton() android.Singleton {

View file

@ -28,7 +28,7 @@ import (
func init() { func init() {
android.RegisterModuleType("cc_fuzz", LibFuzzFactory) android.RegisterModuleType("cc_fuzz", LibFuzzFactory)
android.RegisterSingletonType("cc_fuzz_packaging", fuzzPackagingFactory) android.RegisterParallelSingletonType("cc_fuzz_packaging", fuzzPackagingFactory)
} }
type FuzzProperties struct { type FuzzProperties struct {

View file

@ -19,8 +19,8 @@ import (
) )
func init() { func init() {
android.RegisterSingletonType("ndk_abi_dump", NdkAbiDumpSingleton) android.RegisterParallelSingletonType("ndk_abi_dump", NdkAbiDumpSingleton)
android.RegisterSingletonType("ndk_abi_diff", NdkAbiDiffSingleton) android.RegisterParallelSingletonType("ndk_abi_diff", NdkAbiDiffSingleton)
} }
func getNdkAbiDumpInstallBase(ctx android.PathContext) android.OutputPath { func getNdkAbiDumpInstallBase(ctx android.PathContext) android.OutputPath {

View file

@ -66,7 +66,7 @@ func RegisterNdkModuleTypes(ctx android.RegistrationContext) {
ctx.RegisterModuleType("ndk_library", NdkLibraryFactory) ctx.RegisterModuleType("ndk_library", NdkLibraryFactory)
ctx.RegisterModuleType("versioned_ndk_headers", versionedNdkHeadersFactory) ctx.RegisterModuleType("versioned_ndk_headers", versionedNdkHeadersFactory)
ctx.RegisterModuleType("preprocessed_ndk_headers", preprocessedNdkHeadersFactory) ctx.RegisterModuleType("preprocessed_ndk_headers", preprocessedNdkHeadersFactory)
ctx.RegisterSingletonType("ndk", NdkSingleton) ctx.RegisterParallelSingletonType("ndk", NdkSingleton)
} }
func getNdkInstallBase(ctx android.PathContext) android.InstallPath { func getNdkInstallBase(ctx android.PathContext) android.InstallPath {

View file

@ -23,7 +23,7 @@ import (
func init() { func init() {
// Use singleton type to gather all generated soong modules. // Use singleton type to gather all generated soong modules.
android.RegisterSingletonType("stublibraries", stubLibrariesSingleton) android.RegisterParallelSingletonType("stublibraries", stubLibrariesSingleton)
} }
type stubLibraries struct { type stubLibraries struct {

View file

@ -201,7 +201,7 @@ func (tidy *tidyFeature) flags(ctx ModuleContext, flags Flags) Flags {
} }
func init() { func init() {
android.RegisterSingletonType("tidy_phony_targets", TidyPhonySingleton) android.RegisterParallelSingletonType("tidy_phony_targets", TidyPhonySingleton)
} }
// This TidyPhonySingleton generates both tidy-* and obj-* phony targets for C/C++ files. // This TidyPhonySingleton generates both tidy-* and obj-* phony targets for C/C++ files.

View file

@ -417,16 +417,16 @@ func VndkMutator(mctx android.BottomUpMutatorContext) {
func init() { func init() {
RegisterVndkLibraryTxtTypes(android.InitRegistrationContext) RegisterVndkLibraryTxtTypes(android.InitRegistrationContext)
android.RegisterSingletonType("vndk-snapshot", VndkSnapshotSingleton) android.RegisterParallelSingletonType("vndk-snapshot", VndkSnapshotSingleton)
} }
func RegisterVndkLibraryTxtTypes(ctx android.RegistrationContext) { func RegisterVndkLibraryTxtTypes(ctx android.RegistrationContext) {
ctx.RegisterSingletonModuleType("llndk_libraries_txt", llndkLibrariesTxtFactory) ctx.RegisterParallelSingletonModuleType("llndk_libraries_txt", llndkLibrariesTxtFactory)
ctx.RegisterSingletonModuleType("vndksp_libraries_txt", vndkSPLibrariesTxtFactory) ctx.RegisterParallelSingletonModuleType("vndksp_libraries_txt", vndkSPLibrariesTxtFactory)
ctx.RegisterSingletonModuleType("vndkcore_libraries_txt", vndkCoreLibrariesTxtFactory) ctx.RegisterParallelSingletonModuleType("vndkcore_libraries_txt", vndkCoreLibrariesTxtFactory)
ctx.RegisterSingletonModuleType("vndkprivate_libraries_txt", vndkPrivateLibrariesTxtFactory) ctx.RegisterParallelSingletonModuleType("vndkprivate_libraries_txt", vndkPrivateLibrariesTxtFactory)
ctx.RegisterSingletonModuleType("vndkproduct_libraries_txt", vndkProductLibrariesTxtFactory) ctx.RegisterParallelSingletonModuleType("vndkproduct_libraries_txt", vndkProductLibrariesTxtFactory)
ctx.RegisterSingletonModuleType("vndkcorevariant_libraries_txt", vndkUsingCoreVariantLibrariesTxtFactory) ctx.RegisterParallelSingletonModuleType("vndkcorevariant_libraries_txt", vndkUsingCoreVariantLibrariesTxtFactory)
} }
type vndkLibrariesTxt struct { type vndkLibrariesTxt struct {

View file

@ -197,7 +197,7 @@ var pctx = android.NewPackageContext("android/soong/dexpreopt")
func init() { func init() {
pctx.Import("android/soong/android") pctx.Import("android/soong/android")
android.RegisterSingletonType("dexpreopt-soong-config", func() android.Singleton { android.RegisterParallelSingletonType("dexpreopt-soong-config", func() android.Singleton {
return &globalSoongConfigSingleton{} return &globalSoongConfigSingleton{}
}) })
} }

View file

@ -465,7 +465,7 @@ func dexpreoptBootJarsFactory() android.SingletonModule {
} }
func RegisterDexpreoptBootJarsComponents(ctx android.RegistrationContext) { func RegisterDexpreoptBootJarsComponents(ctx android.RegistrationContext) {
ctx.RegisterSingletonModuleType("dex_bootjars", dexpreoptBootJarsFactory) ctx.RegisterParallelSingletonModuleType("dex_bootjars", dexpreoptBootJarsFactory)
} }
func SkipDexpreoptBootJars(ctx android.PathContext) bool { func SkipDexpreoptBootJars(ctx android.PathContext) bool {

View file

@ -28,7 +28,7 @@ func init() {
} }
func RegisterDexpreoptCheckBuildComponents(ctx android.RegistrationContext) { func RegisterDexpreoptCheckBuildComponents(ctx android.RegistrationContext) {
ctx.RegisterSingletonModuleType("dexpreopt_systemserver_check", dexpreoptSystemserverCheckFactory) ctx.RegisterParallelSingletonModuleType("dexpreopt_systemserver_check", dexpreoptSystemserverCheckFactory)
} }
// A build-time check to verify if all compilation artifacts of system server jars are installed // A build-time check to verify if all compilation artifacts of system server jars are installed

View file

@ -38,7 +38,7 @@ func init() {
func RegisterJavaFuzzBuildComponents(ctx android.RegistrationContext) { func RegisterJavaFuzzBuildComponents(ctx android.RegistrationContext) {
ctx.RegisterModuleType("java_fuzz", JavaFuzzFactory) ctx.RegisterModuleType("java_fuzz", JavaFuzzFactory)
ctx.RegisterSingletonType("java_fuzz_packaging", javaFuzzPackagingFactory) ctx.RegisterParallelSingletonType("java_fuzz_packaging", javaFuzzPackagingFactory)
} }
type JavaFuzzTest struct { type JavaFuzzTest struct {

View file

@ -25,7 +25,7 @@ func init() {
} }
func RegisterHiddenApiSingletonComponents(ctx android.RegistrationContext) { func RegisterHiddenApiSingletonComponents(ctx android.RegistrationContext) {
ctx.RegisterSingletonType("hiddenapi", hiddenAPISingletonFactory) ctx.RegisterParallelSingletonType("hiddenapi", hiddenAPISingletonFactory)
} }
var PrepareForTestWithHiddenApiBuildComponents = android.FixtureRegisterWithContext(RegisterHiddenApiSingletonComponents) var PrepareForTestWithHiddenApiBuildComponents = android.FixtureRegisterWithContext(RegisterHiddenApiSingletonComponents)

View file

@ -73,8 +73,8 @@ func registerJavaBuildComponents(ctx android.RegistrationContext) {
ctx.BottomUp("jacoco_deps", jacocoDepsMutator).Parallel() ctx.BottomUp("jacoco_deps", jacocoDepsMutator).Parallel()
}) })
ctx.RegisterSingletonType("logtags", LogtagsSingleton) ctx.RegisterParallelSingletonType("logtags", LogtagsSingleton)
ctx.RegisterSingletonType("kythe_java_extract", kytheExtractJavaFactory) ctx.RegisterParallelSingletonType("kythe_java_extract", kytheExtractJavaFactory)
} }
func RegisterJavaSdkMemberTypes() { func RegisterJavaSdkMemberTypes() {

View file

@ -26,7 +26,7 @@ import (
// called. Dependency info file is generated in $OUT/module_bp_java_depend.json. // called. Dependency info file is generated in $OUT/module_bp_java_depend.json.
func init() { func init() {
android.RegisterSingletonType("jdeps_generator", jDepsGeneratorSingleton) android.RegisterParallelSingletonType("jdeps_generator", jDepsGeneratorSingleton)
} }
func jDepsGeneratorSingleton() android.Singleton { func jDepsGeneratorSingleton() android.Singleton {

View file

@ -705,7 +705,7 @@ func (l *lintSingleton) MakeVars(ctx android.MakeVarsContext) {
var _ android.SingletonMakeVarsProvider = (*lintSingleton)(nil) var _ android.SingletonMakeVarsProvider = (*lintSingleton)(nil)
func init() { func init() {
android.RegisterSingletonType("lint", android.RegisterParallelSingletonType("lint",
func() android.Singleton { return &lintSingleton{} }) func() android.Singleton { return &lintSingleton{} })
registerLintBuildComponents(android.InitRegistrationContext) registerLintBuildComponents(android.InitRegistrationContext)

View file

@ -26,7 +26,7 @@ func init() {
} }
func registerPlatformBootclasspathBuildComponents(ctx android.RegistrationContext) { func registerPlatformBootclasspathBuildComponents(ctx android.RegistrationContext) {
ctx.RegisterSingletonModuleType("platform_bootclasspath", platformBootclasspathFactory) ctx.RegisterParallelSingletonModuleType("platform_bootclasspath", platformBootclasspathFactory)
} }
// The tags used for the dependencies between the platform bootclasspath and any configured boot // The tags used for the dependencies between the platform bootclasspath and any configured boot

View file

@ -36,7 +36,7 @@ var CompatConfigSdkMemberType = &compatConfigMemberType{
} }
func registerPlatformCompatConfigBuildComponents(ctx android.RegistrationContext) { func registerPlatformCompatConfigBuildComponents(ctx android.RegistrationContext) {
ctx.RegisterSingletonType("platform_compat_config_singleton", platformCompatConfigSingletonFactory) ctx.RegisterParallelSingletonType("platform_compat_config_singleton", platformCompatConfigSingletonFactory)
ctx.RegisterModuleType("platform_compat_config", PlatformCompatConfigFactory) ctx.RegisterModuleType("platform_compat_config", PlatformCompatConfigFactory)
ctx.RegisterModuleType("prebuilt_platform_compat_config", prebuiltCompatConfigFactory) ctx.RegisterModuleType("prebuilt_platform_compat_config", prebuiltCompatConfigFactory)
ctx.RegisterModuleType("global_compat_config", globalCompatConfigFactory) ctx.RegisterModuleType("global_compat_config", globalCompatConfigFactory)

View file

@ -28,7 +28,7 @@ import (
func init() { func init() {
android.RegisterPreSingletonType("sdk_versions", sdkPreSingletonFactory) android.RegisterPreSingletonType("sdk_versions", sdkPreSingletonFactory)
android.RegisterSingletonType("sdk", sdkSingletonFactory) android.RegisterParallelSingletonType("sdk", sdkSingletonFactory)
android.RegisterMakeVarsProvider(pctx, sdkMakeVars) android.RegisterMakeVarsProvider(pctx, sdkMakeVars)
} }

View file

@ -20,7 +20,7 @@ import (
) )
func init() { func init() {
android.RegisterSingletonType("update-meta", UpdateMetaSingleton) android.RegisterParallelSingletonType("update-meta", UpdateMetaSingleton)
} }
func UpdateMetaSingleton() android.Singleton { func UpdateMetaSingleton() android.Singleton {

View file

@ -51,7 +51,7 @@ func init() {
} }
func RegisterProvenanceSingleton(ctx android.RegistrationContext) { func RegisterProvenanceSingleton(ctx android.RegistrationContext) {
ctx.RegisterSingletonType("provenance_metadata_singleton", provenanceInfoSingletonFactory) ctx.RegisterParallelSingletonType("provenance_metadata_singleton", provenanceInfoSingletonFactory)
} }
var PrepareForTestWithProvenanceSingleton = android.FixtureRegisterWithContext(RegisterProvenanceSingleton) var PrepareForTestWithProvenanceSingleton = android.FixtureRegisterWithContext(RegisterProvenanceSingleton)

View file

@ -19,7 +19,7 @@ import (
) )
func init() { func init() {
android.RegisterSingletonType("rustdoc", RustdocSingleton) android.RegisterParallelSingletonType("rustdoc", RustdocSingleton)
} }
func RustdocSingleton() android.Singleton { func RustdocSingleton() android.Singleton {

View file

@ -74,7 +74,7 @@ func rustProjectGeneratorSingleton() android.Singleton {
} }
func init() { func init() {
android.RegisterSingletonType("rust_project_generator", rustProjectGeneratorSingleton) android.RegisterParallelSingletonType("rust_project_generator", rustProjectGeneratorSingleton)
} }
// sourceProviderVariantSource returns the path to the source file if this // sourceProviderVariantSource returns the path to the source file if this

View file

@ -45,7 +45,7 @@ func init() {
}) })
pctx.Import("android/soong/rust/config") pctx.Import("android/soong/rust/config")
pctx.ImportAs("cc_config", "android/soong/cc/config") pctx.ImportAs("cc_config", "android/soong/cc/config")
android.InitRegistrationContext.RegisterSingletonType("kythe_rust_extract", kytheExtractRustFactory) android.InitRegistrationContext.RegisterParallelSingletonType("kythe_rust_extract", kytheExtractRustFactory)
} }
type Flags struct { type Flags struct {

View file

@ -200,8 +200,8 @@ func registerRequiredBuildComponentsForTest(ctx android.RegistrationContext) {
ctx.BottomUp("rust_stdlinkage", LibstdMutator).Parallel() ctx.BottomUp("rust_stdlinkage", LibstdMutator).Parallel()
ctx.BottomUp("rust_begin", BeginMutator).Parallel() ctx.BottomUp("rust_begin", BeginMutator).Parallel()
}) })
ctx.RegisterSingletonType("rust_project_generator", rustProjectGeneratorSingleton) ctx.RegisterParallelSingletonType("rust_project_generator", rustProjectGeneratorSingleton)
ctx.RegisterSingletonType("kythe_rust_extract", kytheExtractRustFactory) ctx.RegisterParallelSingletonType("kythe_rust_extract", kytheExtractRustFactory)
ctx.PostDepsMutators(func(ctx android.RegisterMutatorsContext) { ctx.PostDepsMutators(func(ctx android.RegisterMutatorsContext) {
ctx.BottomUp("rust_sanitizers", rustSanitizerRuntimeMutator).Parallel() ctx.BottomUp("rust_sanitizers", rustSanitizerRuntimeMutator).Parallel()
}) })

View file

@ -75,7 +75,7 @@ type hostSnapshotFakeJsonFlags struct {
} }
func registerHostSnapshotComponents(ctx android.RegistrationContext) { func registerHostSnapshotComponents(ctx android.RegistrationContext) {
ctx.RegisterSingletonType("host-fake-snapshot", HostToolsFakeAndroidSingleton) ctx.RegisterParallelSingletonType("host-fake-snapshot", HostToolsFakeAndroidSingleton)
} }
type hostFakeSingleton struct { type hostFakeSingleton struct {

View file

@ -68,7 +68,7 @@ var RecoverySnapshotImageName = "recovery"
type RecoverySnapshotImage struct{} type RecoverySnapshotImage struct{}
func (RecoverySnapshotImage) Init(ctx android.RegistrationContext) { func (RecoverySnapshotImage) Init(ctx android.RegistrationContext) {
ctx.RegisterSingletonType("recovery-snapshot", RecoverySnapshotSingleton) ctx.RegisterParallelSingletonType("recovery-snapshot", RecoverySnapshotSingleton)
} }
func (RecoverySnapshotImage) RegisterAdditionalModule(ctx android.RegistrationContext, name string, factory android.ModuleFactory) { func (RecoverySnapshotImage) RegisterAdditionalModule(ctx android.RegistrationContext, name string, factory android.ModuleFactory) {

View file

@ -78,8 +78,8 @@ var VendorSnapshotImageName = "vendor"
type VendorSnapshotImage struct{} type VendorSnapshotImage struct{}
func (VendorSnapshotImage) Init(ctx android.RegistrationContext) { func (VendorSnapshotImage) Init(ctx android.RegistrationContext) {
ctx.RegisterSingletonType("vendor-snapshot", VendorSnapshotSingleton) ctx.RegisterParallelSingletonType("vendor-snapshot", VendorSnapshotSingleton)
ctx.RegisterSingletonType("vendor-fake-snapshot", VendorFakeSnapshotSingleton) ctx.RegisterParallelSingletonType("vendor-fake-snapshot", VendorFakeSnapshotSingleton)
} }
func (VendorSnapshotImage) RegisterAdditionalModule(ctx android.RegistrationContext, name string, factory android.ModuleFactory) { func (VendorSnapshotImage) RegisterAdditionalModule(ctx android.RegistrationContext, name string, factory android.ModuleFactory) {