Loading aconfig/aconfig_declarations.go +21 −10 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import ( "android/soong/android" "android/soong/bazel" "github.com/google/blueprint" ) Loading Loading @@ -118,7 +119,8 @@ func optionalVariable(prefix string, value string) string { type DeclarationsProviderData struct { Package string Container string IntermediatePath android.WritablePath IntermediateCacheOutputPath android.WritablePath IntermediateDumpOutputPath android.WritablePath } var DeclarationsProviderKey = blueprint.NewProvider(DeclarationsProviderData{}) Loading Loading @@ -151,14 +153,14 @@ func (module *DeclarationsModule) GenerateAndroidBuildActions(ctx android.Module // Intermediate format declarationFiles := android.PathsForModuleSrc(ctx, module.properties.Srcs) intermediatePath := android.PathForModuleOut(ctx, "intermediate.pb") intermediateCacheFilePath := android.PathForModuleOut(ctx, "intermediate.pb") defaultPermission := ctx.Config().ReleaseAconfigFlagDefaultPermission() inputFiles := make([]android.Path, len(declarationFiles)) copy(inputFiles, declarationFiles) inputFiles = append(inputFiles, valuesFiles...) ctx.Build(pctx, android.BuildParams{ Rule: aconfigRule, Output: intermediatePath, Output: intermediateCacheFilePath, Inputs: inputFiles, Description: "aconfig_declarations", Args: map[string]string{ Loading @@ -170,10 +172,19 @@ func (module *DeclarationsModule) GenerateAndroidBuildActions(ctx android.Module }, }) intermediateDumpFilePath := android.PathForModuleOut(ctx, "intermediate.txt") ctx.Build(pctx, android.BuildParams{ Rule: aconfigTextRule, Output: intermediateDumpFilePath, Inputs: android.Paths{intermediateCacheFilePath}, Description: "aconfig_text", }) ctx.SetProvider(DeclarationsProviderKey, DeclarationsProviderData{ Package: module.properties.Package, Container: module.properties.Container, IntermediatePath: intermediatePath, IntermediateCacheOutputPath: intermediateCacheFilePath, IntermediateDumpOutputPath: intermediateDumpFilePath, }) } Loading @@ -182,8 +193,8 @@ 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.IntermediatePath != nil { (*mergedAconfigFiles)[dep.Container] = append((*mergedAconfigFiles)[dep.Container], dep.IntermediatePath) if dep := ctx.OtherModuleProvider(module, DeclarationsProviderKey).(DeclarationsProviderData); dep.IntermediateCacheOutputPath != nil { (*mergedAconfigFiles)[dep.Container] = append((*mergedAconfigFiles)[dep.Container], dep.IntermediateCacheOutputPath) return } if dep := ctx.OtherModuleProvider(module, TransitiveDeclarationsInfoProvider).(TransitiveDeclarationsInfo); len(dep.AconfigFiles) > 0 { Loading aconfig/aconfig_declarations_test.go +5 −2 Original line number Diff line number Diff line Loading @@ -41,7 +41,10 @@ func TestAconfigDeclarations(t *testing.T) { depData := result.ModuleProvider(module, DeclarationsProviderKey).(DeclarationsProviderData) android.AssertStringEquals(t, "package", depData.Package, "com.example.package") android.AssertStringEquals(t, "container", depData.Container, "com.android.foo") if !strings.HasSuffix(depData.IntermediatePath.String(), "/intermediate.pb") { t.Errorf("Missing intermediates path in provider: %s", depData.IntermediatePath.String()) if !strings.HasSuffix(depData.IntermediateCacheOutputPath.String(), "/intermediate.pb") { t.Errorf("Missing intermediates proto path in provider: %s", depData.IntermediateCacheOutputPath.String()) } if !strings.HasSuffix(depData.IntermediateDumpOutputPath.String(), "/intermediate.txt") { t.Errorf("Missing intermediates text path in provider: %s", depData.IntermediateDumpOutputPath.String()) } } aconfig/all_aconfig_declarations.go +1 −1 Original line number Diff line number Diff line Loading @@ -41,7 +41,7 @@ func (this *allAconfigDeclarationsSingleton) GenerateBuildActions(ctx android.Si return } decl := ctx.ModuleProvider(module, DeclarationsProviderKey).(DeclarationsProviderData) cacheFiles = append(cacheFiles, decl.IntermediatePath) cacheFiles = append(cacheFiles, decl.IntermediateCacheOutputPath) }) // Generate build action for aconfig Loading aconfig/codegen/cc_aconfig_library.go +1 −1 Original line number Diff line number Diff line Loading @@ -132,7 +132,7 @@ func (this *CcAconfigLibraryCallbacks) GeneratorBuildActions(ctx cc.ModuleContex ctx.Build(pctx, android.BuildParams{ Rule: cppRule, Input: declarations.IntermediatePath, Input: declarations.IntermediateCacheOutputPath, Outputs: []android.WritablePath{ this.generatedCpp, this.generatedH, Loading aconfig/codegen/java_aconfig_library.go +2 −1 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ import ( "android/soong/android" "android/soong/bazel" "android/soong/java" "github.com/google/blueprint" "github.com/google/blueprint/proptools" ) Loading Loading @@ -86,7 +87,7 @@ func (callbacks *JavaAconfigDeclarationsLibraryCallbacks) GenerateSourceJarBuild ctx.Build(pctx, android.BuildParams{ Rule: javaRule, Input: declarations.IntermediatePath, Input: declarations.IntermediateCacheOutputPath, Output: srcJarPath, Description: "aconfig.srcjar", Args: map[string]string{ Loading Loading
aconfig/aconfig_declarations.go +21 −10 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import ( "android/soong/android" "android/soong/bazel" "github.com/google/blueprint" ) Loading Loading @@ -118,7 +119,8 @@ func optionalVariable(prefix string, value string) string { type DeclarationsProviderData struct { Package string Container string IntermediatePath android.WritablePath IntermediateCacheOutputPath android.WritablePath IntermediateDumpOutputPath android.WritablePath } var DeclarationsProviderKey = blueprint.NewProvider(DeclarationsProviderData{}) Loading Loading @@ -151,14 +153,14 @@ func (module *DeclarationsModule) GenerateAndroidBuildActions(ctx android.Module // Intermediate format declarationFiles := android.PathsForModuleSrc(ctx, module.properties.Srcs) intermediatePath := android.PathForModuleOut(ctx, "intermediate.pb") intermediateCacheFilePath := android.PathForModuleOut(ctx, "intermediate.pb") defaultPermission := ctx.Config().ReleaseAconfigFlagDefaultPermission() inputFiles := make([]android.Path, len(declarationFiles)) copy(inputFiles, declarationFiles) inputFiles = append(inputFiles, valuesFiles...) ctx.Build(pctx, android.BuildParams{ Rule: aconfigRule, Output: intermediatePath, Output: intermediateCacheFilePath, Inputs: inputFiles, Description: "aconfig_declarations", Args: map[string]string{ Loading @@ -170,10 +172,19 @@ func (module *DeclarationsModule) GenerateAndroidBuildActions(ctx android.Module }, }) intermediateDumpFilePath := android.PathForModuleOut(ctx, "intermediate.txt") ctx.Build(pctx, android.BuildParams{ Rule: aconfigTextRule, Output: intermediateDumpFilePath, Inputs: android.Paths{intermediateCacheFilePath}, Description: "aconfig_text", }) ctx.SetProvider(DeclarationsProviderKey, DeclarationsProviderData{ Package: module.properties.Package, Container: module.properties.Container, IntermediatePath: intermediatePath, IntermediateCacheOutputPath: intermediateCacheFilePath, IntermediateDumpOutputPath: intermediateDumpFilePath, }) } Loading @@ -182,8 +193,8 @@ 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.IntermediatePath != nil { (*mergedAconfigFiles)[dep.Container] = append((*mergedAconfigFiles)[dep.Container], dep.IntermediatePath) if dep := ctx.OtherModuleProvider(module, DeclarationsProviderKey).(DeclarationsProviderData); dep.IntermediateCacheOutputPath != nil { (*mergedAconfigFiles)[dep.Container] = append((*mergedAconfigFiles)[dep.Container], dep.IntermediateCacheOutputPath) return } if dep := ctx.OtherModuleProvider(module, TransitiveDeclarationsInfoProvider).(TransitiveDeclarationsInfo); len(dep.AconfigFiles) > 0 { Loading
aconfig/aconfig_declarations_test.go +5 −2 Original line number Diff line number Diff line Loading @@ -41,7 +41,10 @@ func TestAconfigDeclarations(t *testing.T) { depData := result.ModuleProvider(module, DeclarationsProviderKey).(DeclarationsProviderData) android.AssertStringEquals(t, "package", depData.Package, "com.example.package") android.AssertStringEquals(t, "container", depData.Container, "com.android.foo") if !strings.HasSuffix(depData.IntermediatePath.String(), "/intermediate.pb") { t.Errorf("Missing intermediates path in provider: %s", depData.IntermediatePath.String()) if !strings.HasSuffix(depData.IntermediateCacheOutputPath.String(), "/intermediate.pb") { t.Errorf("Missing intermediates proto path in provider: %s", depData.IntermediateCacheOutputPath.String()) } if !strings.HasSuffix(depData.IntermediateDumpOutputPath.String(), "/intermediate.txt") { t.Errorf("Missing intermediates text path in provider: %s", depData.IntermediateDumpOutputPath.String()) } }
aconfig/all_aconfig_declarations.go +1 −1 Original line number Diff line number Diff line Loading @@ -41,7 +41,7 @@ func (this *allAconfigDeclarationsSingleton) GenerateBuildActions(ctx android.Si return } decl := ctx.ModuleProvider(module, DeclarationsProviderKey).(DeclarationsProviderData) cacheFiles = append(cacheFiles, decl.IntermediatePath) cacheFiles = append(cacheFiles, decl.IntermediateCacheOutputPath) }) // Generate build action for aconfig Loading
aconfig/codegen/cc_aconfig_library.go +1 −1 Original line number Diff line number Diff line Loading @@ -132,7 +132,7 @@ func (this *CcAconfigLibraryCallbacks) GeneratorBuildActions(ctx cc.ModuleContex ctx.Build(pctx, android.BuildParams{ Rule: cppRule, Input: declarations.IntermediatePath, Input: declarations.IntermediateCacheOutputPath, Outputs: []android.WritablePath{ this.generatedCpp, this.generatedH, Loading
aconfig/codegen/java_aconfig_library.go +2 −1 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ import ( "android/soong/android" "android/soong/bazel" "android/soong/java" "github.com/google/blueprint" "github.com/google/blueprint/proptools" ) Loading Loading @@ -86,7 +87,7 @@ func (callbacks *JavaAconfigDeclarationsLibraryCallbacks) GenerateSourceJarBuild ctx.Build(pctx, android.BuildParams{ Rule: javaRule, Input: declarations.IntermediatePath, Input: declarations.IntermediateCacheOutputPath, Output: srcJarPath, Description: "aconfig.srcjar", Args: map[string]string{ Loading