Make dotnet cli portable
This commit is contained in:
parent
8df6f5405d
commit
18436e325e
38 changed files with 194 additions and 71 deletions
|
@ -237,6 +237,7 @@ namespace Microsoft.DotNet.Cli.Build
|
|||
|
||||
// We publish to a sub folder of the PublishRoot so tools like heat and zip can generate folder structures easier.
|
||||
string SharedFrameworkNameAndVersionRoot = Path.Combine(outputDir, "shared", SharedFrameworkName, SharedFrameworkNugetVersion);
|
||||
c.BuildContext["SharedFrameworkPath"] = SharedFrameworkNameAndVersionRoot;
|
||||
|
||||
if (Directory.Exists(SharedFrameworkNameAndVersionRoot))
|
||||
{
|
||||
|
@ -261,9 +262,7 @@ namespace Microsoft.DotNet.Cli.Build
|
|||
SharedFrameworkSourceRoot).Execute().EnsureSuccessful();
|
||||
|
||||
// Clean up artifacts that dotnet-publish generates which we don't need
|
||||
File.Delete(Path.Combine(SharedFrameworkNameAndVersionRoot, $"framework{Constants.ExeSuffix}"));
|
||||
File.Delete(Path.Combine(SharedFrameworkNameAndVersionRoot, "framework.dll"));
|
||||
File.Delete(Path.Combine(SharedFrameworkNameAndVersionRoot, "framework.pdb"));
|
||||
DeleteMainPublishOutput(SharedFrameworkNameAndVersionRoot, "framework");
|
||||
File.Delete(Path.Combine(SharedFrameworkNameAndVersionRoot, "framework.runtimeconfig.json"));
|
||||
|
||||
// Rename the .deps file
|
||||
|
@ -309,6 +308,9 @@ namespace Microsoft.DotNet.Cli.Build
|
|||
File.Copy(
|
||||
Path.Combine(Dirs.Corehost, CoreHostBaseName),
|
||||
Path.Combine(SharedFrameworkNameAndVersionRoot, $"dotnet{Constants.ExeSuffix}"), true);
|
||||
File.Copy(
|
||||
Path.Combine(Dirs.Corehost, CoreHostBaseName),
|
||||
Path.Combine(SharedFrameworkNameAndVersionRoot, CoreHostBaseName), true);
|
||||
File.Copy(
|
||||
Path.Combine(Dirs.Corehost, HostPolicyBaseName),
|
||||
Path.Combine(SharedFrameworkNameAndVersionRoot, HostPolicyBaseName), true);
|
||||
|
@ -355,20 +357,34 @@ namespace Microsoft.DotNet.Cli.Build
|
|||
|
||||
FixModeFlags(outputDir);
|
||||
|
||||
string compilersProject = Path.Combine(Dirs.RepoRoot, "src", "compilers");
|
||||
dotnet.Publish(compilersProject,
|
||||
"--output",
|
||||
outputDir,
|
||||
"--framework",
|
||||
"netstandard1.5")
|
||||
.Execute()
|
||||
.EnsureSuccessful();
|
||||
|
||||
var compilersDeps = Path.Combine(outputDir, "compilers.deps.json");
|
||||
var compilersRuntimeConfig = Path.Combine(outputDir, "compilers.runtimeconfig.json");
|
||||
|
||||
// Copy corehost
|
||||
File.Copy(Path.Combine(Dirs.Corehost, $"corehost{Constants.ExeSuffix}"), Path.Combine(outputDir, $"corehost{Constants.ExeSuffix}"), overwrite: true);
|
||||
File.Copy(Path.Combine(Dirs.Corehost, $"{Constants.DynamicLibPrefix}hostpolicy{Constants.DynamicLibSuffix}"), Path.Combine(outputDir, $"{Constants.DynamicLibPrefix}hostpolicy{Constants.DynamicLibSuffix}"), overwrite: true);
|
||||
File.Copy(Path.Combine(Dirs.Corehost, $"{Constants.DynamicLibPrefix}hostfxr{Constants.DynamicLibSuffix}"), Path.Combine(outputDir, $"{Constants.DynamicLibPrefix}hostfxr{Constants.DynamicLibSuffix}"), overwrite: true);
|
||||
|
||||
var binaryToCorehostifyOutDir = Path.Combine(outputDir, "runtimes", "any", "native");
|
||||
// Corehostify binaries
|
||||
foreach (var binaryToCorehostify in BinariesForCoreHost)
|
||||
{
|
||||
try
|
||||
{
|
||||
// Yes, it is .exe even on Linux. This is the managed exe we're working with
|
||||
File.Copy(Path.Combine(outputDir, $"{binaryToCorehostify}.exe"), Path.Combine(outputDir, $"{binaryToCorehostify}.dll"));
|
||||
File.Delete(Path.Combine(outputDir, $"{binaryToCorehostify}.exe"));
|
||||
File.Copy(Path.Combine(outputDir, $"corehost{Constants.ExeSuffix}"), Path.Combine(outputDir, binaryToCorehostify + Constants.ExeSuffix));
|
||||
File.Copy(Path.Combine(binaryToCorehostifyOutDir, $"{binaryToCorehostify}.exe"), Path.Combine(outputDir, $"{binaryToCorehostify}.dll"));
|
||||
File.Delete(Path.Combine(binaryToCorehostifyOutDir, $"{binaryToCorehostify}.exe"));
|
||||
File.Copy(compilersDeps, Path.Combine(outputDir, binaryToCorehostify + ".deps.json"));
|
||||
File.Copy(compilersRuntimeConfig, Path.Combine(outputDir, binaryToCorehostify + ".runtimeconfig.json"));
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
@ -376,9 +392,10 @@ namespace Microsoft.DotNet.Cli.Build
|
|||
}
|
||||
}
|
||||
|
||||
// dotnet.exe is from stage0. But we must be using the newly built corehost in stage1
|
||||
File.Delete(Path.Combine(outputDir, $"dotnet{Constants.ExeSuffix}"));
|
||||
File.Copy(Path.Combine(outputDir, $"corehost{Constants.ExeSuffix}"), Path.Combine(outputDir, $"dotnet{Constants.ExeSuffix}"));
|
||||
// cleanup compilers project output we don't need
|
||||
DeleteMainPublishOutput(outputDir, "compilers");
|
||||
File.Delete(compilersDeps);
|
||||
File.Delete(compilersRuntimeConfig);
|
||||
|
||||
// Crossgen Roslyn
|
||||
var result = CrossgenCliSdk(c, outputDir);
|
||||
|
@ -480,7 +497,13 @@ namespace Microsoft.DotNet.Cli.Build
|
|||
foreach (var assemblyToCrossgen in AssembliesToCrossGen)
|
||||
{
|
||||
c.Info($"Crossgenning {assemblyToCrossgen}");
|
||||
ExecInSilent(outputDir, crossgen, "-readytorun", "-nologo", "-platform_assemblies_paths", outputDir, assemblyToCrossgen);
|
||||
ExecInSilent(outputDir,
|
||||
crossgen,
|
||||
"-readytorun",
|
||||
"-nologo",
|
||||
"-platform_assemblies_paths",
|
||||
$"{outputDir}{Path.PathSeparator}{c.BuildContext["SharedFrameworkPath"]}",
|
||||
assemblyToCrossgen);
|
||||
}
|
||||
|
||||
c.Info("Crossgen complete");
|
||||
|
@ -534,6 +557,13 @@ namespace Microsoft.DotNet.Cli.Build
|
|||
return c.Success();
|
||||
}
|
||||
|
||||
private static void DeleteMainPublishOutput(string path, string name)
|
||||
{
|
||||
File.Delete(Path.Combine(path, $"{name}{Constants.ExeSuffix}"));
|
||||
File.Delete(Path.Combine(path, $"{name}.dll"));
|
||||
File.Delete(Path.Combine(path, $"{name}.pdb"));
|
||||
}
|
||||
|
||||
private static bool HasMetadata(string pathToFile)
|
||||
{
|
||||
try
|
||||
|
|
|
@ -96,7 +96,7 @@ namespace Microsoft.DotNet.Cli.Build
|
|||
File.SetAttributes(file, FileAttributes.Normal);
|
||||
File.Delete(file);
|
||||
}
|
||||
|
||||
System.Threading.Thread.Sleep(1);
|
||||
Directory.Delete(path, true);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
#
|
||||
|
||||
# Put the stage2 output on the front of the path
|
||||
$stage2 = "$PSScriptRoot\..\artifacts\win10-x64\stage2\bin"
|
||||
$stage2 = "$PSScriptRoot\..\artifacts\win10-x64\stage2"
|
||||
if (Test-Path $stage2) {
|
||||
$splat = $env:PATH.Split(";")
|
||||
$stage2 = Convert-Path $stage2
|
||||
|
|
|
@ -0,0 +1,34 @@
|
|||
using System.IO;
|
||||
using System.Linq;
|
||||
using Microsoft.DotNet.ProjectModel;
|
||||
using Microsoft.Extensions.PlatformAbstractions;
|
||||
|
||||
namespace Microsoft.DotNet.Cli.Utils
|
||||
{
|
||||
public class AppBaseDllCommandResolver : ICommandResolver
|
||||
{
|
||||
public CommandSpec Resolve(CommandResolverArguments commandResolverArguments)
|
||||
{
|
||||
if (commandResolverArguments.CommandName == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
if (commandResolverArguments.CommandName.EndsWith(FileNameSuffixes.DotNet.DynamicLib))
|
||||
{
|
||||
var localPath = Path.Combine(PlatformServices.Default.Application.ApplicationBasePath,
|
||||
commandResolverArguments.CommandName);
|
||||
if (File.Exists(localPath))
|
||||
{
|
||||
var escapedArgs = ArgumentEscaper.EscapeAndConcatenateArgArrayForProcessStart(
|
||||
new[] { localPath }
|
||||
.Concat(commandResolverArguments.CommandArguments.OrEmptyIfNull()));
|
||||
return new CommandSpec(
|
||||
new Muxer().MuxerPath,
|
||||
escapedArgs,
|
||||
CommandResolutionStrategy.RootedPath);
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -38,11 +38,13 @@ namespace Microsoft.DotNet.Cli.Utils
|
|||
{
|
||||
var compositeCommandResolver = new CompositeCommandResolver();
|
||||
|
||||
compositeCommandResolver.AddCommandResolver(new MuxerCommandResolver());
|
||||
compositeCommandResolver.AddCommandResolver(new RootedCommandResolver());
|
||||
compositeCommandResolver.AddCommandResolver(new ProjectToolsCommandResolver(packagedCommandSpecFactory));
|
||||
compositeCommandResolver.AddCommandResolver(new AppBaseDllCommandResolver());
|
||||
compositeCommandResolver.AddCommandResolver(new AppBaseCommandResolver(environment, platformCommandSpecFactory));
|
||||
compositeCommandResolver.AddCommandResolver(new PathCommandResolver(environment, platformCommandSpecFactory));
|
||||
|
||||
|
||||
return compositeCommandResolver;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,17 @@
|
|||
namespace Microsoft.DotNet.Cli.Utils
|
||||
{
|
||||
public class MuxerCommandResolver : ICommandResolver
|
||||
{
|
||||
public CommandSpec Resolve(CommandResolverArguments commandResolverArguments)
|
||||
{
|
||||
if (commandResolverArguments.CommandName == Muxer.MuxerName)
|
||||
{
|
||||
var muxer = new Muxer();
|
||||
var escapedArgs = ArgumentEscaper.EscapeAndConcatenateArgArrayForProcessStart(
|
||||
commandResolverArguments.CommandArguments.OrEmptyIfNull());
|
||||
return new CommandSpec(muxer.MuxerPath, escapedArgs, CommandResolutionStrategy.RootedPath);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -119,7 +119,7 @@ namespace Microsoft.DotNet.Cli.Utils
|
|||
}
|
||||
else
|
||||
{
|
||||
host = CoreHost.LocalHostExePath;
|
||||
host = CoreHost.HostExePath;
|
||||
}
|
||||
|
||||
arguments.Add(commandPath);
|
||||
|
|
|
@ -37,10 +37,11 @@ namespace Microsoft.DotNet.Cli.Utils
|
|||
var compositeCommandResolver = new CompositeCommandResolver();
|
||||
|
||||
compositeCommandResolver.AddCommandResolver(new RootedCommandResolver());
|
||||
compositeCommandResolver.AddCommandResolver(new MuxerCommandResolver());
|
||||
compositeCommandResolver.AddCommandResolver(new ProjectPathCommandResolver(environment, platformCommandSpecFactory));
|
||||
compositeCommandResolver.AddCommandResolver(new AppBaseCommandResolver(environment, platformCommandSpecFactory));
|
||||
compositeCommandResolver.AddCommandResolver(new PathCommandResolver(environment, platformCommandSpecFactory));
|
||||
|
||||
|
||||
return compositeCommandResolver;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
using System;
|
||||
using System.IO;
|
||||
using System.Reflection;
|
||||
using Microsoft.Extensions.PlatformAbstractions;
|
||||
|
||||
namespace Microsoft.DotNet.Cli.Utils
|
||||
|
@ -9,11 +10,6 @@ namespace Microsoft.DotNet.Cli.Utils
|
|||
internal static string _hostDir;
|
||||
internal static string _hostExePath;
|
||||
|
||||
/// <summary>
|
||||
/// Gets the path to the version of corehost that was shipped with this command
|
||||
/// </summary>
|
||||
public static string LocalHostExePath => Path.Combine(PlatformServices.Default.Application.ApplicationBasePath, Constants.HostExecutableName);
|
||||
|
||||
public static string HostExePath
|
||||
{
|
||||
get
|
||||
|
@ -32,8 +28,7 @@ namespace Microsoft.DotNet.Cli.Utils
|
|||
{
|
||||
if (_hostDir == null)
|
||||
{
|
||||
_hostDir = Path.GetDirectoryName(Env.GetCommandPath(
|
||||
Constants.HostExecutableName, new[] { string.Empty }));
|
||||
_hostDir = Path.GetDirectoryName(typeof(object).GetTypeInfo().Assembly.Location);
|
||||
}
|
||||
|
||||
return _hostDir;
|
||||
|
|
|
@ -1,13 +1,15 @@
|
|||
using System;
|
||||
using System.IO;
|
||||
using Microsoft.Extensions.PlatformAbstractions;
|
||||
using System.Diagnostics;
|
||||
using System.Reflection;
|
||||
|
||||
namespace Microsoft.DotNet.Cli.Utils
|
||||
{
|
||||
public class Muxer
|
||||
{
|
||||
private static readonly string s_muxerName = "dotnet";
|
||||
private static readonly string s_muxerFileName = s_muxerName + Constants.ExeSuffix;
|
||||
public static readonly string MuxerName = "dotnet";
|
||||
private static readonly string s_muxerFileName = MuxerName + Constants.ExeSuffix;
|
||||
|
||||
private string _muxerPath;
|
||||
|
||||
|
@ -15,6 +17,10 @@ namespace Microsoft.DotNet.Cli.Utils
|
|||
{
|
||||
get
|
||||
{
|
||||
if (_muxerPath == null)
|
||||
{
|
||||
throw new InvalidOperationException("Unable to locate dotnet multiplexer");
|
||||
}
|
||||
return _muxerPath;
|
||||
}
|
||||
}
|
||||
|
@ -29,8 +35,8 @@ namespace Microsoft.DotNet.Cli.Utils
|
|||
|
||||
private bool TryResolveMuxerFromParentDirectories()
|
||||
{
|
||||
var appBase = new DirectoryInfo(PlatformServices.Default.Application.ApplicationBasePath);
|
||||
var muxerDir = appBase.Parent?.Parent;
|
||||
var appBase = new FileInfo(typeof(object).GetTypeInfo().Assembly.Location);
|
||||
var muxerDir = appBase.Directory?.Parent?.Parent?.Parent;
|
||||
|
||||
if (muxerDir == null)
|
||||
{
|
||||
|
@ -50,7 +56,7 @@ namespace Microsoft.DotNet.Cli.Utils
|
|||
|
||||
private bool TryResolverMuxerFromPath()
|
||||
{
|
||||
var muxerPath = Env.GetCommandPath(s_muxerName, Constants.ExeSuffix);
|
||||
var muxerPath = Env.GetCommandPath(MuxerName, Constants.ExeSuffix);
|
||||
|
||||
if (muxerPath == null || !File.Exists(muxerPath))
|
||||
{
|
||||
|
|
|
@ -24,6 +24,17 @@ namespace Microsoft.DotNet.ProjectModel
|
|||
IsPortable = Framework != null;
|
||||
}
|
||||
|
||||
public static bool IsApplicationPortable(string entryAssemblyPath)
|
||||
{
|
||||
var runtimeConfigFile = Path.ChangeExtension(entryAssemblyPath, FileNameSuffixes.RuntimeConfigJson);
|
||||
if (File.Exists(runtimeConfigFile))
|
||||
{
|
||||
var runtimeConfig = new RuntimeConfig(runtimeConfigFile);
|
||||
return runtimeConfig.IsPortable;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private JObject OpenRuntimeConfig(string runtimeConfigPath)
|
||||
{
|
||||
return JObject.Parse(File.ReadAllText(runtimeConfigPath));
|
||||
|
|
11
src/compilers/Program.cs
Normal file
11
src/compilers/Program.cs
Normal file
|
@ -0,0 +1,11 @@
|
|||
using System;
|
||||
|
||||
namespace ConsoleApplication
|
||||
{
|
||||
public class Program
|
||||
{
|
||||
public static void Main(string[] args)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
26
src/compilers/project.json
Normal file
26
src/compilers/project.json
Normal file
|
@ -0,0 +1,26 @@
|
|||
{
|
||||
"version": "1.0.0-*",
|
||||
"compilationOptions": {
|
||||
"emitEntryPoint": true
|
||||
},
|
||||
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.App": {
|
||||
"type":"platform",
|
||||
"version":"1.0.0-rc2-23928"
|
||||
},
|
||||
"Microsoft.CodeAnalysis.CSharp": "1.3.0-beta1-20160321-04",
|
||||
"Microsoft.Net.Compilers.netcore": "1.3.0-beta1-20160321-04",
|
||||
"Microsoft.Net.CSharp.Interactive.netcore": "1.3.0-beta1-20160321-04",
|
||||
"Microsoft.FSharp.Compiler.netcore": "1.0.0-alpha-160318",
|
||||
"Microsoft.DiaSymReader.Native": "1.3.3",
|
||||
},
|
||||
"frameworks": {
|
||||
"netstandard1.5": {
|
||||
"imports": [
|
||||
"dnxcore50",
|
||||
"portable-net45+win8"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
|
@ -243,7 +243,7 @@ namespace Microsoft.DotNet.Tools.Compiler.Csc
|
|||
private static Command RunCsc(string[] cscArgs)
|
||||
{
|
||||
// Locate CoreRun
|
||||
return Command.Create("csc", cscArgs);
|
||||
return Command.Create("csc.dll", cscArgs);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -22,13 +22,8 @@
|
|||
},
|
||||
"NuGet.CommandLine.XPlat": "3.5.0-beta-1083",
|
||||
"Newtonsoft.Json": "7.0.1",
|
||||
"Microsoft.CodeAnalysis.CSharp": "1.3.0-beta1-20160321-04",
|
||||
"Microsoft.Net.Compilers.netcore": "1.3.0-beta1-20160321-04",
|
||||
"Microsoft.Net.CSharp.Interactive.netcore": "1.3.0-beta1-20160321-04",
|
||||
"Microsoft.FSharp.Compiler.netcore": "1.0.0-alpha-160318",
|
||||
"System.Text.Encoding.CodePages": "4.0.1-rc2-23928",
|
||||
"System.Diagnostics.FileVersionInfo": "4.0.0-rc2-23928",
|
||||
"Microsoft.DiaSymReader.Native": "1.3.3",
|
||||
"System.CommandLine": "0.1.0-e160323-1",
|
||||
"Microsoft.DotNet.ProjectModel": "1.0.0-*",
|
||||
"Microsoft.DotNet.Compiler.Common": "1.0.0-*",
|
||||
|
@ -52,7 +47,10 @@
|
|||
"Microsoft.Extensions.Testing.Abstractions": "1.0.0-*",
|
||||
"Microsoft.NETCore.ConsoleHost": "1.0.0-rc2-23928",
|
||||
"Microsoft.NETCore.TestHost": "1.0.0-rc2-23928",
|
||||
"Microsoft.NETCore.App": "1.0.0-rc2-23928",
|
||||
"Microsoft.NETCore.App": {
|
||||
"type":"platform",
|
||||
"version":"1.0.0-rc2-23928"
|
||||
},
|
||||
"System.Diagnostics.TraceSource": "4.0.0-rc2-23928",
|
||||
"System.Diagnostics.TextWriterTraceListener": "4.0.0-rc2-23928",
|
||||
"System.Resources.ReaderWriter": "4.0.0-rc2-23928",
|
||||
|
@ -64,9 +62,10 @@
|
|||
}
|
||||
},
|
||||
"frameworks": {
|
||||
"netstandardapp1.5": {
|
||||
"netstandard1.5": {
|
||||
"imports": [
|
||||
"dnxcore50",
|
||||
"netstandardapp1.5",
|
||||
"portable-net45+win8"
|
||||
]
|
||||
}
|
||||
|
|
|
@ -1,12 +0,0 @@
|
|||
{
|
||||
"runtimes": {
|
||||
"win10-x64": [ "win10", "win81-x64", "win81", "win8-x64", "win8", "win7-x64", "win7", "win-x64", "win", "any", "base" ],
|
||||
"win10-x86": [ "win10", "win81-x86", "win81", "win8-x86", "win8", "win7-x86", "win7", "win-x86", "win", "any", "base" ],
|
||||
"win81-x64": [ "win81", "win8-x64", "win8", "win7-x64", "win7", "win-x64", "win", "any", "base" ],
|
||||
"win81-x86": [ "win81", "win8-x86", "win8", "win7-x86", "win7", "win-x86", "win", "any", "base" ],
|
||||
"win8-x64": [ "win8", "win7-x64", "win7", "win-x64", "win", "any", "base" ],
|
||||
"win8-x86": [ "win8", "win7-x86", "win7", "win-x86", "win", "any", "base" ],
|
||||
"win7-x64": [ "win7", "win-x64", "win", "any", "base" ],
|
||||
"win7-x86": [ "win7", "win-x86", "win", "any", "base" ]
|
||||
}
|
||||
}
|
|
@ -4,7 +4,7 @@
|
|||
"emitEntryPoint": true
|
||||
},
|
||||
"dependencies": {
|
||||
"NETStandard.Library": "1.5.0-rc2-23928",
|
||||
"Microsoft.NETCore.App": "1.0.0-rc2-23928",
|
||||
"System.Runtime.Serialization.Primitives": "4.1.1-rc2-23928",
|
||||
"Microsoft.DotNet.ProjectModel": {
|
||||
"target": "project"
|
||||
|
@ -28,6 +28,6 @@
|
|||
},
|
||||
"testRunner": "xunit",
|
||||
"scripts": {
|
||||
"precompile": "dotnet build ../ArgumentsReflector/project.json --framework netstandardapp1.5 --runtime %compile:RuntimeIdentifier% --output %compile:RuntimeOutputDir%"
|
||||
"precompile": "dotnet publish ../ArgumentsReflector/project.json --framework netstandardapp1.5 --runtime %compile:RuntimeIdentifier% --output %compile:RuntimeOutputDir%"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
"emitEntryPoint": true
|
||||
},
|
||||
"dependencies": {
|
||||
"NETStandard.Library": "1.5.0-rc2-23928"
|
||||
"Microsoft.NETCore.App": "1.0.0-rc2-23928"
|
||||
},
|
||||
"frameworks": {
|
||||
"netstandardapp1.5": {
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
"emitEntryPoint": true
|
||||
},
|
||||
"dependencies": {
|
||||
"NETStandard.Library": "1.5.0-rc2-23928",
|
||||
"Microsoft.NETCore.App": "1.0.0-rc2-23928",
|
||||
"System.Runtime.Serialization.Primitives": "4.1.1-rc2-23928",
|
||||
"Microsoft.DotNet.ProjectModel": {
|
||||
"target": "project"
|
||||
|
|
|
@ -28,14 +28,16 @@ namespace Microsoft.DotNet.Cli.Utils.Tests
|
|||
|
||||
var resolvers = defaultCommandResolver.OrderedCommandResolvers;
|
||||
|
||||
resolvers.Should().HaveCount(4);
|
||||
resolvers.Should().HaveCount(6);
|
||||
|
||||
resolvers.Select(r => r.GetType())
|
||||
.Should()
|
||||
.ContainInOrder(
|
||||
new []{
|
||||
typeof(MuxerCommandResolver),
|
||||
typeof(RootedCommandResolver),
|
||||
typeof(ProjectToolsCommandResolver),
|
||||
typeof(AppBaseDllCommandResolver),
|
||||
typeof(AppBaseCommandResolver),
|
||||
typeof(PathCommandResolver)
|
||||
});
|
||||
|
|
|
@ -28,13 +28,14 @@ namespace Microsoft.DotNet.Cli.Utils.Tests
|
|||
|
||||
var resolvers = scriptCommandResolver.OrderedCommandResolvers;
|
||||
|
||||
resolvers.Should().HaveCount(4);
|
||||
resolvers.Should().HaveCount(5);
|
||||
|
||||
resolvers.Select(r => r.GetType())
|
||||
.Should()
|
||||
.ContainInOrder(
|
||||
new []{
|
||||
typeof(RootedCommandResolver),
|
||||
typeof(MuxerCommandResolver),
|
||||
typeof(ProjectPathCommandResolver),
|
||||
typeof(AppBaseCommandResolver),
|
||||
typeof(PathCommandResolver)
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
"emitEntryPoint": true
|
||||
},
|
||||
"dependencies": {
|
||||
"NETStandard.Library": "1.5.0-rc2-23928",
|
||||
"Microsoft.NETCore.App": "1.0.0-rc2-23928",
|
||||
"System.Runtime.Serialization.Primitives": "4.1.1-rc2-23928",
|
||||
"NuGet.Versioning": "3.5.0-beta-1083",
|
||||
"NuGet.Packaging": "3.5.0-beta-1083",
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"version": "1.0.0-*",
|
||||
"dependencies": {
|
||||
"NETStandard.Library": "1.5.0-rc2-23928",
|
||||
"Microsoft.NETCore.App": "1.0.0-rc2-23928",
|
||||
"System.Runtime.Serialization.Primitives": "4.1.1-rc2-23928",
|
||||
"Microsoft.DotNet.Tools.Tests.Utilities": {
|
||||
"target": "project"
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"version": "1.0.0-*",
|
||||
"dependencies": {
|
||||
"NETStandard.Library": "1.5.0-rc2-23928",
|
||||
"Microsoft.NETCore.App": "1.0.0-rc2-23928",
|
||||
"System.Runtime.Serialization.Primitives": "4.1.1-rc2-23928",
|
||||
"Microsoft.DotNet.ProjectModel": {
|
||||
"target": "project"
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
"keyFile": "../../tools/Key.snk"
|
||||
},
|
||||
"dependencies": {
|
||||
"NETStandard.Library": "1.5.0-rc2-23928",
|
||||
"Microsoft.NETCore.App": "1.0.0-rc2-23928",
|
||||
"System.Runtime.Serialization.Primitives": "4.1.1-rc2-23928",
|
||||
"System.Collections.Immutable": "1.2.0-rc2-23928",
|
||||
"FluentAssertions": "4.0.0",
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
"keyFile": "../../tools/Key.snk"
|
||||
},
|
||||
"dependencies": {
|
||||
"NETStandard.Library": "1.5.0-rc2-23928",
|
||||
"Microsoft.NETCore.App": "1.0.0-rc2-23928",
|
||||
"Microsoft.DotNet.Tools.Tests.Utilities": {
|
||||
"target": "project"
|
||||
},
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"version": "1.0.0-*",
|
||||
"dependencies": {
|
||||
"NETStandard.Library": "1.5.0-rc2-23928",
|
||||
"Microsoft.NETCore.App": "1.0.0-rc2-23928",
|
||||
"Microsoft.DotNet.ProjectModel": {
|
||||
"target": "project"
|
||||
},
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"version": "1.0.0-*",
|
||||
"dependencies": {
|
||||
"NETStandard.Library": "1.5.0-rc2-23928",
|
||||
"Microsoft.NETCore.App": "1.0.0-rc2-23928",
|
||||
"System.Runtime.Serialization.Primitives": "4.1.1-rc2-23928",
|
||||
"Microsoft.DotNet.Tools.Tests.Utilities": {
|
||||
"target": "project"
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"version": "1.0.0-*",
|
||||
"dependencies": {
|
||||
"NETStandard.Library": "1.5.0-rc2-23928",
|
||||
"Microsoft.NETCore.App": "1.0.0-rc2-23928",
|
||||
"System.Runtime.Serialization.Primitives": "4.1.1-rc2-23928",
|
||||
"Microsoft.DotNet.Tools.Tests.Utilities": {
|
||||
"target": "project"
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
{
|
||||
"version": "1.0.0-*",
|
||||
"dependencies": {
|
||||
"NETStandard.Library": "1.5.0-rc2-23928",
|
||||
"Microsoft.DotNet.Cli.Utils": {
|
||||
"target": "project"
|
||||
},
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"version": "1.0.0-*",
|
||||
"dependencies": {
|
||||
"NETStandard.Library": "1.5.0-rc2-23928",
|
||||
"Microsoft.NETCore.App": "1.0.0-rc2-23928",
|
||||
"System.Runtime.Serialization.Primitives": "4.1.1-rc2-23928",
|
||||
"System.IO.Compression.ZipFile": "4.0.1-rc2-23928",
|
||||
"Microsoft.DotNet.Tools.Tests.Utilities": {
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
{
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.App": "1.0.0-rc2-23925",
|
||||
"dotnet": {
|
||||
"target": "project"
|
||||
},
|
||||
|
@ -7,10 +8,10 @@
|
|||
"version": "4.0.0-rc2-23928",
|
||||
"exclude": "Compile"
|
||||
},
|
||||
"Microsoft.DotNet.ProjectModel": {
|
||||
"Microsoft.DotNet.Tools.Tests.Utilities": {
|
||||
"target": "project"
|
||||
},
|
||||
"Microsoft.DotNet.Tools.Tests.Utilities": {
|
||||
"Microsoft.DotNet.ProjectModel": {
|
||||
"target": "project"
|
||||
},
|
||||
"xunit": "2.1.0",
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"version": "1.0.0-*",
|
||||
"dependencies": {
|
||||
"NETStandard.Library": "1.5.0-rc2-23928",
|
||||
"Microsoft.NETCore.App": "1.0.0-rc2-23928",
|
||||
"System.Runtime.Serialization.Primitives": "4.1.1-rc2-23928",
|
||||
"Microsoft.DotNet.TestFramework": "1.0.0-*",
|
||||
"Microsoft.DotNet.Tools.Tests.Utilities": {
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"version": "1.0.0-*",
|
||||
"dependencies": {
|
||||
"NETStandard.Library": "1.5.0-rc2-23928",
|
||||
"Microsoft.NETCore.App": "1.0.0-rc2-23928",
|
||||
"System.Runtime.Serialization.Primitives": "4.1.1-rc2-23928",
|
||||
"Microsoft.DotNet.Tools.Tests.Utilities": {
|
||||
"target": "project"
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"version": "1.0.0-*",
|
||||
"dependencies": {
|
||||
"NETStandard.Library": "1.5.0-rc2-23928",
|
||||
"Microsoft.NETCore.App": "1.0.0-rc2-23928",
|
||||
"System.Runtime.Serialization.Primitives": "4.1.1-rc2-23928",
|
||||
"Microsoft.DotNet.Tools.Tests.Utilities": {
|
||||
"target": "project"
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
{
|
||||
"version": "1.0.0-*",
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.App": "1.0.0-rc2-23928",
|
||||
"Newtonsoft.Json": "7.0.1",
|
||||
"NETStandard.Library": "1.5.0-rc2-23928",
|
||||
"Microsoft.DotNet.Tools.Tests.Utilities": {
|
||||
"target": "project"
|
||||
},
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
{
|
||||
"version": "1.0.0-*",
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.App": "1.0.0-rc2-23928",
|
||||
"Newtonsoft.Json": "7.0.1",
|
||||
"NETStandard.Library": "1.5.0-rc2-23928",
|
||||
"dotnet": {
|
||||
"target": "project"
|
||||
},
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"version": "1.0.0-*",
|
||||
"dependencies": {
|
||||
"NETStandard.Library": "1.5.0-rc2-23928",
|
||||
"Microsoft.NETCore.App": "1.0.0-rc2-23928",
|
||||
"System.Runtime.Serialization.Primitives": "4.1.1-rc2-23928",
|
||||
"Microsoft.DotNet.Tools.Tests.Utilities": {
|
||||
"target": "project"
|
||||
|
|
Loading…
Reference in a new issue