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

Commit 51428c45 authored by Colin Cross's avatar Colin Cross Committed by Gerrit Code Review
Browse files

Merge changes I6f116385,Id77f514d,I73479de1,If58f4b53 into main

* changes:
  Convert ModuleProvder to generic providers API
  Convert OtherModuleProvider to generic providers API
  Convert Provider to generic providers API
  Convert SetProvider to generic providers API
parents 8070c4b4 5a37718c
Loading
Loading
Loading
Loading
+11 −14
Original line number Diff line number Diff line
@@ -134,11 +134,7 @@ func (module *DeclarationsModule) GenerateAndroidBuildActions(ctx android.Module
	// Get the values that came from the global RELEASE_ACONFIG_VALUE_SETS flag
	valuesFiles := make([]android.Path, 0)
	ctx.VisitDirectDeps(func(dep android.Module) {
		if !ctx.OtherModuleHasProvider(dep, valueSetProviderKey) {
			// Other modules get injected as dependencies too, for example the license modules
			return
		}
		depData := ctx.OtherModuleProvider(dep, valueSetProviderKey).(valueSetProviderData)
		if depData, ok := android.OtherModuleProvider(ctx, dep, valueSetProviderKey); ok {
			paths, ok := depData.AvailablePackages[module.properties.Package]
			if ok {
				valuesFiles = append(valuesFiles, paths...)
@@ -146,6 +142,7 @@ func (module *DeclarationsModule) GenerateAndroidBuildActions(ctx android.Module
					module.properties.Values = append(module.properties.Values, path.String())
				}
			}
		}
	})

	// Intermediate format
@@ -177,7 +174,7 @@ func (module *DeclarationsModule) GenerateAndroidBuildActions(ctx android.Module
		Description: "aconfig_text",
	})

	ctx.SetProvider(DeclarationsProviderKey, DeclarationsProviderData{
	android.SetProvider(ctx, DeclarationsProviderKey, DeclarationsProviderData{
		Package:                     module.properties.Package,
		Container:                   module.properties.Container,
		IntermediateCacheOutputPath: intermediateCacheFilePath,
@@ -190,11 +187,11 @@ func CollectDependencyAconfigFiles(ctx android.ModuleContext, mergedAconfigFiles
		*mergedAconfigFiles = make(map[string]android.Paths)
	}
	ctx.VisitDirectDeps(func(module android.Module) {
		if dep := ctx.OtherModuleProvider(module, DeclarationsProviderKey).(DeclarationsProviderData); dep.IntermediateCacheOutputPath != nil {
		if dep, _ := android.OtherModuleProvider(ctx, module, DeclarationsProviderKey); dep.IntermediateCacheOutputPath != nil {
			(*mergedAconfigFiles)[dep.Container] = append((*mergedAconfigFiles)[dep.Container], dep.IntermediateCacheOutputPath)
			return
		}
		if dep := ctx.OtherModuleProvider(module, TransitiveDeclarationsInfoProvider).(TransitiveDeclarationsInfo); len(dep.AconfigFiles) > 0 {
		if dep, _ := android.OtherModuleProvider(ctx, module, TransitiveDeclarationsInfoProvider); len(dep.AconfigFiles) > 0 {
			for container, v := range dep.AconfigFiles {
				(*mergedAconfigFiles)[container] = append((*mergedAconfigFiles)[container], v...)
			}
@@ -205,7 +202,7 @@ func CollectDependencyAconfigFiles(ctx android.ModuleContext, mergedAconfigFiles
		(*mergedAconfigFiles)[container] = mergeAconfigFiles(ctx, aconfigFiles)
	}

	ctx.SetProvider(TransitiveDeclarationsInfoProvider, TransitiveDeclarationsInfo{
	android.SetProvider(ctx, TransitiveDeclarationsInfoProvider, TransitiveDeclarationsInfo{
		AconfigFiles: *mergedAconfigFiles,
	})
}
+1 −1
Original line number Diff line number Diff line
@@ -38,7 +38,7 @@ func TestAconfigDeclarations(t *testing.T) {
	module := result.ModuleForTests("module_name", "").Module().(*DeclarationsModule)

	// Check that the provider has the right contents
	depData := result.ModuleProvider(module, DeclarationsProviderKey).(DeclarationsProviderData)
	depData, _ := android.SingletonModuleProvider(result, module, DeclarationsProviderKey)
	android.AssertStringEquals(t, "package", depData.Package, "com.example.package")
	android.AssertStringEquals(t, "container", depData.Container, "com.android.foo")
	if !strings.HasSuffix(depData.IntermediateCacheOutputPath.String(), "/intermediate.pb") {
+5 −9
Original line number Diff line number Diff line
@@ -73,18 +73,14 @@ func (module *ValueSetModule) GenerateAndroidBuildActions(ctx android.ModuleCont
	// to append values to their aconfig actions.
	packages := make(map[string]android.Paths)
	ctx.VisitDirectDeps(func(dep android.Module) {
		if !ctx.OtherModuleHasProvider(dep, valuesProviderKey) {
			// Other modules get injected as dependencies too, for example the license modules
			return
		}
		depData := ctx.OtherModuleProvider(dep, valuesProviderKey).(valuesProviderData)

		if depData, ok := android.OtherModuleProvider(ctx, dep, valuesProviderKey); ok {
			srcs := make([]android.Path, len(depData.Values))
			copy(srcs, depData.Values)
			packages[depData.Package] = srcs
		}

	})
	ctx.SetProvider(valueSetProviderKey, valueSetProviderData{
	android.SetProvider(ctx, valueSetProviderKey, valueSetProviderData{
		AvailablePackages: packages,
	})
}
+1 −1
Original line number Diff line number Diff line
@@ -38,6 +38,6 @@ func TestAconfigValueSet(t *testing.T) {
	module := result.ModuleForTests("module_name", "").Module().(*ValueSetModule)

	// Check that the provider has the right contents
	depData := result.ModuleProvider(module, valueSetProviderKey).(valueSetProviderData)
	depData, _ := android.SingletonModuleProvider(result, module, valueSetProviderKey)
	android.AssertStringEquals(t, "AvailablePackages", "blah.aconfig_values", depData.AvailablePackages["foo.package"][0].String())
}
+1 −1
Original line number Diff line number Diff line
@@ -64,5 +64,5 @@ func (module *ValuesModule) GenerateAndroidBuildActions(ctx android.ModuleContex
		Package: module.properties.Package,
		Values:  android.PathsForModuleSrc(ctx, module.properties.Srcs),
	}
	ctx.SetProvider(valuesProviderKey, providerData)
	android.SetProvider(ctx, valuesProviderKey, providerData)
}
Loading