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  }