Remove dependence on project, use cue.mod path.
Ensure that we have done an init in this folder. Also, force a clean checkout of the tag we've chosen to upgrade to. Signed-off-by: Joel Longtine <joel@dagger.io>
This commit is contained in:
parent
39e206e7d2
commit
b33d6b2243
@ -6,6 +6,8 @@ import (
|
|||||||
"go.dagger.io/dagger/cmd/dagger/cmd/common"
|
"go.dagger.io/dagger/cmd/dagger/cmd/common"
|
||||||
"go.dagger.io/dagger/cmd/dagger/logger"
|
"go.dagger.io/dagger/cmd/dagger/logger"
|
||||||
"go.dagger.io/dagger/mod"
|
"go.dagger.io/dagger/mod"
|
||||||
|
"go.dagger.io/dagger/pkg"
|
||||||
|
"go.dagger.io/dagger/state"
|
||||||
"go.dagger.io/dagger/telemetry"
|
"go.dagger.io/dagger/telemetry"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -25,7 +27,15 @@ var getCmd = &cobra.Command{
|
|||||||
lg := logger.New()
|
lg := logger.New()
|
||||||
ctx := lg.WithContext(cmd.Context())
|
ctx := lg.WithContext(cmd.Context())
|
||||||
|
|
||||||
|
var err error
|
||||||
|
|
||||||
project := common.CurrentProject(ctx)
|
project := common.CurrentProject(ctx)
|
||||||
|
cueModPath := pkg.GetCueModParent()
|
||||||
|
// err = pkg.CueModInit(ctx, cueModPath)
|
||||||
|
_, err = state.Init(ctx, cueModPath)
|
||||||
|
if err != nil && err != state.ErrAlreadyInit {
|
||||||
|
lg.Fatal().Err(err).Msg("failed to initialize cue.mod")
|
||||||
|
}
|
||||||
doneCh := common.TrackProjectCommand(ctx, cmd, project, nil, &telemetry.Property{
|
doneCh := common.TrackProjectCommand(ctx, cmd, project, nil, &telemetry.Property{
|
||||||
Name: "packages",
|
Name: "packages",
|
||||||
Value: args,
|
Value: args,
|
||||||
@ -34,16 +44,16 @@ var getCmd = &cobra.Command{
|
|||||||
var update = viper.GetBool("update")
|
var update = viper.GetBool("update")
|
||||||
|
|
||||||
var processedRequires []*mod.Require
|
var processedRequires []*mod.Require
|
||||||
var err error
|
|
||||||
if update && len(args) == 0 {
|
if update && len(args) == 0 {
|
||||||
lg.Info().Msg("updating all installed packages...")
|
lg.Info().Msg("updating all installed packages...")
|
||||||
processedRequires, err = mod.UpdateInstalled(ctx, project.Path)
|
processedRequires, err = mod.UpdateInstalled(ctx, cueModPath)
|
||||||
} else if update && len(args) > 0 {
|
} else if update && len(args) > 0 {
|
||||||
lg.Info().Msg("updating specified packages...")
|
lg.Info().Msg("updating specified packages...")
|
||||||
processedRequires, err = mod.UpdateAll(ctx, project.Path, args)
|
processedRequires, err = mod.UpdateAll(ctx, cueModPath, args)
|
||||||
} else if !update && len(args) > 0 {
|
} else if !update && len(args) > 0 {
|
||||||
lg.Info().Msg("installing specified packages...")
|
lg.Info().Msg("installing specified packages...")
|
||||||
processedRequires, err = mod.InstallAll(ctx, project.Path, args)
|
processedRequires, err = mod.InstallAll(ctx, cueModPath, args)
|
||||||
} else {
|
} else {
|
||||||
lg.Fatal().Msg("unrecognized update/install operation")
|
lg.Fatal().Msg("unrecognized update/install operation")
|
||||||
}
|
}
|
||||||
|
@ -85,6 +85,7 @@ func (r *repo) checkout(ctx context.Context, version string) error {
|
|||||||
|
|
||||||
err = w.Checkout(&git.CheckoutOptions{
|
err = w.Checkout(&git.CheckoutOptions{
|
||||||
Hash: *h,
|
Hash: *h,
|
||||||
|
Force: true,
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
|
@ -39,7 +39,7 @@ var (
|
|||||||
|
|
||||||
func Vendor(ctx context.Context, p string) error {
|
func Vendor(ctx context.Context, p string) error {
|
||||||
if p == "" {
|
if p == "" {
|
||||||
p = getCueModParent()
|
p = GetCueModParent()
|
||||||
}
|
}
|
||||||
|
|
||||||
cuePkgDir := path.Join(p, "cue.mod", "pkg")
|
cuePkgDir := path.Join(p, "cue.mod", "pkg")
|
||||||
@ -141,8 +141,8 @@ func extractModules(dest string) error {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// getCueModParent traverses the directory tree up through ancestors looking for a cue.mod folder
|
// GetCueModParent traverses the directory tree up through ancestors looking for a cue.mod folder
|
||||||
func getCueModParent() string {
|
func GetCueModParent() string {
|
||||||
cwd, _ := os.Getwd()
|
cwd, _ := os.Getwd()
|
||||||
parentDir := cwd
|
parentDir := cwd
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user