commands: Add "hugo mod verify"

See #6907
This commit is contained in:
Bjørn Erik Pedersen
2020-02-19 10:39:36 +01:00
parent fa520a2d98
commit 0b96aba022
4 changed files with 85 additions and 13 deletions

View File

@@ -16,6 +16,7 @@ package hugofs
import (
"os"
"strings"
"github.com/gohugoio/hugo/config"
"github.com/spf13/afero"
@@ -88,3 +89,27 @@ func getWorkingDirFs(base afero.Fs, cfg config.Provider) *afero.BasePathFs {
func isWrite(flag int) bool {
return flag&os.O_RDWR != 0 || flag&os.O_WRONLY != 0
}
// MakeReadableAndRemoveAllModulePkgDir makes any subdir in dir readable and then
// removes the root.
// TODO(bep) move this to a more suitable place.
//
func MakeReadableAndRemoveAllModulePkgDir(fs afero.Fs, dir string) (int, error) {
// Safe guard
if !strings.Contains(dir, "pkg") {
panic("invalid dir")
}
counter := 0
afero.Walk(fs, dir, func(path string, info os.FileInfo, err error) error {
if err != nil {
return nil
}
if info.IsDir() {
counter++
fs.Chmod(path, 0777)
}
return nil
})
return counter, fs.RemoveAll(dir)
}