github.com/haagen/force@v0.19.6-0.20140911230915-22addd930b34/main.go (about)

     1  package main
     2  
     3  import (
     4  	"os"
     5  )
     6  
     7  var commands = []*Command{
     8  	cmdLogin,
     9  	cmdLogout,
    10  	cmdLogins,
    11  	cmdActive,
    12  	cmdWhoami,
    13  	cmdSobject,
    14  	cmdField,
    15  	cmdRecord,
    16  	cmdBulk,
    17  	cmdExport,
    18  	cmdFetch,
    19  	cmdImport,
    20  	cmdQuery,
    21  	cmdBulk,
    22  	cmdApex,
    23  	cmdOauth,
    24  	cmdTest,
    25  	cmdVersion,
    26  	cmdUpdate,
    27  	cmdHelp,
    28  	cmdPush,
    29  	cmdPushAura,
    30  	cmdAura,
    31  	cmdPassword,
    32  	cmdNotifySet,
    33  }
    34  
    35  func main() {
    36  	args := os.Args[1:]
    37  	if len(args) < 1 {
    38  		usage()
    39  	}
    40  
    41  	for _, cmd := range commands {
    42  		if cmd.Name() == args[0] && cmd.Run != nil {
    43  			cmd.Flag.Usage = func() {
    44  				cmd.printUsage()
    45  			}
    46  			if err := cmd.Flag.Parse(args[1:]); err != nil {
    47  				os.Exit(2)
    48  			}
    49  			cmd.Run(cmd, cmd.Flag.Args())
    50  			return
    51  		}
    52  	}
    53  	usage()
    54  }