public static PackCommand FromArgs(string[] args, string msbuildPath = null) { var parser = Parser.Instance; var parseResult = parser.ParseFrom("dotnet pack", args); parseResult.ShowHelpOrErrorIfAppropriate(); var msbuildArgs = new List <string>() { "-target:pack" }; msbuildArgs.AddRange(parseResult.OptionValuesToBeForwarded(PackCommandParser.GetCommand())); msbuildArgs.AddRange(parseResult.ValueForArgument <IEnumerable <string> >(PackCommandParser.SlnOrProjectArgument) ?? Array.Empty <string>()); bool noRestore = parseResult.HasOption(PackCommandParser.NoRestoreOption) || parseResult.HasOption(PackCommandParser.NoBuildOption); return(new PackCommand( msbuildArgs, parseResult.OptionValuesToBeForwarded(PackCommandParser.GetCommand()), parseResult.ValueForArgument <IEnumerable <string> >(PackCommandParser.SlnOrProjectArgument) ?? Array.Empty <string>(), noRestore, msbuildPath)); }
public static PackCommand FromParseResult(ParseResult parseResult, string msbuildPath = null) { parseResult.ShowHelpOrErrorIfAppropriate(); var msbuildArgs = new List <string>() { "-target:pack" }; msbuildArgs.AddRange(parseResult.OptionValuesToBeForwarded(PackCommandParser.GetCommand())); msbuildArgs.AddRange(parseResult.GetValueForArgument(PackCommandParser.SlnOrProjectArgument) ?? Array.Empty <string>()); bool noRestore = parseResult.HasOption(PackCommandParser.NoRestoreOption) || parseResult.HasOption(PackCommandParser.NoBuildOption); return(new PackCommand( msbuildArgs, noRestore, msbuildPath)); }