@@ -16,9 +16,9 @@ public static Arguments ParseArguments(List<string> commandLineArguments)
1616            if  ( commandLineArguments . Count  ==  0 ) 
1717            { 
1818                return  new  Arguments 
19-                      { 
20-                          TargetPath  =  Environment . CurrentDirectory 
21-                      } ; 
19+                 { 
20+                     TargetPath  =  Environment . CurrentDirectory 
21+                 } ; 
2222            } 
2323
2424            var  firstArgument  =  commandLineArguments . First ( ) ; 
@@ -33,9 +33,9 @@ public static Arguments ParseArguments(List<string> commandLineArguments)
3333            if  ( commandLineArguments . Count  ==  1 ) 
3434            { 
3535                return  new  Arguments 
36-                      { 
37-                          TargetPath  =  firstArgument 
38-                      } ; 
36+                 { 
37+                     TargetPath  =  firstArgument 
38+                 } ; 
3939            } 
4040
4141            List < string >  namedArguments ; 
@@ -64,12 +64,48 @@ public static Arguments ParseArguments(List<string> commandLineArguments)
6464                    continue ; 
6565                } 
6666
67+                 if  ( IsSwitch ( "url" ,  name ) ) 
68+                 { 
69+                     arguments . TargetUrl  =  value ; 
70+                     continue ; 
71+                 } 
72+ 
73+                 if  ( IsSwitch ( "b" ,  name ) ) 
74+                 { 
75+                     arguments . TargetBranch  =  value ; 
76+                     continue ; 
77+                 } 
78+ 
79+                 if  ( IsSwitch ( "u" ,  name ) ) 
80+                 { 
81+                     arguments . Username  =  value ; 
82+                     continue ; 
83+                 } 
84+ 
85+                 if  ( IsSwitch ( "p" ,  name ) ) 
86+                 { 
87+                     arguments . Password  =  value ; 
88+                     continue ; 
89+                 } 
90+ 
6791                if  ( ( IsSwitch ( "v" ,  name ) )  &&  VersionParts . Contains ( value . ToLower ( ) ) ) 
6892                { 
6993                    arguments . VersionPart  =  value . ToLower ( ) ; 
7094                    continue ; 
7195                } 
7296
97+                 if  ( IsSwitch ( "output" ,  name ) ) 
98+                 { 
99+                     var  outputType  =  OutputType . Json ; 
100+                     if  ( ! Enum . TryParse ( value ,  true ,  out  outputType ) ) 
101+                     { 
102+                         throw  new  ErrorException ( string . Format ( "Value '{0}' cannot be parsed as output type, please use 'json' or 'buildserver'" ,  value ) ) ; 
103+                     } 
104+ 
105+                     arguments . Output  =  outputType ; 
106+                     continue ; 
107+                 } 
108+ 
73109                throw  new  ErrorException ( string . Format ( "Could not parse command line parameter '{0}'." ,  name ) ) ; 
74110            } 
75111            return  arguments ; 
@@ -101,13 +137,10 @@ static void EnsureArgumentsEvenCount(List<string> commandLineArguments, List<str
101137
102138        static bool  IsHelp ( string  singleArgument ) 
103139        { 
104-             return  ( singleArgument  ==  "?" )  || 
105-                    ( singleArgument  ==  "/h" )  || 
106-                    ( singleArgument  ==  "/help" )  || 
107-                    ( singleArgument  ==  "/?" )  || 
108-                    ( singleArgument  ==  "-h" )  || 
109-                    ( singleArgument  ==  "-help" )  || 
110-                    ( singleArgument  ==  "-?" ) ; 
140+             return  ( singleArgument  ==  "?" )  ||  
141+                 IsSwitch ( "h" ,  singleArgument )  ||  
142+                 IsSwitch ( "help" ,  singleArgument )  ||  
143+                 IsSwitch ( "?" ,  singleArgument ) ; 
111144        } 
112145
113146        static string [ ]  VersionParts  =  { "major" ,  "minor" ,  "patch" ,  "long" ,  "short" ,  "nuget" } ; 
0 commit comments