Merge changes from topic "provider_generics" into main am: b2c65a26d6
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2876763 Change-Id: Idd45d802713d4395abe9c233e71dc39f4d5b691e Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
commit
7e3f9b43de
27 changed files with 44 additions and 42 deletions
|
@ -120,7 +120,7 @@ type DeclarationsProviderData struct {
|
||||||
IntermediateDumpOutputPath android.WritablePath
|
IntermediateDumpOutputPath android.WritablePath
|
||||||
}
|
}
|
||||||
|
|
||||||
var DeclarationsProviderKey = blueprint.NewProvider(DeclarationsProviderData{})
|
var DeclarationsProviderKey = blueprint.NewProvider[DeclarationsProviderData]()
|
||||||
|
|
||||||
// This is used to collect the aconfig declarations info on the transitive closure,
|
// This is used to collect the aconfig declarations info on the transitive closure,
|
||||||
// the data is keyed on the container.
|
// the data is keyed on the container.
|
||||||
|
@ -128,7 +128,7 @@ type TransitiveDeclarationsInfo struct {
|
||||||
AconfigFiles map[string]android.Paths
|
AconfigFiles map[string]android.Paths
|
||||||
}
|
}
|
||||||
|
|
||||||
var TransitiveDeclarationsInfoProvider = blueprint.NewProvider(TransitiveDeclarationsInfo{})
|
var TransitiveDeclarationsInfoProvider = blueprint.NewProvider[TransitiveDeclarationsInfo]()
|
||||||
|
|
||||||
func (module *DeclarationsModule) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
func (module *DeclarationsModule) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
||||||
// Get the values that came from the global RELEASE_ACONFIG_VALUE_SETS flag
|
// Get the values that came from the global RELEASE_ACONFIG_VALUE_SETS flag
|
||||||
|
|
|
@ -54,7 +54,7 @@ type valueSetProviderData struct {
|
||||||
AvailablePackages map[string]android.Paths
|
AvailablePackages map[string]android.Paths
|
||||||
}
|
}
|
||||||
|
|
||||||
var valueSetProviderKey = blueprint.NewProvider(valueSetProviderData{})
|
var valueSetProviderKey = blueprint.NewProvider[valueSetProviderData]()
|
||||||
|
|
||||||
func (module *ValueSetModule) DepsMutator(ctx android.BottomUpMutatorContext) {
|
func (module *ValueSetModule) DepsMutator(ctx android.BottomUpMutatorContext) {
|
||||||
deps := ctx.AddDependency(ctx.Module(), valueSetTag, module.properties.Values...)
|
deps := ctx.AddDependency(ctx.Module(), valueSetTag, module.properties.Values...)
|
||||||
|
|
|
@ -52,7 +52,7 @@ type valuesProviderData struct {
|
||||||
Values android.Paths
|
Values android.Paths
|
||||||
}
|
}
|
||||||
|
|
||||||
var valuesProviderKey = blueprint.NewProvider(valuesProviderData{})
|
var valuesProviderKey = blueprint.NewProvider[valuesProviderData]()
|
||||||
|
|
||||||
func (module *ValuesModule) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
func (module *ValuesModule) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
||||||
if len(module.properties.Package) == 0 {
|
if len(module.properties.Package) == 0 {
|
||||||
|
|
|
@ -64,7 +64,7 @@ type AidlLibraryInfo struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
// AidlLibraryProvider provides the srcs and the transitive include dirs
|
// AidlLibraryProvider provides the srcs and the transitive include dirs
|
||||||
var AidlLibraryProvider = blueprint.NewProvider(AidlLibraryInfo{})
|
var AidlLibraryProvider = blueprint.NewProvider[AidlLibraryInfo]()
|
||||||
|
|
||||||
func (lib *AidlLibrary) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
func (lib *AidlLibrary) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
||||||
includeDirsDepSetBuilder := android.NewDepSetBuilder[android.Path](android.PREORDER)
|
includeDirsDepSetBuilder := android.NewDepSetBuilder[android.Path](android.PREORDER)
|
||||||
|
|
|
@ -89,7 +89,7 @@ type ApexInfo struct {
|
||||||
TestApexes []string
|
TestApexes []string
|
||||||
}
|
}
|
||||||
|
|
||||||
var ApexInfoProvider = blueprint.NewMutatorProvider(ApexInfo{}, "apex")
|
var ApexInfoProvider = blueprint.NewMutatorProvider[ApexInfo]("apex")
|
||||||
|
|
||||||
func (i ApexInfo) AddJSONData(d *map[string]interface{}) {
|
func (i ApexInfo) AddJSONData(d *map[string]interface{}) {
|
||||||
(*d)["Apex"] = map[string]interface{}{
|
(*d)["Apex"] = map[string]interface{}{
|
||||||
|
@ -145,7 +145,7 @@ type ApexTestForInfo struct {
|
||||||
ApexContents []*ApexContents
|
ApexContents []*ApexContents
|
||||||
}
|
}
|
||||||
|
|
||||||
var ApexTestForInfoProvider = blueprint.NewMutatorProvider(ApexTestForInfo{}, "apex_test_for")
|
var ApexTestForInfoProvider = blueprint.NewMutatorProvider[ApexTestForInfo]("apex_test_for")
|
||||||
|
|
||||||
// DepIsInSameApex defines an interface that should be used to determine whether a given dependency
|
// DepIsInSameApex defines an interface that should be used to determine whether a given dependency
|
||||||
// should be considered as part of the same APEX as the current module or not. Note: this was
|
// should be considered as part of the same APEX as the current module or not. Note: this was
|
||||||
|
|
|
@ -124,7 +124,7 @@ func (a *allApexContributions) SetPrebuiltSelectionInfoProvider(ctx BaseModuleCo
|
||||||
|
|
||||||
// A provider containing metadata about whether source or prebuilt should be used
|
// A provider containing metadata about whether source or prebuilt should be used
|
||||||
// This provider will be used in prebuilt_select mutator to redirect deps
|
// This provider will be used in prebuilt_select mutator to redirect deps
|
||||||
var PrebuiltSelectionInfoProvider = blueprint.NewMutatorProvider(PrebuiltSelectionInfoMap{}, "prebuilt_select")
|
var PrebuiltSelectionInfoProvider = blueprint.NewMutatorProvider[PrebuiltSelectionInfoMap]("prebuilt_select")
|
||||||
|
|
||||||
// Map of baseModuleName to the selected source or prebuilt
|
// Map of baseModuleName to the selected source or prebuilt
|
||||||
type PrebuiltSelectionInfoMap map[string]PrebuiltSelectionInfo
|
type PrebuiltSelectionInfoMap map[string]PrebuiltSelectionInfo
|
||||||
|
|
|
@ -98,7 +98,7 @@ func (i DeapexerInfo) PrebuiltExportPath(apexRelativePath string) WritablePath {
|
||||||
|
|
||||||
// Provider that can be used from within the `GenerateAndroidBuildActions` of a module that depends
|
// Provider that can be used from within the `GenerateAndroidBuildActions` of a module that depends
|
||||||
// on a `deapexer` module to retrieve its `DeapexerInfo`.
|
// on a `deapexer` module to retrieve its `DeapexerInfo`.
|
||||||
var DeapexerProvider = blueprint.NewProvider(DeapexerInfo{})
|
var DeapexerProvider = blueprint.NewProvider[DeapexerInfo]()
|
||||||
|
|
||||||
// NewDeapexerInfo creates and initializes a DeapexerInfo that is suitable
|
// NewDeapexerInfo creates and initializes a DeapexerInfo that is suitable
|
||||||
// for use with a prebuilt_apex module.
|
// for use with a prebuilt_apex module.
|
||||||
|
|
|
@ -200,7 +200,7 @@ func isContainerFromFileExtensions(installPaths InstallPaths, builtPaths Paths)
|
||||||
}
|
}
|
||||||
|
|
||||||
// LicenseMetadataProvider is used to propagate license metadata paths between modules.
|
// LicenseMetadataProvider is used to propagate license metadata paths between modules.
|
||||||
var LicenseMetadataProvider = blueprint.NewProvider(&LicenseMetadataInfo{})
|
var LicenseMetadataProvider = blueprint.NewProvider[*LicenseMetadataInfo]()
|
||||||
|
|
||||||
// LicenseMetadataInfo stores the license metadata path for a module.
|
// LicenseMetadataInfo stores the license metadata path for a module.
|
||||||
type LicenseMetadataInfo struct {
|
type LicenseMetadataInfo struct {
|
||||||
|
|
|
@ -322,7 +322,7 @@ type LicenseInfo struct {
|
||||||
Licenses []string
|
Licenses []string
|
||||||
}
|
}
|
||||||
|
|
||||||
var LicenseInfoProvider = blueprint.NewProvider(LicenseInfo{})
|
var LicenseInfoProvider = blueprint.NewProvider[LicenseInfo]()
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
RegisterMakeVarsProvider(pctx, licensesMakeVarsProvider)
|
RegisterMakeVarsProvider(pctx, licensesMakeVarsProvider)
|
||||||
|
|
|
@ -860,11 +860,11 @@ type ExportedComponentsInfo struct {
|
||||||
Components []string
|
Components []string
|
||||||
}
|
}
|
||||||
|
|
||||||
var ExportedComponentsInfoProvider = blueprint.NewProvider(ExportedComponentsInfo{})
|
var ExportedComponentsInfoProvider = blueprint.NewProvider[ExportedComponentsInfo]()
|
||||||
|
|
||||||
// AdditionalSdkInfo contains additional properties to add to the generated SDK info file.
|
// AdditionalSdkInfo contains additional properties to add to the generated SDK info file.
|
||||||
type AdditionalSdkInfo struct {
|
type AdditionalSdkInfo struct {
|
||||||
Properties map[string]interface{}
|
Properties map[string]interface{}
|
||||||
}
|
}
|
||||||
|
|
||||||
var AdditionalSdkInfoProvider = blueprint.NewProvider(AdditionalSdkInfo{})
|
var AdditionalSdkInfoProvider = blueprint.NewProvider[AdditionalSdkInfo]()
|
||||||
|
|
|
@ -912,13 +912,13 @@ type DCLAInfo struct {
|
||||||
ProvidedLibs []string
|
ProvidedLibs []string
|
||||||
}
|
}
|
||||||
|
|
||||||
var DCLAInfoProvider = blueprint.NewMutatorProvider(DCLAInfo{}, "apex_info")
|
var DCLAInfoProvider = blueprint.NewMutatorProvider[DCLAInfo]("apex_info")
|
||||||
|
|
||||||
type ApexBundleInfo struct {
|
type ApexBundleInfo struct {
|
||||||
Contents *android.ApexContents
|
Contents *android.ApexContents
|
||||||
}
|
}
|
||||||
|
|
||||||
var ApexBundleInfoProvider = blueprint.NewMutatorProvider(ApexBundleInfo{}, "apex_info")
|
var ApexBundleInfoProvider = blueprint.NewMutatorProvider[ApexBundleInfo]("apex_info")
|
||||||
|
|
||||||
var _ ApexInfoMutator = (*apexBundle)(nil)
|
var _ ApexInfoMutator = (*apexBundle)(nil)
|
||||||
|
|
||||||
|
|
|
@ -52,7 +52,7 @@ func init() {
|
||||||
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.RegisterParallelSingletonType("file_metrics", fileSizesSingleton)
|
android.RegisterParallelSingletonType("file_metrics", fileSizesSingleton)
|
||||||
fileSizeMeasurerKey = blueprint.NewProvider(measuredFiles{})
|
fileSizeMeasurerKey = blueprint.NewProvider[measuredFiles]()
|
||||||
}
|
}
|
||||||
|
|
||||||
// measuredFiles contains the paths of the files measured by a module.
|
// measuredFiles contains the paths of the files measured by a module.
|
||||||
|
|
|
@ -43,7 +43,7 @@ type FdoProfileInfo struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
// FdoProfileProvider is used to provide path to an fdo profile
|
// FdoProfileProvider is used to provide path to an fdo profile
|
||||||
var FdoProfileProvider = blueprint.NewMutatorProvider(FdoProfileInfo{}, "fdo_profile")
|
var FdoProfileProvider = blueprint.NewMutatorProvider[FdoProfileInfo]("fdo_profile")
|
||||||
|
|
||||||
// FdoProfileMutatorInterface is the interface implemented by fdo_profile module type
|
// FdoProfileMutatorInterface is the interface implemented by fdo_profile module type
|
||||||
// module types that can depend on an fdo_profile module
|
// module types that can depend on an fdo_profile module
|
||||||
|
|
|
@ -368,7 +368,7 @@ type SharedLibraryInfo struct {
|
||||||
TransitiveStaticLibrariesForOrdering *android.DepSet[android.Path]
|
TransitiveStaticLibrariesForOrdering *android.DepSet[android.Path]
|
||||||
}
|
}
|
||||||
|
|
||||||
var SharedLibraryInfoProvider = blueprint.NewProvider(SharedLibraryInfo{})
|
var SharedLibraryInfoProvider = blueprint.NewProvider[SharedLibraryInfo]()
|
||||||
|
|
||||||
// SharedStubLibrary is a struct containing information about a stub shared library.
|
// SharedStubLibrary is a struct containing information about a stub shared library.
|
||||||
// Stub libraries are used for cross-APEX dependencies; when a library is to depend on a shared
|
// Stub libraries are used for cross-APEX dependencies; when a library is to depend on a shared
|
||||||
|
@ -391,7 +391,7 @@ type SharedLibraryStubsInfo struct {
|
||||||
IsLLNDK bool
|
IsLLNDK bool
|
||||||
}
|
}
|
||||||
|
|
||||||
var SharedLibraryStubsProvider = blueprint.NewProvider(SharedLibraryStubsInfo{})
|
var SharedLibraryStubsProvider = blueprint.NewProvider[SharedLibraryStubsInfo]()
|
||||||
|
|
||||||
// StaticLibraryInfo is a provider to propagate information about a static C++ library.
|
// StaticLibraryInfo is a provider to propagate information about a static C++ library.
|
||||||
type StaticLibraryInfo struct {
|
type StaticLibraryInfo struct {
|
||||||
|
@ -410,14 +410,14 @@ type StaticLibraryInfo struct {
|
||||||
TransitiveStaticLibrariesForOrdering *android.DepSet[android.Path]
|
TransitiveStaticLibrariesForOrdering *android.DepSet[android.Path]
|
||||||
}
|
}
|
||||||
|
|
||||||
var StaticLibraryInfoProvider = blueprint.NewProvider(StaticLibraryInfo{})
|
var StaticLibraryInfoProvider = blueprint.NewProvider[StaticLibraryInfo]()
|
||||||
|
|
||||||
// HeaderLibraryInfo is a marker provider that identifies a module as a header library.
|
// HeaderLibraryInfo is a marker provider that identifies a module as a header library.
|
||||||
type HeaderLibraryInfo struct {
|
type HeaderLibraryInfo struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
// HeaderLibraryInfoProvider is a marker provider that identifies a module as a header library.
|
// HeaderLibraryInfoProvider is a marker provider that identifies a module as a header library.
|
||||||
var HeaderLibraryInfoProvider = blueprint.NewProvider(HeaderLibraryInfo{})
|
var HeaderLibraryInfoProvider = blueprint.NewProvider[HeaderLibraryInfo]()
|
||||||
|
|
||||||
// FlagExporterInfo is a provider to propagate transitive library information
|
// FlagExporterInfo is a provider to propagate transitive library information
|
||||||
// pertaining to exported include paths and flags.
|
// pertaining to exported include paths and flags.
|
||||||
|
@ -429,4 +429,4 @@ type FlagExporterInfo struct {
|
||||||
GeneratedHeaders android.Paths
|
GeneratedHeaders android.Paths
|
||||||
}
|
}
|
||||||
|
|
||||||
var FlagExporterInfoProvider = blueprint.NewProvider(FlagExporterInfo{})
|
var FlagExporterInfoProvider = blueprint.NewProvider[FlagExporterInfo]()
|
||||||
|
|
|
@ -209,7 +209,7 @@ type SnapshotInfo struct {
|
||||||
HeaderLibs, Binaries, Objects, StaticLibs, SharedLibs, Rlibs, Dylibs map[string]string
|
HeaderLibs, Binaries, Objects, StaticLibs, SharedLibs, Rlibs, Dylibs map[string]string
|
||||||
}
|
}
|
||||||
|
|
||||||
var SnapshotInfoProvider = blueprint.NewMutatorProvider(SnapshotInfo{}, "deps")
|
var SnapshotInfoProvider = blueprint.NewMutatorProvider[SnapshotInfo]("deps")
|
||||||
|
|
||||||
var _ android.ImageInterface = (*snapshotModule)(nil)
|
var _ android.ImageInterface = (*snapshotModule)(nil)
|
||||||
|
|
||||||
|
|
|
@ -1069,7 +1069,7 @@ type JniPackageInfo struct {
|
||||||
JniPackages android.Paths
|
JniPackages android.Paths
|
||||||
}
|
}
|
||||||
|
|
||||||
var JniPackageProvider = blueprint.NewProvider(JniPackageInfo{})
|
var JniPackageProvider = blueprint.NewProvider[JniPackageInfo]()
|
||||||
|
|
||||||
// Unzip an AAR and extract the JNI libs for $archString.
|
// Unzip an AAR and extract the JNI libs for $archString.
|
||||||
var extractJNI = pctx.AndroidStaticRule("extractJNI",
|
var extractJNI = pctx.AndroidStaticRule("extractJNI",
|
||||||
|
|
|
@ -352,7 +352,7 @@ func (m *BootclasspathFragmentModule) bootclasspathFragmentPropertyCheck(ctx and
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var BootclasspathFragmentApexContentInfoProvider = blueprint.NewProvider(BootclasspathFragmentApexContentInfo{})
|
var BootclasspathFragmentApexContentInfoProvider = blueprint.NewProvider[BootclasspathFragmentApexContentInfo]()
|
||||||
|
|
||||||
// BootclasspathFragmentApexContentInfo contains the bootclasspath_fragments contributions to the
|
// BootclasspathFragmentApexContentInfo contains the bootclasspath_fragments contributions to the
|
||||||
// apex contents.
|
// apex contents.
|
||||||
|
|
|
@ -211,7 +211,7 @@ func (c *ClasspathFragmentBase) androidMkEntries() []android.AndroidMkEntries {
|
||||||
}}
|
}}
|
||||||
}
|
}
|
||||||
|
|
||||||
var ClasspathFragmentProtoContentInfoProvider = blueprint.NewProvider(ClasspathFragmentProtoContentInfo{})
|
var ClasspathFragmentProtoContentInfoProvider = blueprint.NewProvider[ClasspathFragmentProtoContentInfo]()
|
||||||
|
|
||||||
type ClasspathFragmentProtoContentInfo struct {
|
type ClasspathFragmentProtoContentInfo struct {
|
||||||
// Whether the classpaths.proto config is generated for the fragment.
|
// Whether the classpaths.proto config is generated for the fragment.
|
||||||
|
|
|
@ -114,7 +114,7 @@ func TestCodeMetadata(t *testing.T) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
func runCodeMetadataTest(
|
func runCodeMetadataTest(
|
||||||
t *testing.T, errorHandler android.FixtureErrorHandler, bp string,
|
t *testing.T, errorHandler android.FixtureErrorHandler, bp string,
|
||||||
) *android.TestResult {
|
) *android.TestResult {
|
||||||
return android.GroupFixturePreparers(
|
return android.GroupFixturePreparers(
|
||||||
soongTesting.PrepareForTestWithTestingBuildComponents, prepareForJavaTest,
|
soongTesting.PrepareForTestWithTestingBuildComponents, prepareForJavaTest,
|
||||||
|
|
|
@ -600,7 +600,7 @@ func (i *HiddenAPIInfo) FlagSubset() SignatureCsvSubset {
|
||||||
return SignatureCsvSubset{i.FilteredFlagsPath, i.SignaturePatternsPath}
|
return SignatureCsvSubset{i.FilteredFlagsPath, i.SignaturePatternsPath}
|
||||||
}
|
}
|
||||||
|
|
||||||
var HiddenAPIInfoProvider = blueprint.NewProvider(HiddenAPIInfo{})
|
var HiddenAPIInfoProvider = blueprint.NewProvider[HiddenAPIInfo]()
|
||||||
|
|
||||||
// HiddenAPIInfoForSdk contains information provided by the hidden API processing for use
|
// HiddenAPIInfoForSdk contains information provided by the hidden API processing for use
|
||||||
// by the sdk snapshot.
|
// by the sdk snapshot.
|
||||||
|
@ -617,7 +617,7 @@ type HiddenAPIInfoForSdk struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Provides hidden API info for the sdk snapshot.
|
// Provides hidden API info for the sdk snapshot.
|
||||||
var HiddenAPIInfoForSdkProvider = blueprint.NewProvider(HiddenAPIInfoForSdk{})
|
var HiddenAPIInfoForSdkProvider = blueprint.NewProvider[HiddenAPIInfoForSdk]()
|
||||||
|
|
||||||
// ModuleStubDexJars contains the stub dex jars provided by a single module.
|
// ModuleStubDexJars contains the stub dex jars provided by a single module.
|
||||||
//
|
//
|
||||||
|
@ -749,7 +749,7 @@ type HiddenAPIPropertyInfo struct {
|
||||||
SplitPackages []string
|
SplitPackages []string
|
||||||
}
|
}
|
||||||
|
|
||||||
var hiddenAPIPropertyInfoProvider = blueprint.NewProvider(HiddenAPIPropertyInfo{})
|
var hiddenAPIPropertyInfoProvider = blueprint.NewProvider[HiddenAPIPropertyInfo]()
|
||||||
|
|
||||||
// newHiddenAPIPropertyInfo creates a new initialized HiddenAPIPropertyInfo struct.
|
// newHiddenAPIPropertyInfo creates a new initialized HiddenAPIPropertyInfo struct.
|
||||||
func newHiddenAPIPropertyInfo() HiddenAPIPropertyInfo {
|
func newHiddenAPIPropertyInfo() HiddenAPIPropertyInfo {
|
||||||
|
|
|
@ -90,4 +90,4 @@ func (i *MonolithicHiddenAPIInfo) append(other *HiddenAPIInfo) {
|
||||||
i.FlagSubsets = append(i.FlagSubsets, other.FlagSubset())
|
i.FlagSubsets = append(i.FlagSubsets, other.FlagSubset())
|
||||||
}
|
}
|
||||||
|
|
||||||
var MonolithicHiddenAPIInfoProvider = blueprint.NewProvider(MonolithicHiddenAPIInfo{})
|
var MonolithicHiddenAPIInfoProvider = blueprint.NewProvider[MonolithicHiddenAPIInfo]()
|
||||||
|
|
|
@ -239,7 +239,7 @@ type ProguardSpecInfo struct {
|
||||||
UnconditionallyExportedProguardFlags *android.DepSet[android.Path]
|
UnconditionallyExportedProguardFlags *android.DepSet[android.Path]
|
||||||
}
|
}
|
||||||
|
|
||||||
var ProguardSpecInfoProvider = blueprint.NewProvider(ProguardSpecInfo{})
|
var ProguardSpecInfoProvider = blueprint.NewProvider[ProguardSpecInfo]()
|
||||||
|
|
||||||
// JavaInfo contains information about a java module for use by modules that depend on it.
|
// JavaInfo contains information about a java module for use by modules that depend on it.
|
||||||
type JavaInfo struct {
|
type JavaInfo struct {
|
||||||
|
@ -295,7 +295,7 @@ type JavaInfo struct {
|
||||||
JacocoReportClassesFile android.Path
|
JacocoReportClassesFile android.Path
|
||||||
}
|
}
|
||||||
|
|
||||||
var JavaInfoProvider = blueprint.NewProvider(JavaInfo{})
|
var JavaInfoProvider = blueprint.NewProvider[JavaInfo]()
|
||||||
|
|
||||||
// SyspropPublicStubInfo contains info about the sysprop public stub library that corresponds to
|
// SyspropPublicStubInfo contains info about the sysprop public stub library that corresponds to
|
||||||
// the sysprop implementation library.
|
// the sysprop implementation library.
|
||||||
|
@ -305,7 +305,7 @@ type SyspropPublicStubInfo struct {
|
||||||
JavaInfo JavaInfo
|
JavaInfo JavaInfo
|
||||||
}
|
}
|
||||||
|
|
||||||
var SyspropPublicStubInfoProvider = blueprint.NewProvider(SyspropPublicStubInfo{})
|
var SyspropPublicStubInfoProvider = blueprint.NewProvider[SyspropPublicStubInfo]()
|
||||||
|
|
||||||
// Methods that need to be implemented for a module that is added to apex java_libs property.
|
// Methods that need to be implemented for a module that is added to apex java_libs property.
|
||||||
type ApexDependency interface {
|
type ApexDependency interface {
|
||||||
|
@ -1624,7 +1624,7 @@ type JavaApiImportInfo struct {
|
||||||
ApiSurface string
|
ApiSurface string
|
||||||
}
|
}
|
||||||
|
|
||||||
var JavaApiImportProvider = blueprint.NewProvider(JavaApiImportInfo{})
|
var JavaApiImportProvider = blueprint.NewProvider[JavaApiImportInfo]()
|
||||||
|
|
||||||
func (ap *JavaApiContribution) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
func (ap *JavaApiContribution) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
||||||
var apiFile android.Path = nil
|
var apiFile android.Path = nil
|
||||||
|
|
|
@ -122,7 +122,7 @@ func TestTestSpec(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func runTestSpecTest(
|
func runTestSpecTest(
|
||||||
t *testing.T, errorHandler android.FixtureErrorHandler, bp string,
|
t *testing.T, errorHandler android.FixtureErrorHandler, bp string,
|
||||||
) *android.TestResult {
|
) *android.TestResult {
|
||||||
return android.GroupFixturePreparers(
|
return android.GroupFixturePreparers(
|
||||||
soongTesting.PrepareForTestWithTestingBuildComponents,
|
soongTesting.PrepareForTestWithTestingBuildComponents,
|
||||||
|
|
|
@ -64,7 +64,7 @@ type ApiImportInfo struct {
|
||||||
SharedLibs, HeaderLibs, ApexSharedLibs map[string]string
|
SharedLibs, HeaderLibs, ApexSharedLibs map[string]string
|
||||||
}
|
}
|
||||||
|
|
||||||
var ApiImportsProvider = blueprint.NewMutatorProvider(ApiImportInfo{}, "deps")
|
var ApiImportsProvider = blueprint.NewMutatorProvider[ApiImportInfo]("deps")
|
||||||
|
|
||||||
// Store module lists into ApiImportInfo and share it over mutator provider.
|
// Store module lists into ApiImportInfo and share it over mutator provider.
|
||||||
func (imports *ApiImports) DepsMutator(ctx android.BottomUpMutatorContext) {
|
func (imports *ApiImports) DepsMutator(ctx android.BottomUpMutatorContext) {
|
||||||
|
|
|
@ -527,7 +527,7 @@ type FlagExporterInfo struct {
|
||||||
LinkObjects []string // TODO: this should be android.Paths
|
LinkObjects []string // TODO: this should be android.Paths
|
||||||
}
|
}
|
||||||
|
|
||||||
var FlagExporterInfoProvider = blueprint.NewProvider(FlagExporterInfo{})
|
var FlagExporterInfoProvider = blueprint.NewProvider[FlagExporterInfo]()
|
||||||
|
|
||||||
func (mod *Module) isCoverageVariant() bool {
|
func (mod *Module) isCoverageVariant() bool {
|
||||||
return mod.coverage.Properties.IsCoverageVariant
|
return mod.coverage.Properties.IsCoverageVariant
|
||||||
|
|
|
@ -20,6 +20,7 @@ import (
|
||||||
"android/soong/android"
|
"android/soong/android"
|
||||||
"android/soong/testing/code_metadata_internal_proto"
|
"android/soong/testing/code_metadata_internal_proto"
|
||||||
"github.com/google/blueprint"
|
"github.com/google/blueprint"
|
||||||
|
|
||||||
"google.golang.org/protobuf/proto"
|
"google.golang.org/protobuf/proto"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -83,7 +84,7 @@ type CodeMetadataProviderData struct {
|
||||||
IntermediatePath android.WritablePath
|
IntermediatePath android.WritablePath
|
||||||
}
|
}
|
||||||
|
|
||||||
var CodeMetadataProviderKey = blueprint.NewProvider(CodeMetadataProviderData{})
|
var CodeMetadataProviderKey = blueprint.NewProvider[CodeMetadataProviderData]()
|
||||||
|
|
||||||
func (module *CodeMetadataModule) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
func (module *CodeMetadataModule) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
||||||
metadataList := make(
|
metadataList := make(
|
||||||
|
|
|
@ -20,8 +20,9 @@ import (
|
||||||
|
|
||||||
"android/soong/android"
|
"android/soong/android"
|
||||||
"android/soong/testing/test_spec_proto"
|
"android/soong/testing/test_spec_proto"
|
||||||
"github.com/google/blueprint"
|
|
||||||
"google.golang.org/protobuf/proto"
|
"google.golang.org/protobuf/proto"
|
||||||
|
|
||||||
|
"github.com/google/blueprint"
|
||||||
)
|
)
|
||||||
|
|
||||||
// ErrTestModuleDataNotFound is the error message for missing test module provider data.
|
// ErrTestModuleDataNotFound is the error message for missing test module provider data.
|
||||||
|
@ -81,12 +82,12 @@ type TestSpecProviderData struct {
|
||||||
IntermediatePath android.WritablePath
|
IntermediatePath android.WritablePath
|
||||||
}
|
}
|
||||||
|
|
||||||
var TestSpecProviderKey = blueprint.NewProvider(TestSpecProviderData{})
|
var TestSpecProviderKey = blueprint.NewProvider[TestSpecProviderData]()
|
||||||
|
|
||||||
type TestModuleProviderData struct {
|
type TestModuleProviderData struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
var TestModuleProviderKey = blueprint.NewProvider(TestModuleProviderData{})
|
var TestModuleProviderKey = blueprint.NewProvider[TestModuleProviderData]()
|
||||||
|
|
||||||
func (module *TestSpecModule) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
func (module *TestSpecModule) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
||||||
for _, m := range ctx.GetDirectDepsWithTag(testsDepTag) {
|
for _, m := range ctx.GetDirectDepsWithTag(testsDepTag) {
|
||||||
|
|
Loading…
Reference in a new issue