github.com/jfrog/jfrog-cli-core/v2@v2.51.0/artifactory/commands/dotnet/nuget.go (about) 1 package dotnet 2 3 import ( 4 "github.com/jfrog/build-info-go/build/utils/dotnet" 5 "github.com/jfrog/build-info-go/build/utils/dotnet/solution" 6 clientutils "github.com/jfrog/jfrog-client-go/utils" 7 "github.com/jfrog/jfrog-client-go/utils/errorutils" 8 "github.com/jfrog/jfrog-client-go/utils/log" 9 "os" 10 ) 11 12 type NugetCommand struct { 13 *DotnetCommand 14 } 15 16 func NewNugetCommand() *NugetCommand { 17 nugetCmd := NugetCommand{&DotnetCommand{}} 18 nugetCmd.SetToolchainType(dotnet.Nuget) 19 return &nugetCmd 20 } 21 22 func (nc *NugetCommand) Run() error { 23 return nc.Exec() 24 } 25 26 func DependencyTreeCmd() error { 27 workspace, err := os.Getwd() 28 if err != nil { 29 return errorutils.CheckError(err) 30 } 31 32 sol, err := solution.Load(workspace, "", "", log.Logger) 33 if err != nil { 34 return err 35 } 36 37 // Create the tree for each project 38 for _, project := range sol.GetProjects() { 39 err = project.CreateDependencyTree(log.Logger) 40 if err != nil { 41 return err 42 } 43 } 44 // Build the tree. 45 content, err := sol.Marshal() 46 if err != nil { 47 return errorutils.CheckError(err) 48 } 49 log.Output(clientutils.IndentJson(content)) 50 return nil 51 }