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

Commit

Permalink
one more
Browse files Browse the repository at this point in the history
Signed-off-by: Ibrahim AshShohail <ibra.sho@gmail.com>
  • Loading branch information
ibrasho committed Aug 7, 2017
1 parent 8356d81 commit 6c30103
Showing 1 changed file with 19 additions and 11 deletions.
30 changes: 19 additions & 11 deletions internal/gps/prune.go
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,10 @@ func Prune(baseDir string, l Lock, options PruneOptions, logger *log.Logger) err
}
}

if err := pruneEmptyDirs(baseDir, logger); err != nil {
return errors.Wrap(err, "could not prune empty dirs")
}

if (options & PruneUnusedPackages) != 0 {
if l == nil {
return errors.New("pruning unused packages requires passing non-nil Lock")
Expand All @@ -54,17 +58,17 @@ func Prune(baseDir string, l Lock, options PruneOptions, logger *log.Logger) err
}
}

// if (options & PruneNonGoFiles) != 0 {
// if err := pruneNonGoFiles(baseDir, logger); err != nil {
// return err
// }
// }
if (options & PruneNonGoFiles) != 0 {
if err := pruneNonGoFiles(baseDir, logger); err != nil {
return err
}
}

// if (options & PruneGoTestFiles) != 0 {
// if err := pruneGoTestFiles(baseDir, logger); err != nil {
// return err
// }
// }
if (options & PruneGoTestFiles) != 0 {
if err := pruneGoTestFiles(baseDir, logger); err != nil {
return err
}
}

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

files, err := ioutil.ReadDir(pkgPath)
if err != nil {
return err
// TODO(ibrasho) Handle this error properly.
// It happens when attempting to ioutil.ReadDir a submodule.
continue
}

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

0 comments on commit 6c30103

Please sign in to comment.