@@ -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