github.com/buildpacks/pack@v0.33.3-0.20240516162812-884dd1837311/internal/commands/yank_buildpack.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/internal/style" 8 "github.com/buildpacks/pack/pkg/client" 9 "github.com/buildpacks/pack/pkg/logging" 10 ) 11 12 // Deprecated: Use yank instead 13 func YankBuildpack(logger logging.Logger, cfg config.Config, pack PackClient) *cobra.Command { 14 var flags BuildpackYankFlags 15 16 cmd := &cobra.Command{ 17 Use: "yank-buildpack <buildpack-id-and-version>", 18 Hidden: true, 19 Args: cobra.ExactArgs(1), 20 Short: "Yank the buildpack from the registry", 21 Example: "pack yank-buildpack my-buildpack@0.0.1", 22 RunE: logError(logger, func(cmd *cobra.Command, args []string) error { 23 deprecationWarning(logger, "yank-buildpack", "buildpack yank") 24 buildpackIDVersion := args[0] 25 26 registry, err := config.GetRegistry(cfg, flags.BuildpackRegistry) 27 if err != nil { 28 return err 29 } 30 id, version, err := parseIDVersion(buildpackIDVersion) 31 if err != nil { 32 return err 33 } 34 35 opts := client.YankBuildpackOptions{ 36 ID: id, 37 Version: version, 38 Type: "github", 39 URL: registry.URL, 40 Yank: !flags.Undo, 41 } 42 43 if err := pack.YankBuildpack(opts); err != nil { 44 return err 45 } 46 logger.Infof("Successfully yanked %s", style.Symbol(buildpackIDVersion)) 47 return nil 48 }), 49 } 50 cmd.Flags().StringVarP(&flags.BuildpackRegistry, "buildpack-registry", "r", "", "Buildpack Registry name") 51 cmd.Flags().BoolVarP(&flags.Undo, "undo", "u", false, "undo previously yanked buildpack") 52 AddHelpFlag(cmd, "yank-buildpack") 53 54 return cmd 55 }