public static Command Build() => CreateWithRestoreOptions.Command( "build", LocalizableStrings.AppFullName, Accept.ZeroOrMoreArguments() .With(name: CommonLocalizableStrings.CmdProjectFile, description: "The MSBuild project file to build. If a project file is not specified, MSBuild searches the current working directory for a file that has a file extension that ends in `proj` and uses that file."), CommonOptions.HelpOption(), Create.Option( "-o|--output", LocalizableStrings.OutputOptionDescription, Accept.ExactlyOneArgument() .With(name: LocalizableStrings.OutputOptionName) .ForwardAsSingle(o => $"-property:OutputPath={o.Arguments.Single()}")), CommonOptions.FrameworkOption(), CommonOptions.RuntimeOption(), CommonOptions.ConfigurationOption(), CommonOptions.VersionSuffixOption(), Create.Option( "--no-incremental", LocalizableStrings.NoIncrementialOptionDescription), Create.Option( "--no-dependencies", LocalizableStrings.NoDependenciesOptionDescription, Accept.NoArguments() .ForwardAs("-property:BuildProjectReferences=false")), CommonOptions.NoRestoreOption(), CommonOptions.VerbosityOption());
public static Command Publish() => CreateWithRestoreOptions.Command( "publish", LocalizableStrings.AppDescription, Accept.ZeroOrMoreArguments(), CommonOptions.HelpOption(), Create.Option( "-o|--output", LocalizableStrings.OutputOptionDescription, Accept.ExactlyOneArgument() .With(name: LocalizableStrings.OutputOption) .ForwardAsSingle(o => $"/p:PublishDir={o.Arguments.Single()}")), CommonOptions.FrameworkOption(), CommonOptions.RuntimeOption(), CommonOptions.ConfigurationOption(), CommonOptions.VersionSuffixOption(), Create.Option( "--manifest", LocalizableStrings.ManifestOptionDescription, Accept.OneOrMoreArguments() .With(name: LocalizableStrings.ManifestOption) .ForwardAsSingle(o => $"/p:TargetManifestFiles={string.Join("%3B", o.Arguments)}")), Create.Option( "--self-contained", LocalizableStrings.SelfContainedOptionDescription, Accept.ZeroOrOneArgument() .WithSuggestionsFrom("true", "false") .ForwardAsSingle(o => { string value = o.Arguments.Any() ? o.Arguments.Single() : "true"; return($"/p:SelfContained={value}"); })), CommonOptions.NoRestoreOption(), CommonOptions.VerbosityOption());
public static Command GetCommand() { var command = new Command("test", LocalizableStrings.AppFullName); command.AddArgument(SlnOrProjectArgument); command.AddOption(SettingsOption); command.AddOption(ListTestsOption); command.AddOption(EnvOption); command.AddOption(FilterOption); command.AddOption(AdapterOption); command.AddOption(LoggerOption); command.AddOption(OutputOption); command.AddOption(DiagOption); command.AddOption(NoBuildOption); command.AddOption(ResultsOption); command.AddOption(CollectOption); command.AddOption(BlameOption); command.AddOption(BlameCrashOption); command.AddOption(BlameCrashDumpOption); command.AddOption(BlameCrashAlwaysOption); command.AddOption(BlameHangOption); command.AddOption(BlameHangDumpOption); command.AddOption(BlameHangTimeoutOption); command.AddOption(NoLogoOption); command.AddOption(CommonOptions.ConfigurationOption(LocalizableStrings.ConfigurationOptionDescription)); command.AddOption(CommonOptions.FrameworkOption(LocalizableStrings.FrameworkOptionDescription)); command.AddOption(CommonOptions.RuntimeOption(LocalizableStrings.RuntimeOptionDescription, withShortOption: false)); command.AddOption(NoRestoreOption); command.AddOption(CommonOptions.InteractiveMsBuildForwardOption()); command.AddOption(CommonOptions.VerbosityOption()); return(command); }
public static Command Build() => CreateWithRestoreOptions.Command( "build", LocalizableStrings.AppFullName, Accept.ZeroOrMoreArguments() .With(name: CommonLocalizableStrings.ProjectArgumentName, description: CommonLocalizableStrings.ProjectArgumentDescription), CommonOptions.HelpOption(), Create.Option( "-o|--output", LocalizableStrings.OutputOptionDescription, Accept.ExactlyOneArgument() .With(name: LocalizableStrings.OutputOptionName) .ForwardAsSingle(o => $"-property:OutputPath={CommandDirectoryContext.GetFullPath(o.Arguments.Single())}")), CommonOptions.FrameworkOption(LocalizableStrings.FrameworkOptionDescription), CommonOptions.ConfigurationOption(LocalizableStrings.ConfigurationOptionDescription), CommonOptions.RuntimeOption(LocalizableStrings.RuntimeOptionDescription), CommonOptions.VersionSuffixOption(), Create.Option( "--no-incremental", LocalizableStrings.NoIncrementalOptionDescription), Create.Option( "--no-dependencies", LocalizableStrings.NoDependenciesOptionDescription, Accept.NoArguments() .ForwardAs("-property:BuildProjectReferences=false")), CommonOptions.NoRestoreOption(), CommonOptions.VerbosityOption());
public static Command Publish() => CreateWithRestoreOptions.Command( "publish", LocalizableStrings.AppDescription, Accept.ZeroOrMoreArguments() .With(name: CommonLocalizableStrings.SolutionOrProjectArgumentName, description: CommonLocalizableStrings.SolutionOrProjectArgumentDescription), CommonOptions.HelpOption(), Create.Option( "-o|--output", LocalizableStrings.OutputOptionDescription, Accept.ExactlyOneArgument() .With(name: LocalizableStrings.OutputOption) .ForwardAsSingle(o => $"-property:PublishDir={CommandDirectoryContext.GetFullPath(o.Arguments.Single())}")), CommonOptions.FrameworkOption(LocalizableStrings.FrameworkOptionDescription), CommonOptions.RuntimeOption(LocalizableStrings.RuntimeOptionDescription), CommonOptions.ConfigurationOption(LocalizableStrings.ConfigurationOptionDescription), CommonOptions.VersionSuffixOption(), Create.Option( "--manifest", LocalizableStrings.ManifestOptionDescription, Accept.OneOrMoreArguments() .With(name: LocalizableStrings.ManifestOption) .ForwardAsSingle(o => $"-property:TargetManifestFiles={string.Join("%3B", o.Arguments.Select(CommandDirectoryContext.GetFullPath))}")), Create.Option( "--no-build", LocalizableStrings.NoBuildOptionDescription, Accept.NoArguments().ForwardAs("-property:NoBuild=true")), Create.Option( "--self-contained", LocalizableStrings.SelfContainedOptionDescription, Accept.ZeroOrOneArgument() .WithSuggestionsFrom("true", "false") .ForwardAsSingle(o => { string value = o.Arguments.Any() ? o.Arguments.Single() : "true"; return($"-property:SelfContained={value}"); })), Create.Option( "--no-self-contained", LocalizableStrings.NoSelfContainedOptionDescription, Accept.NoArguments().ForwardAs("-property:SelfContained=false")), Create.Option( "--nologo", LocalizableStrings.CmdNoLogo, Accept.NoArguments() .ForwardAs("-nologo")), CommonOptions.InteractiveMsBuildForwardOption(), CommonOptions.NoRestoreOption(), CommonOptions.VerbosityOption());
public static Command Clean() => Create.Command( "clean", LocalizableStrings.AppFullName, Accept.ZeroOrMoreArguments(), CommonOptions.HelpOption(), Create.Option("-o|--output", LocalizableStrings.CmdOutputDirDescription, Accept.ExactlyOneArgument() .With(name: LocalizableStrings.CmdOutputDir) .ForwardAsSingle(o => $"-property:OutputPath={o.Arguments.Single()}")), CommonOptions.FrameworkOption(), CommonOptions.RuntimeOption(), CommonOptions.ConfigurationOption(), CommonOptions.VerbosityOption());
public static Command GetCommand() { var command = new Command("clean", LocalizableStrings.AppFullName); command.AddArgument(SlnOrProjectArgument); command.AddOption(CommonOptions.FrameworkOption(LocalizableStrings.FrameworkOptionDescription)); command.AddOption(CommonOptions.RuntimeOption(LocalizableStrings.RuntimeOptionDescription)); command.AddOption(CommonOptions.ConfigurationOption(LocalizableStrings.ConfigurationOptionDescription)); command.AddOption(CommonOptions.InteractiveMsBuildForwardOption()); command.AddOption(CommonOptions.VerbosityOption()); command.AddOption(OutputOption); command.AddOption(NoLogoOption); return(command); }
public static Command Run() => CreateWithRestoreOptions.Command( "run", LocalizableStrings.AppFullName, treatUnmatchedTokensAsErrors: false, arguments: Accept.ZeroOrMoreArguments() .MaterializeAs(o => new RunCommand ( configuration: o.SingleArgumentOrDefault("--configuration"), framework: o.SingleArgumentOrDefault("--framework"), runtime: o.SingleArgumentOrDefault("--runtime"), noBuild: o.HasOption("--no-build"), project: o.SingleArgumentOrDefault("--project"), launchProfile: o.SingleArgumentOrDefault("--launch-profile"), noLaunchProfile: o.HasOption("--no-launch-profile"), noRestore: o.HasOption("--no-restore") || o.HasOption("--no-build"), interactive: o.HasOption(Utils.Constants.RestoreInteractiveOption), restoreArgs: o.OptionValuesToBeForwarded(), args: o.Arguments )), options: new[] { CommonOptions.HelpOption(), CommonOptions.ConfigurationOption(LocalizableStrings.ConfigurationOptionDescription), CommonOptions.FrameworkOption(LocalizableStrings.FrameworkOptionDescription), CommonOptions.RuntimeOption(LocalizableStrings.RuntimeOptionDescription), Create.Option( "-p|--project", LocalizableStrings.CommandOptionProjectDescription, Accept.ExactlyOneArgument()), Create.Option( "--launch-profile", LocalizableStrings.CommandOptionLaunchProfileDescription, Accept.ExactlyOneArgument()), Create.Option( "--no-launch-profile", LocalizableStrings.CommandOptionNoLaunchProfileDescription, Accept.NoArguments()), Create.Option( "--no-build", LocalizableStrings.CommandOptionNoBuildDescription, Accept.NoArguments()), CommonOptions.InteractiveOption(), CommonOptions.NoRestoreOption(), CommonOptions.VerbosityOption() });
public static Command GetCommand() { var command = new Command("store", LocalizableStrings.AppDescription); command.AddArgument(Argument); command.AddOption(ManifestOption); command.AddOption(FrameworkVersionOption); command.AddOption(OutputOption); command.AddOption(WorkingDirOption); command.AddOption(SkipOptimizationOption); command.AddOption(SkipSymbolsOption); command.AddOption(CommonOptions.FrameworkOption(LocalizableStrings.FrameworkOptionDescription)); command.AddOption(CommonOptions.RuntimeOption(LocalizableStrings.RuntimeOptionDescription)); command.AddOption(CommonOptions.VerbosityOption()); command.AddOption(CommonOptions.CurrentRuntimeOption(LocalizableStrings.CurrentRuntimeOptionDescription)); return(command); }
public static Command Clean() => Create.Command( "clean", LocalizableStrings.AppFullName, Accept.ZeroOrMoreArguments() .With(name: CommonLocalizableStrings.ProjectArgumentName, description: CommonLocalizableStrings.ProjectArgumentDescription), CommonOptions.HelpOption(), Create.Option("-o|--output", LocalizableStrings.CmdOutputDirDescription, Accept.ExactlyOneArgument() .With(name: LocalizableStrings.CmdOutputDir) .ForwardAsSingle(o => $"-property:OutputPath={CommandDirectoryContext.GetFullPath(o.Arguments.Single())}")), CommonOptions.FrameworkOption(LocalizableStrings.FrameworkOptionDescription), CommonOptions.RuntimeOption(LocalizableStrings.RuntimeOptionDescription), CommonOptions.ConfigurationOption(LocalizableStrings.ConfigurationOptionDescription), CommonOptions.InteractiveMsBuildForwardOption(), CommonOptions.VerbosityOption());
public static Command GetCommand() { var command = new Command("build", LocalizableStrings.AppFullName); command.AddArgument(SlnOrProjectArgument); RestoreCommandParser.AddImplicitRestoreOptions(command, includeRuntimeOption: false, includeNoDependenciesOption: false); command.AddOption(CommonOptions.FrameworkOption(LocalizableStrings.FrameworkOptionDescription)); command.AddOption(CommonOptions.ConfigurationOption(LocalizableStrings.ConfigurationOptionDescription)); command.AddOption(CommonOptions.RuntimeOption(LocalizableStrings.RuntimeOptionDescription)); command.AddOption(CommonOptions.VersionSuffixOption()); command.AddOption(NoRestoreOption); command.AddOption(CommonOptions.InteractiveMsBuildForwardOption()); command.AddOption(CommonOptions.VerbosityOption()); command.AddOption(CommonOptions.DebugOption()); command.AddOption(OutputOption); command.AddOption(NoIncrementalOption); command.AddOption(NoDependenciesOption); command.AddOption(NoLogoOption); return(command); }
public static Command GetCommand() { var command = new Command("publish", LocalizableStrings.AppDescription); command.AddArgument(SlnOrProjectArgument); RestoreCommandParser.AddImplicitRestoreOptions(command, includeRuntimeOption: false, includeNoDependenciesOption: true); command.AddOption(OuputOption); command.AddOption(ManifestOption); command.AddOption(NoBuildOption); command.AddOption(SelfContainedOption); command.AddOption(NoSelfContainedOption); command.AddOption(NoLogoOption); command.AddOption(CommonOptions.FrameworkOption(LocalizableStrings.FrameworkOptionDescription)); command.AddOption(CommonOptions.RuntimeOption(LocalizableStrings.RuntimeOptionDescription)); command.AddOption(CommonOptions.ConfigurationOption(LocalizableStrings.ConfigurationOptionDescription)); command.AddOption(CommonOptions.VersionSuffixOption()); command.AddOption(CommonOptions.InteractiveMsBuildForwardOption()); command.AddOption(NoRestoreOption); command.AddOption(CommonOptions.VerbosityOption()); return(command); }
public static Command Publish() => Create.Command( "publish", LocalizableStrings.AppFullName, Accept.ZeroOrMoreArguments(), CommonOptions.HelpOption(), CommonOptions.FrameworkOption(), CommonOptions.RuntimeOption(), Create.Option( "-o|--output", LocalizableStrings.OutputOptionDescription, Accept.ExactlyOneArgument() .With(name: LocalizableStrings.OutputOption) .ForwardAsSingle(o => $"/p:PublishDir={o.Arguments.Single()}")), CommonOptions.ConfigurationOption(), CommonOptions.VersionSuffixOption(), Create.Option( "--filter", LocalizableStrings.FilterProjOptionDescription, Accept.OneOrMoreArguments() .With(name: LocalizableStrings.FilterProjOption) .ForwardAsSingle(o => $"/p:FilterProjectFiles={string.Join("%3B", o.Arguments)}")), CommonOptions.VerbosityOption());
public static Command Test() => Create.Command( "test", LocalizableStrings.AppFullName, Accept.ZeroOrMoreArguments() .With(name: CommonLocalizableStrings.ProjectArgumentName, description: CommonLocalizableStrings.ProjectArgumentDescription), false, CommonOptions.HelpOption(), Create.Option( "-s|--settings", LocalizableStrings.CmdSettingsDescription, Accept.ExactlyOneArgument() .With(name: LocalizableStrings.CmdSettingsFile) .ForwardAsSingle(o => $"-property:VSTestSetting={o.Arguments.Single()}")), Create.Option( "-t|--list-tests", LocalizableStrings.CmdListTestsDescription, Accept.NoArguments() .ForwardAsSingle(o => "-property:VSTestListTests=true")), Create.Option( "--filter", LocalizableStrings.CmdTestCaseFilterDescription, Accept.ExactlyOneArgument() .With(name: LocalizableStrings.CmdTestCaseFilterExpression) .ForwardAsSingle(o => $"-property:VSTestTestCaseFilter={o.Arguments.Single()}")), Create.Option( "-a|--test-adapter-path", LocalizableStrings.CmdTestAdapterPathDescription, Accept.OneOrMoreArguments() .With(name: LocalizableStrings.CmdTestAdapterPath) .ForwardAsSingle(o => $"-property:VSTestTestAdapterPath=\"{string.Join(";", o.Arguments)}\"")), Create.Option( "-l|--logger", LocalizableStrings.CmdLoggerDescription, Accept.OneOrMoreArguments() .With(name: LocalizableStrings.CmdLoggerOption) .ForwardAsSingle(o => { var loggersString = string.Join(";", GetSemiColonEscapedArgs(o.Arguments)); return($"-property:VSTestLogger=\"{loggersString}\""); })), CommonOptions.ConfigurationOption(LocalizableStrings.ConfigurationOptionDescription), CommonOptions.FrameworkOption(LocalizableStrings.FrameworkOptionDescription), CommonOptions.RuntimeOption(LocalizableStrings.RuntimeOptionDescription, withShortOption: false), Create.Option( "-o|--output", LocalizableStrings.CmdOutputDescription, Accept.ExactlyOneArgument() .With(name: LocalizableStrings.CmdOutputDir) .ForwardAsSingle(o => $"-property:OutputPath={o.Arguments.Single()}")), Create.Option( "-d|--diag", LocalizableStrings.CmdPathTologFileDescription, Accept.ExactlyOneArgument() .With(name: LocalizableStrings.CmdPathToLogFile) .ForwardAsSingle(o => $"-property:VSTestDiag={o.Arguments.Single()}")), Create.Option( "--no-build", LocalizableStrings.CmdNoBuildDescription, Accept.NoArguments() .ForwardAsSingle(o => "-property:VSTestNoBuild=true")), Create.Option( "-r|--results-directory", LocalizableStrings.CmdResultsDirectoryDescription, Accept.ExactlyOneArgument() .With(name: LocalizableStrings.CmdPathToResultsDirectory) .ForwardAsSingle(o => $"-property:VSTestResultsDirectory={o.Arguments.Single()}")), Create.Option( "--collect", LocalizableStrings.cmdCollectDescription, Accept.OneOrMoreArguments() .With(name: LocalizableStrings.cmdCollectFriendlyName) .ForwardAsSingle(o => $"-property:VSTestCollect=\"{string.Join(";", o.Arguments)}\"")), Create.Option( "--blame", LocalizableStrings.CmdBlameDescription, Accept.NoArguments() .ForwardAsSingle(o => "-property:VSTestBlame=true")), CommonOptions.NoRestoreOption(), CommonOptions.VerbosityOption());
public static Command Store() => Create.Command( "store", LocalizableStrings.AppDescription, Accept.ZeroOrMoreArguments(), CommonOptions.HelpOption(), Create.Option( "-m|--manifest", LocalizableStrings.ProjectManifestDescription, Accept.OneOrMoreArguments() .With(name: LocalizableStrings.ProjectManifest) .ForwardAsMany(o => { // the first path doesn't need to go through CommandDirectoryContext.ExpandPath // since it is a direct argument to MSBuild, not a property var materializedString = $"{o.Arguments.First()}"; if (o.Arguments.Count == 1) { return(new[] { materializedString }); } else { return(new[] { materializedString, $"-property:AdditionalProjects={string.Join("%3B", o.Arguments.Skip(1).Select(CommandDirectoryContext.GetFullPath))}" }); } })), CommonOptions.FrameworkOption(LocalizableStrings.FrameworkOptionDescription), Create.Option( "--framework-version", LocalizableStrings.FrameworkVersionOptionDescription, Accept.ExactlyOneArgument() .With(name: LocalizableStrings.FrameworkVersionOption) .ForwardAsSingle(o => $"-property:RuntimeFrameworkVersion={o.Arguments.Single()}")), CommonOptions.RuntimeOption(LocalizableStrings.RuntimeOptionDescription), Create.Option( "-o|--output", LocalizableStrings.OutputOptionDescription, Accept.ExactlyOneArgument() .With(name: LocalizableStrings.OutputOption) .ForwardAsSingle(o => $"-property:ComposeDir={CommandDirectoryContext.GetFullPath(o.Arguments.Single())}")), Create.Option( "-w|--working-dir", LocalizableStrings.IntermediateWorkingDirOptionDescription, Accept.ExactlyOneArgument() .With(name: LocalizableStrings.IntermediateWorkingDirOption) .ForwardAsSingle(o => $"-property:ComposeWorkingDir={CommandDirectoryContext.GetFullPath(o.Arguments.Single())}")), Create.Option( "--skip-optimization", LocalizableStrings.SkipOptimizationOptionDescription, Accept.NoArguments() .ForwardAs("-property:SkipOptimization=true")), Create.Option( "--skip-symbols", LocalizableStrings.SkipSymbolsOptionDescription, Accept.NoArguments() .ForwardAs("-property:CreateProfilingSymbols=false")), CommonOptions.VerbosityOption());
public static Command Store() => Create.Command( "store", LocalizableStrings.AppDescription, Accept.ZeroOrMoreArguments(), CommonOptions.HelpOption(), Create.Option( "-m|--manifest", LocalizableStrings.ProjectManifestDescription, Accept.OneOrMoreArguments() .With(name: LocalizableStrings.ProjectManifest) .ForwardAsMany(o => { var materializedString = $"{o.Arguments.First()}"; if (o.Arguments.Count == 1) { return(new[] { materializedString }); } else { return(new[] { materializedString, $"/p:AdditionalProjects={string.Join("%3B", o.Arguments.Skip(1))}" }); } })), CommonOptions.FrameworkOption(), Create.Option( "--framework-version", LocalizableStrings.FrameworkVersionOptionDescription, Accept.ExactlyOneArgument() .With(name: LocalizableStrings.FrameworkVersionOption) .ForwardAsSingle(o => $"/p:RuntimeFrameworkVersion={o.Arguments.Single()}")), CommonOptions.RuntimeOption(), CommonOptions.ConfigurationOption(), Create.Option( "-o|--output", LocalizableStrings.OutputOptionDescription, Accept.ExactlyOneArgument() .With(name: LocalizableStrings.OutputOption) .ForwardAsSingle(o => $"/p:ComposeDir={Path.GetFullPath(o.Arguments.Single())}")), Create.Option( "-w|--working-dir", LocalizableStrings.IntermediateWorkingDirOptionDescription, Accept.ExactlyOneArgument() .With(name: LocalizableStrings.IntermediateWorkingDirOption) .ForwardAsSingle(o => $"/p:ComposeWorkingDir={o.Arguments.Single()}")), Create.Option( "--preserve-working-dir", LocalizableStrings.PreserveIntermediateWorkingDirOptionDescription, Accept.NoArguments() .ForwardAsSingle(o => $"/p:PreserveComposeWorkingDir=true")), Create.Option( "--skip-optimization", LocalizableStrings.SkipOptimizationOptionDescription, Accept.NoArguments() .ForwardAs("/p:SkipOptimization=true")), CommonOptions.VerbosityOption());
public static Command Test() => Create.Command( "test", LocalizableStrings.AppFullName, Accept.ZeroOrMoreArguments() .With(name: CommonLocalizableStrings.SolutionOrProjectArgumentName, description: CommonLocalizableStrings.SolutionOrProjectArgumentDescription), false, CommonOptions.HelpOption(), Create.Option( "-s|--settings", LocalizableStrings.CmdSettingsDescription, Accept.ExactlyOneArgument() .With(name: LocalizableStrings.CmdSettingsFile) .ForwardAsSingle(o => $"-property:VSTestSetting={CommandDirectoryContext.GetFullPath(o.Arguments.Single())}")), Create.Option( "-t|--list-tests", LocalizableStrings.CmdListTestsDescription, Accept.NoArguments() .ForwardAsSingle(o => "-property:VSTestListTests=true")), Create.Option( "--filter", LocalizableStrings.CmdTestCaseFilterDescription, Accept.ExactlyOneArgument() .With(name: LocalizableStrings.CmdTestCaseFilterExpression) .ForwardAsSingle(o => $"-property:VSTestTestCaseFilter={o.Arguments.Single()}")), Create.Option( "-a|--test-adapter-path", LocalizableStrings.CmdTestAdapterPathDescription, Accept.OneOrMoreArguments() .With(name: LocalizableStrings.CmdTestAdapterPath) .ForwardAsSingle(o => $"-property:VSTestTestAdapterPath=\"{string.Join(";", o.Arguments.Select(CommandDirectoryContext.GetFullPath))}\"")), Create.Option( "-l|--logger", LocalizableStrings.CmdLoggerDescription, Accept.OneOrMoreArguments() .With(name: LocalizableStrings.CmdLoggerOption) .ForwardAsSingle(o => { var loggersString = string.Join(";", GetSemiColonEscapedArgs(o.Arguments)); return($"-property:VSTestLogger=\"{loggersString}\""); })), CommonOptions.ConfigurationOption(LocalizableStrings.ConfigurationOptionDescription), CommonOptions.FrameworkOption(LocalizableStrings.FrameworkOptionDescription), CommonOptions.RuntimeOption(LocalizableStrings.RuntimeOptionDescription, withShortOption: false), Create.Option( "-o|--output", LocalizableStrings.CmdOutputDescription, Accept.ExactlyOneArgument() .With(name: LocalizableStrings.CmdOutputDir) .ForwardAsSingle(o => $"-property:OutputPath={CommandDirectoryContext.GetFullPath(o.Arguments.Single())}")), Create.Option( "-d|--diag", LocalizableStrings.CmdPathTologFileDescription, Accept.ExactlyOneArgument() .With(name: LocalizableStrings.CmdPathToLogFile) .ForwardAsSingle(o => $"-property:VSTestDiag={CommandDirectoryContext.GetFullPath(o.Arguments.Single())}")), Create.Option( "--no-build", LocalizableStrings.CmdNoBuildDescription, Accept.NoArguments() .ForwardAsSingle(o => "-property:VSTestNoBuild=true")), Create.Option( "-r|--results-directory", LocalizableStrings.CmdResultsDirectoryDescription, Accept.ExactlyOneArgument() .With(name: LocalizableStrings.CmdPathToResultsDirectory) .ForwardAsSingle(o => $"-property:VSTestResultsDirectory={CommandDirectoryContext.GetFullPath(o.Arguments.Single())}")), Create.Option( "--collect", LocalizableStrings.cmdCollectDescription, Accept.OneOrMoreArguments() .With(name: LocalizableStrings.cmdCollectFriendlyName) .ForwardAsSingle(o => $"-property:VSTestCollect=\"{string.Join(";", o.Arguments)}\"")), Create.Option( "--blame", LocalizableStrings.CmdBlameDescription, Accept.NoArguments() .ForwardAsSingle(o => "-property:VSTestBlame=true")), Create.Option( "--blame-crash", LocalizableStrings.CmdBlameCrashDescription, Accept.NoArguments() .ForwardAsSingle(o => "-property:VSTestBlameCrash=true")), Create.Option( "--blame-crash-dump-type", LocalizableStrings.CmdBlameCrashDumpTypeDescription, Accept.AnyOneOf( "full", "mini") .With(name: LocalizableStrings.CrashDumpTypeArgumentName, defaultValue: () => "full") .ForwardAsMany(o => new[] { "-property:VSTestBlameCrash=true", $"-property:VSTestBlameCrashDumpType={o.Arguments.Single()}" })), Create.Option( "--blame-crash-collect-always", LocalizableStrings.CmdBlameCrashCollectAlwaysDescription, Accept.NoArguments() .ForwardAsMany(o => new[] { "-property:VSTestBlameCrash=true", "-property:VSTestBlameCrashCollectAlways=true" })), Create.Option( "--blame-hang", LocalizableStrings.CmdBlameHangDescription, Accept.NoArguments() .ForwardAsSingle(o => "-property:VSTestBlameHang=true")), Create.Option( "--blame-hang-dump-type", LocalizableStrings.CmdBlameHangDumpTypeDescription, Accept.AnyOneOf( "full", "mini", "none") .With(name: LocalizableStrings.HangDumpTypeArgumentName, defaultValue: () => "full") .ForwardAsMany(o => new[] { "-property:VSTestBlameHang=true", $"-property:VSTestBlameHangDumpType={o.Arguments.Single()}" })), Create.Option( "--blame-hang-timeout", LocalizableStrings.CmdBlameHangTimeoutDescription, Accept.ExactlyOneArgument() .With(name: LocalizableStrings.HangTimeoutArgumentName) .ForwardAsMany(o => new[] { "-property:VSTestBlameHang=true", $"-property:VSTestBlameHangTimeout={o.Arguments.Single()}" })), Create.Option( "--nologo|/nologo", LocalizableStrings.CmdNoLogo, Accept.NoArguments() .ForwardAsSingle(o => "-property:VSTestNoLogo=nologo")), CommonOptions.NoRestoreOption(), CommonOptions.InteractiveMsBuildForwardOption(), CommonOptions.VerbosityOption());