Merge rel/1.0.0-preview2 to rel/1.0.0 (#3677)

* Update README.md

* Moving Ubuntu 16.04 to be next to Ubuntu 14.04

* Adding Oracle Linux and Linux Mint to the titles

Adding Oracle Linux and Linux Mint to the titles next to their compatible binaries.

* Remove showing firsttime eula for non verbs.

* Add Serviceable assembly attribute and nuspec attributes for all shipping CLI assemblies.

Fix #3345

* Use NugetCache Sentinel for Telemetry setting.

* Fix Oracle Linux version in README.md

Oracle Linux 7 -> Oracle Linux 7.1

* Fix README to use hostfxr download links (#3622)

Also fix a rebase error from b524fd079e6dcdd744faeb6061ccbfe99d1f810f#diff-04c6e90faac2675aa89e2176d2eec7d8

* Remove the VS2012 CRT dependency from docs (#3632)

* fix typo in dotnet-install file

This was needed to rebuild the CLI with the updated Roslyn NuGet packages.

Thanks goes to @akoken for the fix.
This commit is contained in:
Piotr Puszkiewicz 2016-06-22 15:17:54 -07:00 committed by GitHub
parent 17e6667d9f
commit 9d01e3bc2e
18 changed files with 125 additions and 64 deletions

View file

@ -55,11 +55,9 @@ namespace Microsoft.DotNet.Cli
try
{
ConfigureDotNetForFirstTimeUse();
using (PerfTrace.Current.CaptureTiming())
{
return ProcessArgs(args, new Telemetry());
return ProcessArgs(args);
}
}
catch (GracefulException e)
@ -78,7 +76,7 @@ namespace Microsoft.DotNet.Cli
}
}
internal static int ProcessArgs(string[] args, ITelemetry telemetryClient)
internal static int ProcessArgs(string[] args, ITelemetry telemetryClient = null)
{
// CommandLineApplication is a bit restrictive, so we parse things ourselves here. Individual apps should use CLA.
@ -86,43 +84,53 @@ namespace Microsoft.DotNet.Cli
var success = true;
var command = string.Empty;
var lastArg = 0;
for (; lastArg < args.Length; lastArg++)
using (INuGetCacheSentinel nugetCacheSentinel = new NuGetCacheSentinel())
{
if (IsArg(args[lastArg], "v", "verbose"))
for (; lastArg < args.Length; lastArg++)
{
verbose = true;
if (IsArg(args[lastArg], "v", "verbose"))
{
verbose = true;
}
else if (IsArg(args[lastArg], "version"))
{
PrintVersion();
return 0;
}
else if (IsArg(args[lastArg], "info"))
{
PrintInfo();
return 0;
}
else if (IsArg(args[lastArg], "h", "help"))
{
HelpCommand.PrintHelp();
return 0;
}
else if (args[lastArg].StartsWith("-"))
{
Reporter.Error.WriteLine($"Unknown option: {args[lastArg]}");
success = false;
}
else
{
ConfigureDotNetForFirstTimeUse(nugetCacheSentinel);
// It's the command, and we're done!
command = args[lastArg];
break;
}
}
else if (IsArg(args[lastArg], "version"))
{
PrintVersion();
return 0;
}
else if (IsArg(args[lastArg], "info"))
{
PrintInfo();
return 0;
}
else if (IsArg(args[lastArg], "h", "help"))
if (!success)
{
HelpCommand.PrintHelp();
return 0;
return 1;
}
else if (args[lastArg].StartsWith("-"))
if (telemetryClient == null)
{
Reporter.Error.WriteLine($"Unknown option: {args[lastArg]}");
success = false;
telemetryClient = new Telemetry(nugetCacheSentinel);
}
else
{
// It's the command, and we're done!
command = args[lastArg];
break;
}
}
if (!success)
{
HelpCommand.PrintHelp();
return 1;
}
var appArgs = (lastArg + 1) >= args.Length ? Enumerable.Empty<string>() : args.Skip(lastArg + 1).ToArray();
@ -160,25 +168,22 @@ namespace Microsoft.DotNet.Cli
}
private static void ConfigureDotNetForFirstTimeUse()
private static void ConfigureDotNetForFirstTimeUse(INuGetCacheSentinel nugetCacheSentinel)
{
using (PerfTrace.Current.CaptureTiming())
{
using (var nugetPackagesArchiver = new NuGetPackagesArchiver())
{
using (var nugetCacheSentinel = new NuGetCacheSentinel())
{
var environmentProvider = new EnvironmentProvider();
var commandFactory = new DotNetCommandFactory();
var nugetCachePrimer =
new NuGetCachePrimer(commandFactory, nugetPackagesArchiver, nugetCacheSentinel);
var dotnetConfigurer = new DotnetFirstTimeUseConfigurer(
nugetCachePrimer,
nugetCacheSentinel,
environmentProvider);
var environmentProvider = new EnvironmentProvider();
var commandFactory = new DotNetCommandFactory();
var nugetCachePrimer =
new NuGetCachePrimer(commandFactory, nugetPackagesArchiver, nugetCacheSentinel);
var dotnetConfigurer = new DotnetFirstTimeUseConfigurer(
nugetCachePrimer,
nugetCacheSentinel,
environmentProvider);
dotnetConfigurer.Configure();
}
dotnetConfigurer.Configure();
}
}
}