Skip to content

Commit

Permalink
feat: supports mvs for update command
Browse files Browse the repository at this point in the history
Signed-off-by: zongz <[email protected]>
  • Loading branch information
zong-zhe committed Sep 6, 2024
1 parent d873e47 commit add6bc2
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 61 deletions.
17 changes: 4 additions & 13 deletions pkg/client/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -473,20 +473,11 @@ func (c *KpmClient) UpdateDeps(kclPkg *pkg.KclPkg) error {
return err
}

// update kcl.mod
err = kclPkg.ModFile.StoreModFile()
if err != nil {
return err
}
_, err = c.Update(
WithUpdatedKclPkg(kclPkg),
)

// Generate file kcl.mod.lock.
if !kclPkg.NoSumCheck {
err := kclPkg.LockDepsVersion()
if err != nil {
return err
}
}
return nil
return err
}

// ResolveDepsMetadataInJsonStr will calculate the local storage path of the external package,
Expand Down
48 changes: 0 additions & 48 deletions pkg/cmd/cmd_update.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,6 @@ import (
"slices"
"strings"

"github.com/dominikbraun/graph"
"github.com/elliotchance/orderedmap/v2"
"github.com/urfave/cli/v2"
"golang.org/x/mod/module"
"kcl-lang.io/kpm/pkg/client"
Expand Down Expand Up @@ -58,8 +56,6 @@ func KpmUpdate(c *cli.Context, kpmcli *client.KpmClient) error {
}
}()

pkgInfos := c.Args().Slice()

pwd, err := os.Getwd()
if err != nil {
return reporter.NewErrorEvent(reporter.Bug, err, "internal bugs, please contact us to fix it.")
Expand All @@ -80,50 +76,6 @@ func KpmUpdate(c *cli.Context, kpmcli *client.KpmClient) error {
return err
}

var (
modulesToUpgrade []module.Version
modulesToDowngrade []module.Version
)

for _, pkgInfo := range pkgInfos {
err = GetModulesToUpdate(kclPkg, modulesToUpgrade, modulesToDowngrade, pkgInfo)
if err != nil {
reporter.Report(err)
}
}

_, depGraph, err := kpmcli.InitGraphAndDownloadDeps(kclPkg)
if err != nil {
return err
}

reqs := mvs.ReqsGraph{
Graph: depGraph,
KpmClient: kpmcli,
KpmPkg: kclPkg,
}

target := module.Version{Path: kclPkg.GetPkgName(), Version: kclPkg.GetPkgVersion()}
buildList, err := mvs.UpdateBuildList(target, modulesToUpgrade, modulesToDowngrade, &reqs)
if err != nil {
return reporter.NewErrorEvent(reporter.FailedUpdatingBuildList, err, "failed to update build list")
}

// get all the vertices in the graph
modules, err := graph.TopologicalSort(depGraph)
if err != nil {
return reporter.NewErrorEvent(reporter.FailedTopologicalSort, err, "failed to sort the dependencies")
}

kclPkg.ModFile.Dependencies.Deps = orderedmap.NewOrderedMap[string, pkg.Dependency]()

for _, module := range modules {
err = InsertModuleToDeps(kclPkg, module, target, buildList, reqs)
if err != nil {
return err
}
}

err = kpmcli.UpdateDeps(kclPkg)
if err != nil {
return err
Expand Down

0 comments on commit add6bc2

Please sign in to comment.