github.com/buildpacks/pack@v0.33.3-0.20240516162812-884dd1837311/internal/commands/extension.go (about)

     1  package commands
     2  
     3  import (
     4  	"github.com/spf13/cobra"
     5  
     6  	"github.com/buildpacks/pack/internal/config"
     7  	"github.com/buildpacks/pack/pkg/logging"
     8  )
     9  
    10  func NewExtensionCommand(logger logging.Logger, cfg config.Config, client PackClient, packageConfigReader PackageConfigReader) *cobra.Command {
    11  	cmd := &cobra.Command{
    12  		Use:     "extension",
    13  		Aliases: []string{"extensions"},
    14  		Short:   "Interact with extensions",
    15  		RunE:    nil,
    16  	}
    17  
    18  	cmd.AddCommand(ExtensionInspect(logger, cfg, client))
    19  	// client and packageConfigReader to be passed later on
    20  	cmd.AddCommand(ExtensionPackage(logger, cfg, client, packageConfigReader))
    21  	// client to be passed later on
    22  	cmd.AddCommand(ExtensionNew(logger))
    23  	cmd.AddCommand(ExtensionPull(logger, cfg, client))
    24  	cmd.AddCommand(ExtensionRegister(logger, cfg, client))
    25  	cmd.AddCommand(ExtensionYank(logger, cfg, client))
    26  
    27  	AddHelpFlag(cmd, "extension")
    28  	return cmd
    29  }