commit
2d371ca32b
12
mod/mod.go
12
mod/mod.go
@ -41,6 +41,8 @@ func Install(ctx context.Context, workspace, repoName, versionConstraint string)
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
defer fileLock.Unlock()
|
||||||
|
|
||||||
err = modfile.install(ctx, require)
|
err = modfile.install(ctx, require)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
@ -50,10 +52,6 @@ func Install(ctx context.Context, workspace, repoName, versionConstraint string)
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := fileLock.Unlock(); err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return require, nil
|
return require, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -98,6 +96,8 @@ func Update(ctx context.Context, workspace, repoName, versionConstraint string)
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
defer fileLock.Unlock()
|
||||||
|
|
||||||
updatedRequire, err := modfile.updateToLatest(ctx, require)
|
updatedRequire, err := modfile.updateToLatest(ctx, require)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
@ -107,10 +107,6 @@ func Update(ctx context.Context, workspace, repoName, versionConstraint string)
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := fileLock.Unlock(); err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return updatedRequire, nil
|
return updatedRequire, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -8,6 +8,8 @@ import (
|
|||||||
"os"
|
"os"
|
||||||
"path"
|
"path"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
|
|
||||||
|
"github.com/gofrs/flock"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
@ -15,11 +17,19 @@ var (
|
|||||||
//go:embed **/*.cue **/*/*.cue
|
//go:embed **/*.cue **/*/*.cue
|
||||||
FS embed.FS
|
FS embed.FS
|
||||||
|
|
||||||
PackageName = "alpha.dagger.io"
|
PackageName = "alpha.dagger.io"
|
||||||
Path = path.Join("cue.mod", "pkg", PackageName)
|
Path = path.Join("cue.mod", "pkg", PackageName)
|
||||||
|
lockFilePath = path.Join("cue.mod", "dagger.lock")
|
||||||
)
|
)
|
||||||
|
|
||||||
func Vendor(ctx context.Context, mod string) error {
|
func Vendor(ctx context.Context, mod string) error {
|
||||||
|
fileLock := flock.New(path.Join(mod, lockFilePath))
|
||||||
|
if err := fileLock.Lock(); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
defer fileLock.Unlock()
|
||||||
|
|
||||||
// Remove any existing copy of the universe
|
// Remove any existing copy of the universe
|
||||||
if err := os.RemoveAll(path.Join(mod, Path)); err != nil {
|
if err := os.RemoveAll(path.Join(mod, Path)); err != nil {
|
||||||
return err
|
return err
|
||||||
|
Reference in New Issue
Block a user