Loading bp2build/build_conversion.go +3 −2 Original line number Diff line number Diff line Loading @@ -242,6 +242,7 @@ func GenerateBazelTargets(ctx *CodegenContext, generateFilegroups bool) (convers // Simple metrics tracking for bp2build metrics := CodegenMetrics{ ruleClassCount: make(map[string]uint64), convertedModulePathMap: make(map[string]string), convertedModuleTypeCount: make(map[string]uint64), totalModuleTypeCount: make(map[string]uint64), } Loading Loading @@ -272,12 +273,12 @@ func GenerateBazelTargets(ctx *CodegenContext, generateFilegroups bool) (convers // target in a BUILD file, we don't autoconvert them. // Log the module. metrics.AddConvertedModule(m, moduleType, Handcrafted) metrics.AddConvertedModule(m, moduleType, dir, Handcrafted) } else if aModule, ok := m.(android.Module); ok && aModule.IsConvertedByBp2build() { // Handle modules converted to generated targets. // Log the module. metrics.AddConvertedModule(aModule, moduleType, Generated) metrics.AddConvertedModule(aModule, moduleType, dir, Generated) // Handle modules with unconverted deps. By default, emit a warning. if unconvertedDeps := aModule.GetUnconvertedBp2buildDeps(); len(unconvertedDeps) > 0 { Loading bp2build/conversion.go +6 −0 Original line number Diff line number Diff line Loading @@ -34,6 +34,12 @@ func CreateSoongInjectionFiles(cfg android.Config, metrics CodegenMetrics) []Baz files = append(files, newFile("metrics", "converted_modules.txt", strings.Join(metrics.convertedModules, "\n"))) convertedModulePathMap, err := json.MarshalIndent(metrics.convertedModulePathMap, "", "\t") if err != nil { panic(err) } files = append(files, newFile("metrics", "converted_modules_path_map.json", string(convertedModulePathMap))) files = append(files, newFile("product_config", "soong_config_variables.bzl", cfg.Bp2buildSoongConfigDefinitions.String())) files = append(files, newFile("product_config", "arch_configuration.bzl", android.StarlarkArchConfigurations())) Loading bp2build/conversion_test.go +4 −0 Original line number Diff line number Diff line Loading @@ -115,6 +115,10 @@ func TestCreateBazelFiles_Bp2Build_CreatesDefaultFiles(t *testing.T) { dir: "metrics", basename: "converted_modules.txt", }, { dir: "metrics", basename: "converted_modules_path_map.json", }, { dir: "product_config", basename: "soong_config_variables.bzl", Loading bp2build/metrics.go +6 −1 Original line number Diff line number Diff line Loading @@ -9,6 +9,7 @@ import ( "android/soong/android" "android/soong/shared" "android/soong/ui/metrics/bp2build_metrics_proto" "github.com/google/blueprint" ) Loading Loading @@ -38,6 +39,9 @@ type CodegenMetrics struct { // List of converted modules convertedModules []string // Map of converted modules and paths to call convertedModulePathMap map[string]string // Counts of converted modules by module type. convertedModuleTypeCount map[string]uint64 Loading Loading @@ -147,10 +151,11 @@ const ( Handcrafted ) func (metrics *CodegenMetrics) AddConvertedModule(m blueprint.Module, moduleType string, conversionType ConversionType) { func (metrics *CodegenMetrics) AddConvertedModule(m blueprint.Module, moduleType string, dir string, conversionType ConversionType) { // Undo prebuilt_ module name prefix modifications moduleName := android.RemoveOptionalPrebuiltPrefix(m.Name()) metrics.convertedModules = append(metrics.convertedModules, moduleName) metrics.convertedModulePathMap[moduleName] = "//" + dir metrics.convertedModuleTypeCount[moduleType] += 1 metrics.totalModuleTypeCount[moduleType] += 1 Loading Loading
bp2build/build_conversion.go +3 −2 Original line number Diff line number Diff line Loading @@ -242,6 +242,7 @@ func GenerateBazelTargets(ctx *CodegenContext, generateFilegroups bool) (convers // Simple metrics tracking for bp2build metrics := CodegenMetrics{ ruleClassCount: make(map[string]uint64), convertedModulePathMap: make(map[string]string), convertedModuleTypeCount: make(map[string]uint64), totalModuleTypeCount: make(map[string]uint64), } Loading Loading @@ -272,12 +273,12 @@ func GenerateBazelTargets(ctx *CodegenContext, generateFilegroups bool) (convers // target in a BUILD file, we don't autoconvert them. // Log the module. metrics.AddConvertedModule(m, moduleType, Handcrafted) metrics.AddConvertedModule(m, moduleType, dir, Handcrafted) } else if aModule, ok := m.(android.Module); ok && aModule.IsConvertedByBp2build() { // Handle modules converted to generated targets. // Log the module. metrics.AddConvertedModule(aModule, moduleType, Generated) metrics.AddConvertedModule(aModule, moduleType, dir, Generated) // Handle modules with unconverted deps. By default, emit a warning. if unconvertedDeps := aModule.GetUnconvertedBp2buildDeps(); len(unconvertedDeps) > 0 { Loading
bp2build/conversion.go +6 −0 Original line number Diff line number Diff line Loading @@ -34,6 +34,12 @@ func CreateSoongInjectionFiles(cfg android.Config, metrics CodegenMetrics) []Baz files = append(files, newFile("metrics", "converted_modules.txt", strings.Join(metrics.convertedModules, "\n"))) convertedModulePathMap, err := json.MarshalIndent(metrics.convertedModulePathMap, "", "\t") if err != nil { panic(err) } files = append(files, newFile("metrics", "converted_modules_path_map.json", string(convertedModulePathMap))) files = append(files, newFile("product_config", "soong_config_variables.bzl", cfg.Bp2buildSoongConfigDefinitions.String())) files = append(files, newFile("product_config", "arch_configuration.bzl", android.StarlarkArchConfigurations())) Loading
bp2build/conversion_test.go +4 −0 Original line number Diff line number Diff line Loading @@ -115,6 +115,10 @@ func TestCreateBazelFiles_Bp2Build_CreatesDefaultFiles(t *testing.T) { dir: "metrics", basename: "converted_modules.txt", }, { dir: "metrics", basename: "converted_modules_path_map.json", }, { dir: "product_config", basename: "soong_config_variables.bzl", Loading
bp2build/metrics.go +6 −1 Original line number Diff line number Diff line Loading @@ -9,6 +9,7 @@ import ( "android/soong/android" "android/soong/shared" "android/soong/ui/metrics/bp2build_metrics_proto" "github.com/google/blueprint" ) Loading Loading @@ -38,6 +39,9 @@ type CodegenMetrics struct { // List of converted modules convertedModules []string // Map of converted modules and paths to call convertedModulePathMap map[string]string // Counts of converted modules by module type. convertedModuleTypeCount map[string]uint64 Loading Loading @@ -147,10 +151,11 @@ const ( Handcrafted ) func (metrics *CodegenMetrics) AddConvertedModule(m blueprint.Module, moduleType string, conversionType ConversionType) { func (metrics *CodegenMetrics) AddConvertedModule(m blueprint.Module, moduleType string, dir string, conversionType ConversionType) { // Undo prebuilt_ module name prefix modifications moduleName := android.RemoveOptionalPrebuiltPrefix(m.Name()) metrics.convertedModules = append(metrics.convertedModules, moduleName) metrics.convertedModulePathMap[moduleName] = "//" + dir metrics.convertedModuleTypeCount[moduleType] += 1 metrics.totalModuleTypeCount[moduleType] += 1 Loading