From c48558c77dece499040c1931643a76ebceba0503 Mon Sep 17 00:00:00 2001 From: jcd Date: Fri, 19 Dec 2025 03:36:26 +0000 Subject: [PATCH] analyzer: add package_info and module_info output when granularity=intermediate --- analyzer/analyzer.go | 6 +++++- analyzer/analyzer_test.go | 13 ++++++++++++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/analyzer/analyzer.go b/analyzer/analyzer.go index 61eab54..f065d4b 100644 --- a/analyzer/analyzer.go +++ b/analyzer/analyzer.go @@ -871,5 +871,9 @@ func intermediatePackages(pkgs []*packages.Package, queriedPackages map[*types.P } return strings.Compare(a.GetPackageDir(), b.GetPackageDir()) }) - return &cpb.CapabilityInfoList{CapabilityInfo: cis} + return &cpb.CapabilityInfoList{ + CapabilityInfo: cis, + ModuleInfo: collectModuleInfo(pkgs), + PackageInfo: collectPackageInfo(pkgs), + } } diff --git a/analyzer/analyzer_test.go b/analyzer/analyzer_test.go index 978c9ba..bbb9185 100644 --- a/analyzer/analyzer_test.go +++ b/analyzer/analyzer_test.go @@ -616,6 +616,12 @@ func TestIntermediatePackages(t *testing.T) { PackageDir: proto.String("p4"), }, }, + PackageInfo: []*cpb.PackageInfo{ + &cpb.PackageInfo{Path: proto.String("p1")}, + &cpb.PackageInfo{Path: proto.String("p2")}, + &cpb.PackageInfo{Path: proto.String("p3")}, + &cpb.PackageInfo{Path: proto.String("p4")}, + }, }, }, { @@ -632,6 +638,12 @@ func TestIntermediatePackages(t *testing.T) { PackageDir: proto.String("p4"), }, }, + PackageInfo: []*cpb.PackageInfo{ + &cpb.PackageInfo{Path: proto.String("p1")}, + &cpb.PackageInfo{Path: proto.String("p2")}, + &cpb.PackageInfo{Path: proto.String("p3")}, + &cpb.PackageInfo{Path: proto.String("p4")}, + }, }, }, } { @@ -653,7 +665,6 @@ func TestIntermediatePackages(t *testing.T) { } return a.GetPackageDir() < b.GetPackageDir() }), - protocmp.IgnoreFields(&cpb.CapabilityInfoList{}, "package_info"), protocmp.IgnoreFields(&cpb.CapabilityInfo{}, "dep_path"), protocmp.IgnoreFields(&cpb.CapabilityInfo{}, "capability_type"), protocmp.IgnoreFields(&cpb.Function{}, "site"),