github.com/fitzoh/maven-push-plugin@v0.4.0/args.go (about) 1 package main 2 3 import ( 4 "github.com/jessevdk/go-flags" 5 "strings" 6 ) 7 8 func ParseArgs(args []string) (MavenPushCommand, error) { 9 var command MavenPushCommand 10 parser := flags.NewParser(&command, flags.None) 11 _, err := parser.ParseArgs(args) 12 if err != nil { 13 return command, err 14 } 15 return command, nil 16 } 17 18 func RemoveMavenArgs(args []string) []string { 19 return removeArgs(args, "--maven-") 20 } 21 22 func RemoveRemoteManifestArgs(args []string) []string { 23 return removeArgs(args, "--remote-manifest-") 24 } 25 26 func removeArgs(args []string, prefix string) []string { 27 for i, arg := range args { 28 if strings.HasPrefix(arg, prefix) { 29 return removeArgs(removeSingleArg(args, arg, i), prefix) 30 } 31 } 32 return args 33 } 34 35 func removeSingleArg(args []string, arg string, i int) []string { 36 argsRemoved := 2 37 if strings.Contains(arg, "=") { 38 argsRemoved = 1 39 } 40 return append(args[0:i], args[i+argsRemoved:]...) 41 }