github.com/c3pm-labs/c3pm@v0.3.0/cmd/add.go (about)

     1  package cmd
     2  
     3  import (
     4  	"fmt"
     5  	"github.com/c3pm-labs/c3pm/config"
     6  	"github.com/c3pm-labs/c3pm/ctpm"
     7  	"github.com/spf13/cobra"
     8  )
     9  
    10  var addCmdFlags = ctpm.AddOptions{}
    11  
    12  var addCmd = &cobra.Command{
    13  	Use:   "add [dependencies...]",
    14  	Short: "Add one or more new dependency",
    15  	Args:  cobra.MinimumNArgs(1),
    16  	RunE: func(cmd *cobra.Command, args []string) error {
    17  		pc, err := config.Load(".")
    18  		if err != nil {
    19  			return fmt.Errorf("failed to read c3pm.yml: %w", err)
    20  		}
    21  		addCmdFlags.Dependencies = args
    22  		err = ctpm.Add(pc, addCmdFlags)
    23  		if err != nil {
    24  			return fmt.Errorf("failed to add dependencies: %w", err)
    25  		}
    26  		return nil
    27  	},
    28  }
    29  
    30  func init() {
    31  	addCmd.Flags().BoolVarP(&addCmdFlags.Force, "force", "f", false, "Ignore cache.")
    32  	addCmd.Flags().StringVarP(&addCmdFlags.RegistryURL, "registry-url", "r", "", "Select specific registry to use.")
    33  }