mirror of
https://github.com/gohugoio/hugo.git
synced 2025-04-27 06:00:25 +03:00
parent
fa520a2d98
commit
0b96aba022
4 changed files with 85 additions and 13 deletions
|
@ -24,6 +24,9 @@ import (
|
|||
"os"
|
||||
"os/exec"
|
||||
"path/filepath"
|
||||
"regexp"
|
||||
|
||||
"github.com/gohugoio/hugo/hugofs"
|
||||
|
||||
"github.com/gohugoio/hugo/hugofs/files"
|
||||
|
||||
|
@ -308,6 +311,38 @@ func (c *Client) Init(path string) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
var verifyErrorDirRe = regexp.MustCompile(`dir has been modified \((.*?)\)`)
|
||||
|
||||
// Verify checks that the dependencies of the current module,
|
||||
// which are stored in a local downloaded source cache, have not been
|
||||
// modified since being downloaded.
|
||||
func (c *Client) Verify(clean bool) error {
|
||||
// TODO1 add path to mod clean
|
||||
err := c.runVerify()
|
||||
|
||||
if err != nil {
|
||||
if clean {
|
||||
m := verifyErrorDirRe.FindAllStringSubmatch(err.Error(), -1)
|
||||
if m != nil {
|
||||
for i := 0; i < len(m); i++ {
|
||||
c, err := hugofs.MakeReadableAndRemoveAllModulePkgDir(c.fs, m[i][1])
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
fmt.Println("Cleaned", c)
|
||||
}
|
||||
}
|
||||
// Try to verify it again.
|
||||
err = c.runVerify()
|
||||
}
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
func (c *Client) runVerify() error {
|
||||
return c.runGo(context.Background(), ioutil.Discard, "mod", "verify")
|
||||
}
|
||||
|
||||
func isProbablyModule(path string) bool {
|
||||
return module.CheckPath(path) == nil
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue