Skip to content
This repository was archived by the owner on Sep 9, 2020. It is now read-only.

Commit 0951d5d

Browse files
committed
gps: Don't drop visible packages with errors
1 parent 09ee5b7 commit 0951d5d

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

internal/gps/pkgtree/pkgtree.go

+10-1
Original file line numberDiff line numberDiff line change
@@ -659,9 +659,10 @@ func (t PackageTree) Copy() PackageTree {
659659
// a set of tree-external imports; calling ToReachMap and FlattenFn will achieve
660660
// the same effect.
661661
func (t PackageTree) TrimHiddenPackages(main, tests, keepIgnored bool, ignore *IgnoredRuleset) PackageTree {
662-
rm, _ := t.ToReachMap(main, tests, false, ignore)
662+
rm, pie := t.ToReachMap(main, tests, false, ignore)
663663
t2 := t.Copy()
664664
preserve := make(map[string]bool)
665+
665666
for pkg, ie := range rm {
666667
if pkgFilter(pkg) && (keepIgnored || !ignore.IsIgnored(pkg)) {
667668
preserve[pkg] = true
@@ -671,6 +672,14 @@ func (t PackageTree) TrimHiddenPackages(main, tests, keepIgnored bool, ignore *I
671672
}
672673
}
673674

675+
// Also process the problem map, as packages in the visible set with errors
676+
// need to be included in the return values.
677+
for pkg := range pie {
678+
if pkgFilter(pkg) && (keepIgnored || !ignore.IsIgnored(pkg)) {
679+
preserve[pkg] = true
680+
}
681+
}
682+
674683
for ip := range t.Packages {
675684
if !preserve[ip] {
676685
delete(t2.Packages, ip)

0 commit comments

Comments
 (0)