github.com/osievert/jfrog-cli-core@v1.2.7/artifactory/commands/dotnet/nuget.go (about)

     1  package dotnet
     2  
     3  import (
     4  	"github.com/jfrog/jfrog-cli-core/artifactory/utils/dotnet"
     5  	"github.com/jfrog/jfrog-cli-core/artifactory/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  	nc.useNugetAddSource = true
    24  	return nc.Exec()
    25  }
    26  
    27  func DependencyTreeCmd() error {
    28  	workspace, err := os.Getwd()
    29  	if err != nil {
    30  		return errorutils.CheckError(err)
    31  	}
    32  
    33  	sol, err := solution.Load(workspace, "")
    34  	if err != nil {
    35  		return err
    36  	}
    37  
    38  	// Create the tree for each project
    39  	for _, project := range sol.GetProjects() {
    40  		err = project.CreateDependencyTree()
    41  		if err != nil {
    42  			return err
    43  		}
    44  	}
    45  	// Build the tree.
    46  	content, err := sol.Marshal()
    47  	if err != nil {
    48  		return errorutils.CheckError(err)
    49  	}
    50  	log.Output(clientutils.IndentJson(content))
    51  	return nil
    52  }