github.com/buildpacks/pack@v0.33.3-0.20240516162812-884dd1837311/cmd/pack/main.go (about)

     1  package main
     2  
     3  import (
     4  	"os"
     5  
     6  	"github.com/heroku/color"
     7  
     8  	"github.com/buildpacks/pack/cmd"
     9  	"github.com/buildpacks/pack/pkg/client"
    10  
    11  	"github.com/buildpacks/pack/internal/commands"
    12  	"github.com/buildpacks/pack/pkg/logging"
    13  )
    14  
    15  func main() {
    16  	// create logger with defaults
    17  	logger := logging.NewLogWithWriters(color.Stdout(), color.Stderr())
    18  
    19  	rootCmd, err := cmd.NewPackCommand(logger)
    20  	if err != nil {
    21  		logger.Error(err.Error())
    22  		os.Exit(1)
    23  	}
    24  
    25  	ctx := commands.CreateCancellableContext()
    26  	if err := rootCmd.ExecuteContext(ctx); err != nil {
    27  		if _, isSoftError := err.(client.SoftError); isSoftError {
    28  			os.Exit(2)
    29  		}
    30  		os.Exit(1)
    31  	}
    32  }