Add test assets
This commit is contained in:
parent
60bd88d261
commit
a3db242b9b
8 changed files with 311 additions and 0 deletions
|
@ -0,0 +1,117 @@
|
|||
// Copyright (c) .NET Foundation and contributors. All rights reserved.
|
||||
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using Microsoft.Dnx.Runtime.Common.CommandLine;
|
||||
using Microsoft.DotNet.Cli.Utils;
|
||||
using NuGet.Frameworks;
|
||||
using static System.Int32;
|
||||
|
||||
namespace Microsoft.DotNet.Tools.DependencyInvoker
|
||||
{
|
||||
public class DotnetBaseParams
|
||||
{
|
||||
private readonly CommandLineApplication _app;
|
||||
|
||||
private CommandOption _outputOption;
|
||||
private CommandOption _buildBasePath;
|
||||
private CommandOption _frameworkOption;
|
||||
private CommandOption _runtimeOption;
|
||||
private CommandOption _configurationOption;
|
||||
private CommandOption _projectPath;
|
||||
private CommandArgument _command;
|
||||
|
||||
public string Runtime { get; set; }
|
||||
|
||||
public string Config { get; set; }
|
||||
|
||||
public string BuildBasePath { get; set; }
|
||||
|
||||
public string Output { get; set; }
|
||||
|
||||
public string ProjectPath { get; set; }
|
||||
|
||||
public NuGetFramework Framework { get; set; }
|
||||
|
||||
public string Command {get; set; }
|
||||
|
||||
public List<string> RemainingArguments { get; set; }
|
||||
|
||||
public DotnetBaseParams(string name, string fullName, string description)
|
||||
{
|
||||
_app = new CommandLineApplication(false)
|
||||
{
|
||||
Name = name,
|
||||
FullName = fullName,
|
||||
Description = description
|
||||
};
|
||||
|
||||
AddDotnetBaseParameters();
|
||||
}
|
||||
|
||||
public void Parse(string[] args)
|
||||
{
|
||||
_app.OnExecute(() =>
|
||||
{
|
||||
// Locate the project and get the name and full path
|
||||
ProjectPath = _projectPath.Value();
|
||||
Output = _outputOption.Value();
|
||||
BuildBasePath = _buildBasePath.Value();
|
||||
Config = _configurationOption.Value() ?? Constants.DefaultConfiguration;
|
||||
Runtime = _runtimeOption.Value();
|
||||
if (_frameworkOption.HasValue())
|
||||
{
|
||||
Framework = NuGetFramework.Parse(_frameworkOption.Value());
|
||||
}
|
||||
Command = _command.Value;
|
||||
RemainingArguments = _app.RemainingArguments;
|
||||
|
||||
if (string.IsNullOrEmpty(ProjectPath))
|
||||
{
|
||||
ProjectPath = Directory.GetCurrentDirectory();
|
||||
}
|
||||
|
||||
return 0;
|
||||
});
|
||||
|
||||
_app.Execute(args);
|
||||
}
|
||||
|
||||
private void AddDotnetBaseParameters()
|
||||
{
|
||||
_app.HelpOption("-?|-h|--help");
|
||||
|
||||
_configurationOption = _app.Option(
|
||||
"-c|--configuration <CONFIGURATION>",
|
||||
"Configuration under which to build",
|
||||
CommandOptionType.SingleValue);
|
||||
_outputOption = _app.Option(
|
||||
"-o|--output <OUTPUT_DIR>",
|
||||
"Directory in which to find the binaries to be run",
|
||||
CommandOptionType.SingleValue);
|
||||
_buildBasePath = _app.Option(
|
||||
"-b|--build-base-path <OUTPUT_DIR>",
|
||||
"Directory in which to find temporary outputs",
|
||||
CommandOptionType.SingleValue);
|
||||
_frameworkOption = _app.Option(
|
||||
"-f|--framework <FRAMEWORK>",
|
||||
"Looks for test binaries for a specific framework",
|
||||
CommandOptionType.SingleValue);
|
||||
_runtimeOption = _app.Option(
|
||||
"-r|--runtime <RUNTIME_IDENTIFIER>",
|
||||
"Look for test binaries for a for the specified runtime",
|
||||
CommandOptionType.SingleValue);
|
||||
_projectPath = _app.Option(
|
||||
"-p|--project-path <PROJECT_JSON_PATH>",
|
||||
"Path to Project.json that contains the tool dependency",
|
||||
CommandOptionType.SingleValue);
|
||||
_command = _app.Argument(
|
||||
"<COMMAND>",
|
||||
"The command to execute.");
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue