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

Commit d762e3c

Browse files
committed
one more
Signed-off-by: Ibrahim AshShohail <ibra.sho@gmail.com>
1 parent 54ccce4 commit d762e3c

File tree

1 file changed

+19
-11
lines changed

1 file changed

+19
-11
lines changed

internal/gps/prune.go

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,10 @@ func Prune(baseDir string, l Lock, options PruneOptions, logger *log.Logger) err
4545
}
4646
}
4747

48+
if err := pruneEmptyDirs(baseDir, logger); err != nil {
49+
return errors.Wrap(err, "could not prune empty dirs")
50+
}
51+
4852
if (options & PruneUnusedPackages) != 0 {
4953
if l == nil {
5054
return errors.New("pruning unused packages requires passing non-nil Lock")
@@ -54,17 +58,17 @@ func Prune(baseDir string, l Lock, options PruneOptions, logger *log.Logger) err
5458
}
5559
}
5660

57-
// if (options & PruneNonGoFiles) != 0 {
58-
// if err := pruneNonGoFiles(baseDir, logger); err != nil {
59-
// return err
60-
// }
61-
// }
61+
if (options & PruneNonGoFiles) != 0 {
62+
if err := pruneNonGoFiles(baseDir, logger); err != nil {
63+
return err
64+
}
65+
}
6266

63-
// if (options & PruneGoTestFiles) != 0 {
64-
// if err := pruneGoTestFiles(baseDir, logger); err != nil {
65-
// return err
66-
// }
67-
// }
67+
if (options & PruneGoTestFiles) != 0 {
68+
if err := pruneGoTestFiles(baseDir, logger); err != nil {
69+
return err
70+
}
71+
}
6872

6973
// Delete all empty directories.
7074
return errors.Wrap(pruneEmptyDirs(baseDir, logger), "could not prune empty dirs")
@@ -85,7 +89,9 @@ func pruneUnusedPackages(baseDir string, l Lock, logger *log.Logger) error {
8589

8690
files, err := ioutil.ReadDir(pkgPath)
8791
if err != nil {
88-
return err
92+
// TODO(ibrasho) Handle this error properly.
93+
// It happens when attempting to ioutil.ReadDir a submodule.
94+
continue
8995
}
9096

9197
// Delete *.go files in the package directory.
@@ -267,6 +273,8 @@ func pruneEmptyDirs(baseDir string, logger *log.Logger) error {
267273
if logger != nil {
268274
logger.Printf(" %s\n", strings.TrimPrefix(dir, baseDir+string(os.PathSeparator)))
269275
}
276+
}
277+
for _, dir := range empty {
270278
if err := os.Remove(dir); err != nil {
271279
return err
272280
}

0 commit comments

Comments
 (0)