github.com/SAP/cloud-mta-build-tool@v1.2.27/cmd/assembly.go (about) 1 package commands 2 3 import ( 4 "os" 5 6 "github.com/spf13/cobra" 7 8 "github.com/SAP/cloud-mta-build-tool/internal/artifacts" 9 ) 10 11 const ( 12 defaultPlatform string = "cf" 13 ) 14 15 var assembleCmdSrc string 16 var assembleCmdTrg string 17 var assembleCmdExtensions []string 18 var assembleCmdMtarName string 19 var assembleCmdParallel string 20 21 // Assemble the MTA project post-build artifacts, without any build process 22 var assembleCommand = &cobra.Command{ 23 Use: "assemble", 24 Short: "Generates an MTA archive according to the MTA deployment descriptor (mtad.yaml)", 25 Long: "Generates an MTA archive according to the MTA deployment descriptor (mtad.yaml)", 26 Args: cobra.NoArgs, 27 RunE: func(cmd *cobra.Command, args []string) error { 28 err := artifacts.Assembly(assembleCmdSrc, assembleCmdTrg, assembleCmdExtensions, defaultPlatform, assembleCmdMtarName, assembleCmdParallel, os.Getwd) 29 logError(err) 30 return err 31 }, 32 SilenceUsage: true, 33 SilenceErrors: true, 34 } 35 36 func init() { 37 assembleCommand.Flags().StringVarP(&assembleCmdSrc, 38 "source", "s", "", "The path to the MTA project; the current path is set as default") 39 assembleCommand.Flags().StringVarP(&assembleCmdTrg, 40 "target", "t", "", `The path to the folder in which the MTAR file is created; the path to the "mta_archives" subfolder of the current folder is set as default`) 41 assembleCommand.Flags().StringSliceVarP(&assembleCmdExtensions, "extensions", "e", nil, 42 "The MTA extension descriptors") 43 assembleCommand.Flags().StringVarP(&assembleCmdMtarName, 44 "mtar", "m", "", "The archive name") 45 assembleCommand.Flags().StringVarP(&assembleCmdParallel, 46 "parallel", "p", "true", "If true content copying will run in parallel") 47 _ = assembleCommand.Flags().MarkHidden("parallel") 48 assembleCommand.Flags().BoolP("help", "h", false, `Displays detailed information about the "assemble" command`) 49 50 }