diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000000..25698fdd7f --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,11 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "name": ".NET Core Attach", + "type": "coreclr", + "request": "attach", + "processId": 51238 + } + ] +} \ No newline at end of file diff --git a/NuGet.Config b/NuGet.Config index 735c63e5af..1a06e66314 100644 --- a/NuGet.Config +++ b/NuGet.Config @@ -2,7 +2,9 @@ - + + + diff --git a/build.cake b/build.cake index e37d7c06b5..da83155c01 100644 --- a/build.cake +++ b/build.cake @@ -204,7 +204,7 @@ Task("PopulateRuntimes") Task("BuildEnvironment") .Does(() => { - var installScript = $"install.{shellExtension}"; + var installScript = $"dotnet-install.{shellExtension}"; CreateDirectory(dotnetFolder); var scriptPath = new FilePath($"{dotnetFolder}/{installScript}"); DownloadFile($"{buildPlan.DotNetInstallScriptURL}/{installScript}", scriptPath); diff --git a/build.json b/build.json index 596509ba88..aaa19e5105 100644 --- a/build.json +++ b/build.json @@ -1,9 +1,9 @@ { "UseSystemDotNetPath" : "false", "DotNetFolder": ".dotnet", - "DotNetInstallScriptURL": "https://raw.githubusercontent.com/dotnet/cli/rel/1.0.0/scripts/obtain", + "DotNetInstallScriptURL": "https://raw.githubusercontent.com/dotnet/cli/6cde21225e18fc48eeab3f4345ece3e6bb122e53/scripts/obtain/", "DotNetChannel": "beta", - "DotNetVersion": "1.0.0-beta-002202", + "DotNetVersion": "1.0.0-preview1-002702", "BuildToolsFolder": ".tools", "ArtifactsFolder": "artifacts", "TestProjects": { diff --git a/src/OmniSharp.Abstractions/project.json b/src/OmniSharp.Abstractions/project.json index 91f2c01e8a..0363ffaa6e 100644 --- a/src/OmniSharp.Abstractions/project.json +++ b/src/OmniSharp.Abstractions/project.json @@ -6,15 +6,15 @@ }, "dependencies": { "Newtonsoft.Json": "8.0.3", - "Microsoft.CodeAnalysis": "1.3.0-beta1-20160321-04", + "Microsoft.CodeAnalysis": "1.3.0-beta1-20160429-01", "Microsoft.Composition": "1.0.30", - "Microsoft.Extensions.Caching.Memory": "1.0.0-rc2-20449", - "Microsoft.Extensions.Configuration": "1.0.0-rc2-20449", - "Microsoft.Extensions.Configuration.Binder": "1.0.0-rc2-20449", - "Microsoft.Extensions.FileSystemGlobbing": "1.0.0-rc2-20449", - "Microsoft.Extensions.Logging.Console": "1.0.0-rc2-20449", - "Microsoft.Extensions.PlatformAbstractions": "1.0.0-rc2-20449", - "System.Reflection.Metadata": "1.3.0-rc2-23931" + "Microsoft.Extensions.Caching.Memory": "1.0.0-rc2-final", + "Microsoft.Extensions.Configuration": "1.0.0-rc2-final", + "Microsoft.Extensions.Configuration.Binder": "1.0.0-rc2-final", + "Microsoft.Extensions.FileSystemGlobbing": "1.0.0-rc2-final", + "Microsoft.Extensions.Logging.Console": "1.0.0-rc2-final", + "Microsoft.Extensions.PlatformAbstractions": "1.0.0-rc2-final", + "System.Reflection.Metadata": "1.3.0-rc2-24027" }, "frameworks": { "net451": { @@ -39,11 +39,11 @@ "portable-net45+win8" ], "dependencies": { - "NETStandard.Library": "1.5.0-rc2-23931", - "System.Diagnostics.Process": "4.1.0-rc2-23931", - "System.Dynamic.Runtime": "4.0.11-rc2-23931", - "System.IO.FileSystem.Watcher": "4.0.0-rc2-23931", - "System.Threading.Thread": "4.0.0-rc2-23931" + "NETStandard.Library": "1.5.0-rc2-24027", + "System.Diagnostics.Process": "4.1.0-rc2-24027", + "System.Dynamic.Runtime": "4.0.11-rc2-24027", + "System.IO.FileSystem.Watcher": "4.0.0-rc2-24027", + "System.Threading.Thread": "4.0.0-rc2-24027" } } } diff --git a/src/OmniSharp.Bootstrap/project.json b/src/OmniSharp.Bootstrap/project.json index 2743045cc0..4d153b18f8 100644 --- a/src/OmniSharp.Bootstrap/project.json +++ b/src/OmniSharp.Bootstrap/project.json @@ -6,7 +6,7 @@ }, "dependencies": { "Microsoft.Composition": "1.0.30", - "Microsoft.Extensions.PlatformAbstractions": "1.0.0-rc2-20449", + "Microsoft.Extensions.PlatformAbstractions": "1.0.0-rc2-final", "Newtonsoft.Json": "8.0.3" }, "commands": { @@ -25,11 +25,11 @@ "portable-net45+win8" ], "dependencies": { - "NETStandard.Library": "1.5.0-rc2-23931", - "System.Dynamic.Runtime": "4.0.11-rc2-23931", - "System.Linq.Expressions": "4.0.11-rc2-23931", - "System.Security.Cryptography.Algorithms": "4.1.0-rc2-23931", - "System.Xml.XDocument": "4.0.11-rc2-23931" + "NETStandard.Library": "1.5.0-rc2-24027", + "System.Dynamic.Runtime": "4.0.11-rc2-24027", + "System.Linq.Expressions": "4.0.11-rc2-24027", + "System.Security.Cryptography.Algorithms": "4.1.0-rc2-24027", + "System.Xml.XDocument": "4.0.11-rc2-24027" } } } diff --git a/src/OmniSharp.DotNet/DotNetProjectSystem.cs b/src/OmniSharp.DotNet/DotNetProjectSystem.cs index 6299db5d1c..e7ae026c79 100644 --- a/src/OmniSharp.DotNet/DotNetProjectSystem.cs +++ b/src/OmniSharp.DotNet/DotNetProjectSystem.cs @@ -34,7 +34,7 @@ public class DotNetProjectSystem : IProjectSystem private readonly PackagesRestoreTool _packageRestore; private readonly OmnisharpWorkspace _omnisharpWorkspace; private readonly ProjectStatesCache _projectStates; - private WorkspaceContext _workspaceContext; + private DotNetWorkspace _workspaceContext; private bool _enableRestorePackages = false; [ImportingConstructor] @@ -98,11 +98,7 @@ public void Initalize(IConfiguration configuration) _logger.LogInformation($"Auto package restore: {_enableRestorePackages}"); - _workspaceContext = WorkspaceContext.CreateFrom(_environment.Path); - if (_workspaceContext == null) - { - throw new NotImplementedException($"Failed to initialize {typeof(WorkspaceContext)} at {_environment.Path}."); - } + _workspaceContext = new DotNetWorkspace(_environment.Path); Update(allowRestore: true); } diff --git a/src/OmniSharp.DotNet/DotNetWorkspace.cs b/src/OmniSharp.DotNet/DotNetWorkspace.cs new file mode 100644 index 0000000000..8209478a1d --- /dev/null +++ b/src/OmniSharp.DotNet/DotNetWorkspace.cs @@ -0,0 +1,169 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using Microsoft.DotNet.ProjectModel; +using Microsoft.DotNet.ProjectModel.Graph; + +namespace OmniSharp.DotNet +{ + + public class DotNetWorkspace : Workspace + { + private readonly HashSet _projects = new HashSet(StringComparer.OrdinalIgnoreCase); + + private bool _needRefresh; + + public DotNetWorkspace(string initialPath) : base(ProjectReaderSettings.ReadFromEnvironment(), true) + { + var paths = ResolveProjectPath(initialPath); + if (paths != null && paths.Any()) + { + foreach (var path in paths) + { + AddProject(path); + } + } + } + + public void AddProject(string path) + { + var projectPath = NormalizeProjectPath(path); + + if (projectPath != null) + { + _needRefresh = _projects.Add(path); + } + } + + public void RemoveProject(string path) + { + _needRefresh = _projects.Remove(path); + } + + public IReadOnlyList GetAllProjects() + { + Refresh(); + return _projects.ToList().AsReadOnly(); + } + + public IReadOnlyList GetProjectContexts(string projectPath) + { + return (IReadOnlyList)GetProjectContextCollection(projectPath)?.ProjectContexts.AsReadOnly() ?? + Enumerable.Empty().ToList().AsReadOnly(); + } + + /// + /// Refresh all cached projects in the Workspace + /// + public void Refresh() + { + if (!_needRefresh) + { + return; + } + + var basePaths = new List(_projects); + _projects.Clear(); + + foreach (var projectDirectory in basePaths) + { + var project = GetProject(projectDirectory); + if (project == null) + { + continue; + } + + _projects.Add(project.ProjectDirectory); + + foreach (var projectContext in GetProjectContextCollection(project.ProjectDirectory).ProjectContexts) + { + foreach (var reference in GetProjectReferences(projectContext)) + { + var referencedProject = GetProject(reference.Path); + if (referencedProject != null) + { + _projects.Add(referencedProject.ProjectDirectory); + } + } + } + } + + _needRefresh = false; + } + + protected override IEnumerable BuildProjectContexts(Project project) + { + foreach (var framework in project.GetTargetFrameworks()) + { + yield return CreateBaseProjectBuilder(project) + .AsDesignTime() + .WithTargetFramework(framework.FrameworkName) + .Build(); + } + } + + private static List ResolveProjectPath(string projectPath) + { + if (File.Exists(projectPath)) + { + var filename = Path.GetFileName(projectPath); + if (!Project.FileName.Equals(filename, StringComparison.OrdinalIgnoreCase) && + !GlobalSettings.FileName.Equals(filename, StringComparison.OrdinalIgnoreCase)) + { + return null; + } + + projectPath = Path.GetDirectoryName(projectPath); + } + + if (File.Exists(Path.Combine(projectPath, Project.FileName))) + { + return new List { projectPath }; + } + + if (File.Exists(Path.Combine(projectPath, GlobalSettings.FileName))) + { + var root = ProjectRootResolver.ResolveRootDirectory(projectPath); + GlobalSettings globalSettings; + if (GlobalSettings.TryGetGlobalSettings(projectPath, out globalSettings)) + { + return globalSettings.ProjectSearchPaths + .Select(searchPath => Path.Combine(globalSettings.DirectoryPath, searchPath)) + .Where(actualPath => Directory.Exists(actualPath)) + .SelectMany(actualPath => Directory.GetDirectories(actualPath)) + .Where(actualPath => File.Exists(Path.Combine(actualPath, Project.FileName))) + .Select(path => Path.GetFullPath(path)) + .Distinct(StringComparer.OrdinalIgnoreCase) + .ToList(); + } + } + + return null; + } + + private static IEnumerable GetProjectReferences(ProjectContext context) + { + var projectDescriptions = context.LibraryManager + .GetLibraries() + .Where(lib => lib.Identity.Type == LibraryType.Project) + .OfType(); + + foreach (var description in projectDescriptions) + { + if (description.Identity.Name == context.ProjectFile.Name) + { + continue; + } + + // if this is an assembly reference then don't threat it as project reference + if (!string.IsNullOrEmpty(description.TargetFrameworkInfo?.AssemblyPath)) + { + continue; + } + + yield return description; + } + } + } +} \ No newline at end of file diff --git a/src/OmniSharp.DotNet/project.json b/src/OmniSharp.DotNet/project.json index 4fe31d02e6..946e0fb467 100644 --- a/src/OmniSharp.DotNet/project.json +++ b/src/OmniSharp.DotNet/project.json @@ -4,12 +4,12 @@ "preserveCompilationContext": true }, "dependencies": { - "OmniSharp.Abstractions": "1.0.0-*", - "OmniSharp.Roslyn": "1.0.0-*", - "Microsoft.CodeAnalysis": "1.3.0-beta1-20160321-04", - "Microsoft.CodeAnalysis.Common": "1.3.0-beta1-20160321-04", - "Microsoft.DotNet.ProjectModel": "1.0.0-beta-002202", - "Microsoft.Extensions.PlatformAbstractions": "1.0.0-rc2-20449" + "OmniSharp.Abstractions": "1.0.0", + "OmniSharp.Roslyn": "1.0.0", + "Microsoft.CodeAnalysis": "1.3.0-beta1-20160429-01", + "Microsoft.CodeAnalysis.Common": "1.3.0-beta1-20160429-01", + "Microsoft.DotNet.ProjectModel": "1.0.0-rc2-002702", + "Microsoft.Extensions.PlatformAbstractions": "1.0.0-rc2-final" }, "frameworks": { "net451": { @@ -24,11 +24,11 @@ "portable-net45+win8" ], "dependencies": { - "NETStandard.Library": "1.5.0-rc2-23931", - "System.IO.Compression": "4.1.0-rc2-23931", - "System.Runtime.Loader": "4.0.0-rc2-23931", - "System.Runtime.Serialization.Primitives": "4.1.1-rc2-23931", - "System.Security.Cryptography.Algorithms": "4.1.0-rc2-23931" + "NETStandard.Library": "1.5.0-rc2-24027", + "System.IO.Compression": "4.1.0-rc2-24027", + "System.Runtime.Loader": "4.0.0-rc2-24027", + "System.Runtime.Serialization.Primitives": "4.1.1-rc2-24027", + "System.Security.Cryptography.Algorithms": "4.1.0-rc2-24027" } } } diff --git a/src/OmniSharp.Host/Startup.cs b/src/OmniSharp.Host/Startup.cs index 91c23d254b..af7291ac8e 100644 --- a/src/OmniSharp.Host/Startup.cs +++ b/src/OmniSharp.Host/Startup.cs @@ -26,10 +26,12 @@ namespace OmniSharp { public class Startup { - public Startup(IApplicationEnvironment applicationEnvironment) + public Startup() { + var appEnv = PlatformServices.Default.Application; + var configBuilder = new ConfigurationBuilder() - .SetBasePath(applicationEnvironment.ApplicationBasePath) + .SetBasePath(appEnv.ApplicationBasePath) .AddJsonFile("config.json", optional: true) .AddEnvironmentVariables(); diff --git a/src/OmniSharp.Host/project.json b/src/OmniSharp.Host/project.json index eddcd44b83..8390f37f43 100644 --- a/src/OmniSharp.Host/project.json +++ b/src/OmniSharp.Host/project.json @@ -5,23 +5,25 @@ "preserveCompilationContext": true }, "dependencies": { - "OmniSharp.Abstractions": "1.0.0-*", - "OmniSharp.Nuget": "1.0.0-*", - "OmniSharp.Stdio": "1.0.0-*", - "OmniSharp.Plugins": "1.0.0-*", - "OmniSharp.Roslyn": "1.0.0-*", - "Microsoft.AspNetCore.Diagnostics": "1.0.0-rc2-20449", - "Microsoft.AspNetCore.Server.Kestrel": "1.0.0-rc2-20449", + "OmniSharp.Abstractions": "1.0.0", + "OmniSharp.Nuget": "1.0.0", + "OmniSharp.Stdio": "1.0.0", + "OmniSharp.Plugins": "1.0.0", + "OmniSharp.Roslyn": "1.0.0", + "Microsoft.AspNetCore.Diagnostics": "1.0.0-rc2-final", + "Microsoft.AspNetCore.Server.Kestrel": "1.0.0-rc2-final", "Microsoft.Composition": "1.0.30", - "Microsoft.DotNet.ProjectModel": "1.0.0-beta-002202", - "Microsoft.Extensions.Caching.Memory": "1.0.0-rc2-20449", - "Microsoft.Extensions.Configuration.Json": "1.0.0-rc2-20449", - "Microsoft.Extensions.DependencyModel": "1.0.0-beta-002202", - "Microsoft.Extensions.DependencyInjection.Abstractions": "1.0.0-rc2-20449", - "Microsoft.Extensions.FileSystemGlobbing": "1.0.0-rc2-20449", - "Microsoft.Extensions.Logging.Console": "1.0.0-rc2-20449", - "Microsoft.Extensions.Options": "1.0.0-rc2-20449", - "Microsoft.Extensions.Options.ConfigurationExtensions": "1.0.0-rc2-20449" + "Microsoft.DotNet.ProjectModel": "1.0.0-rc2-002702", + "Microsoft.Extensions.Caching.Memory": "1.0.0-rc2-final", + "Microsoft.Extensions.Configuration.Json": "1.0.0-rc2-final", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0-rc2-final", + "Microsoft.Extensions.Configuration.CommandLine": "1.0.0-rc2-final", + "Microsoft.Extensions.DependencyModel": "1.0.0-rc2-002702", + "Microsoft.Extensions.DependencyInjection.Abstractions": "1.0.0-rc2-final", + "Microsoft.Extensions.FileSystemGlobbing": "1.0.0-rc2-final", + "Microsoft.Extensions.Logging.Console": "1.0.0-rc2-final", + "Microsoft.Extensions.Options": "1.0.0-rc2-final", + "Microsoft.Extensions.Options.ConfigurationExtensions": "1.0.0-rc2-final" }, "frameworks": { "net451": { @@ -37,9 +39,9 @@ "portable-net45+win8" ], "dependencies": { - "NETStandard.Library": "1.5.0-rc2-23931", - "System.Runtime.Loader": "4.0.0-rc2-23931", - "System.IO.Compression": "4.1.0-rc2-23931" + "NETStandard.Library": "1.5.0-rc2-24027", + "System.Runtime.Loader": "4.0.0-rc2-24027", + "System.IO.Compression": "4.1.0-rc2-24027" } } } diff --git a/src/OmniSharp.MSBuild/project.json b/src/OmniSharp.MSBuild/project.json index 9ae9d55dc9..85237f5b4c 100644 --- a/src/OmniSharp.MSBuild/project.json +++ b/src/OmniSharp.MSBuild/project.json @@ -5,9 +5,9 @@ "preserveCompilationContext": true }, "dependencies": { - "OmniSharp.Abstractions": "1.0.0-*", - "OmniSharp.Roslyn.CSharp": "1.0.0-*", - "Microsoft.Extensions.Options": "1.0.0-rc2-20449" + "OmniSharp.Abstractions": "1.0.0", + "OmniSharp.Roslyn.CSharp": "1.0.0", + "Microsoft.Extensions.Options": "1.0.0-rc2-final" }, "frameworks": { "net451": { diff --git a/src/OmniSharp.Nuget/project.json b/src/OmniSharp.Nuget/project.json index 3d02c78ceb..0485574343 100644 --- a/src/OmniSharp.Nuget/project.json +++ b/src/OmniSharp.Nuget/project.json @@ -5,17 +5,17 @@ "preserveCompilationContext": true }, "dependencies": { - "OmniSharp.Abstractions": "1.0.0-*", - "OmniSharp.Roslyn": "1.0.0-*" + "OmniSharp.Abstractions": "1.0.0", + "OmniSharp.Roslyn": "1.0.0" }, "frameworks": { "net451": { "dependencies": { - "NuGet.Configuration": "3.5.0-beta-1123", + "NuGet.Configuration": "3.5.0-beta-final", "NuGet.Protocol.Core.v2": "3.3.0", "NuGet.Protocol.Core.v3": "3.3.0", - "NuGet.Packaging": "3.5.0-beta-1123", - "NuGet.Packaging.Core": "3.5.0-beta-1123", + "NuGet.Packaging": "3.5.0-beta-final", + "NuGet.Packaging.Core": "3.5.0-beta-final", "Microsoft.Web.Xdt": "2.1.1" }, "frameworkAssemblies": { @@ -36,7 +36,7 @@ "portable-net45+win8" ], "dependencies": { - "NETStandard.Library": "1.5.0-rc2-23931" + "NETStandard.Library": "1.5.0-rc2-24027" } } } diff --git a/src/OmniSharp.Plugins/project.json b/src/OmniSharp.Plugins/project.json index 15a3a14076..d62ec491e2 100644 --- a/src/OmniSharp.Plugins/project.json +++ b/src/OmniSharp.Plugins/project.json @@ -5,13 +5,13 @@ "preserveCompilationContext": true }, "dependencies": { - "OmniSharp.Abstractions": "1.0.0-*", + "OmniSharp.Abstractions": "1.0.0", "Newtonsoft.Json": "8.0.3", - "Microsoft.CodeAnalysis": "1.3.0-beta1-20160321-04", - "Microsoft.CodeAnalysis.CSharp": "1.3.0-beta1-20160321-04", - "Microsoft.CodeAnalysis.CSharp.Features": "1.3.0-beta1-20160321-04", - "Microsoft.CodeAnalysis.CSharp.Workspaces": "1.3.0-beta1-20160321-04", - "Microsoft.CodeAnalysis.VisualBasic.Workspaces": "1.3.0-beta1-20160321-04" + "Microsoft.CodeAnalysis": "1.3.0-beta1-20160429-01", + "Microsoft.CodeAnalysis.CSharp": "1.3.0-beta1-20160429-01", + "Microsoft.CodeAnalysis.CSharp.Features": "1.3.0-beta1-20160429-01", + "Microsoft.CodeAnalysis.CSharp.Workspaces": "1.3.0-beta1-20160429-01", + "Microsoft.CodeAnalysis.VisualBasic.Workspaces": "1.3.0-beta1-20160429-01" }, "frameworks": { "net451": { @@ -26,7 +26,7 @@ "portable-net45+win8" ], "dependencies": { - "NETStandard.Library": "1.5.0-rc2-23931" + "NETStandard.Library": "1.5.0-rc2-24027" } } } diff --git a/src/OmniSharp.Roslyn.CSharp/project.json b/src/OmniSharp.Roslyn.CSharp/project.json index 5b11d00de0..f468df4e14 100644 --- a/src/OmniSharp.Roslyn.CSharp/project.json +++ b/src/OmniSharp.Roslyn.CSharp/project.json @@ -5,11 +5,11 @@ "preserveCompilationContext": true }, "dependencies": { - "OmniSharp.Abstractions": "1.0.0-*", - "OmniSharp.Roslyn": "1.0.0-*", - "Microsoft.CodeAnalysis.CSharp": "1.3.0-beta1-20160321-04", - "Microsoft.CodeAnalysis.CSharp.Features": "1.3.0-beta1-20160321-04", - "Microsoft.CodeAnalysis.CSharp.Workspaces": "1.3.0-beta1-20160321-04" + "OmniSharp.Abstractions": "1.0.0", + "OmniSharp.Roslyn": "1.0.0", + "Microsoft.CodeAnalysis.CSharp": "1.3.0-beta1-20160429-01", + "Microsoft.CodeAnalysis.CSharp.Features": "1.3.0-beta1-20160429-01", + "Microsoft.CodeAnalysis.CSharp.Workspaces": "1.3.0-beta1-20160429-01" }, "frameworks": { "net451": { @@ -35,8 +35,8 @@ "portable-net45+win8" ], "dependencies": { - "NETStandard.Library": "1.5.0-rc2-23931", - "System.Threading.Tasks.Parallel": "4.0.1-rc2-23931" + "NETStandard.Library": "1.5.0-rc2-24027", + "System.Threading.Tasks.Parallel": "4.0.1-rc2-24027" } } } diff --git a/src/OmniSharp.Roslyn/project.json b/src/OmniSharp.Roslyn/project.json index 41952654b1..e684beb730 100644 --- a/src/OmniSharp.Roslyn/project.json +++ b/src/OmniSharp.Roslyn/project.json @@ -5,9 +5,9 @@ "preserveCompilationContext": true }, "dependencies": { - "OmniSharp.Abstractions": "1.0.0-*", - "Microsoft.Extensions.PlatformAbstractions": "1.0.0-rc2-20449", - "Microsoft.CodeAnalysis": "1.3.0-beta1-20160321-04" + "OmniSharp.Abstractions": "1.0.0", + "Microsoft.Extensions.PlatformAbstractions": "1.0.0-rc2-final", + "Microsoft.CodeAnalysis": "1.3.0-beta1-20160429-01" }, "frameworks": { "net451": { @@ -34,9 +34,9 @@ "portable-net45+win8" ], "dependencies": { - "NETStandard.Library": "1.5.0-rc2-23931", - "System.Reflection.TypeExtensions": "4.1.0-rc2-23931", - "System.Xml.XDocument": "4.0.11-rc2-23931" + "NETStandard.Library": "1.5.0-rc2-24027", + "System.Reflection.TypeExtensions": "4.1.0-rc2-24027", + "System.Xml.XDocument": "4.0.11-rc2-24027" } } } diff --git a/src/OmniSharp.ScriptCs/project.json b/src/OmniSharp.ScriptCs/project.json index 5178ca1b6f..3dfc792fbe 100644 --- a/src/OmniSharp.ScriptCs/project.json +++ b/src/OmniSharp.ScriptCs/project.json @@ -5,8 +5,8 @@ "preserveCompilationContext": true }, "dependencies": { - "OmniSharp.Abstractions": "1.0.0-*", - "OmniSharp.Roslyn.CSharp": "1.0.0-*" + "OmniSharp.Abstractions": "1.0.0", + "OmniSharp.Roslyn.CSharp": "1.0.0" }, "frameworks": { "net451": { diff --git a/src/OmniSharp.Stdio/StdioServer.cs b/src/OmniSharp.Stdio/StdioServer.cs index fab2e167f7..19d61b3244 100644 --- a/src/OmniSharp.Stdio/StdioServer.cs +++ b/src/OmniSharp.Stdio/StdioServer.cs @@ -7,6 +7,7 @@ using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Http.Features; using Microsoft.Extensions.ObjectPool; +using Microsoft.Extensions.Options; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using OmniSharp.Stdio.Features; @@ -23,6 +24,7 @@ public class StdioServer : IServer private readonly IHttpContextFactory _httpContextFactory; private readonly IHttpContextAccessor _httpContextAccessor; private readonly ObjectPoolProvider _objectPoolProvider; + private readonly IOptions _formOptions; private readonly object _lock = new object(); public StdioServer(TextReader input, ISharedTextWriter writer) @@ -33,7 +35,8 @@ public StdioServer(TextReader input, ISharedTextWriter writer) _httpContextAccessor = new HttpContextAccessor(); _objectPoolProvider = new DefaultObjectPoolProvider(); - _httpContextFactory = new HttpContextFactory(_objectPoolProvider, _httpContextAccessor); + _formOptions = Microsoft.Extensions.Options.Options.Create(new FormOptions()); + _httpContextFactory = new HttpContextFactory(_objectPoolProvider, _formOptions, _httpContextAccessor); var features = new FeatureCollection(); var requestFeature = new RequestFeature(); diff --git a/src/OmniSharp.Stdio/project.json b/src/OmniSharp.Stdio/project.json index e56454f8d6..ae2fcf15a5 100644 --- a/src/OmniSharp.Stdio/project.json +++ b/src/OmniSharp.Stdio/project.json @@ -6,9 +6,9 @@ "preserveCompilationContext": true }, "dependencies": { - "OmniSharp.Abstractions": "1.0.0-*", - "Microsoft.AspNetCore.Hosting": "1.0.0-rc2-20449", - "Microsoft.AspNetCore.Http.Features": "1.0.0-rc2-20449", + "OmniSharp.Abstractions": "1.0.0", + "Microsoft.AspNetCore.Hosting": "1.0.0-rc2-final", + "Microsoft.AspNetCore.Http.Features": "1.0.0-rc2-final", "Newtonsoft.Json": "8.0.3" }, "frameworks": { @@ -20,8 +20,8 @@ "portable-net45+win8" ], "dependencies": { - "NETStandard.Library": "1.5.0-rc2-23931", - "System.Runtime.Serialization.Primitives": "4.1.1-rc2-23931" + "NETStandard.Library": "1.5.0-rc2-24027", + "System.Runtime.Serialization.Primitives": "4.1.1-rc2-24027" } } } diff --git a/src/OmniSharp/project.json b/src/OmniSharp/project.json index a9b35072a9..e4e2606a53 100644 --- a/src/OmniSharp/project.json +++ b/src/OmniSharp/project.json @@ -6,15 +6,15 @@ "emitEntryPoint": true }, "dependencies": { - "OmniSharp.Host": "1.0.0-*", - "OmniSharp.Roslyn.CSharp": "1.0.0-*", - "OmniSharp.DotNet": "1.0.0-*" + "OmniSharp.Host": "1.0.0", + "OmniSharp.Roslyn.CSharp": "1.0.0", + "OmniSharp.DotNet": "1.0.0" }, "frameworks": { "net451": { "dependencies": { - "OmniSharp.MSBuild": "1.0.0-*", - "OmniSharp.ScriptCs": "1.0.0-*" + "OmniSharp.MSBuild": "1.0.0", + "OmniSharp.ScriptCs": "1.0.0" } }, "netcoreapp1.0": { @@ -23,8 +23,8 @@ "portable-net45+win8" ], "dependencies": { - "NETStandard.Library": "1.5.0-rc2-23931", - "Microsoft.DotNet.ProjectModel": "1.0.0-beta-002202" + "NETStandard.Library": "1.5.0-rc2-24027", + "Microsoft.DotNet.ProjectModel": "1.0.0-rc2-002702" } } }, diff --git a/tests/OmniSharp.Bootstrap.Tests/project.json b/tests/OmniSharp.Bootstrap.Tests/project.json index 09ed63d376..370186900d 100644 --- a/tests/OmniSharp.Bootstrap.Tests/project.json +++ b/tests/OmniSharp.Bootstrap.Tests/project.json @@ -4,9 +4,9 @@ "warningsAsErrors": true }, "dependencies": { - "OmniSharp.Bootstrap": "1.0.0-*", - "Microsoft.CodeAnalysis.CSharp.Workspaces": "1.3.0-beta1-20160321-04", - "Microsoft.Extensions.DependencyModel": "1.0.0-beta-002202", + "OmniSharp.Bootstrap": "1.0.0", + "Microsoft.CodeAnalysis.CSharp.Workspaces": "1.3.0-beta1-20160429-01", + "Microsoft.Extensions.DependencyModel": "1.0.0-rc2-002702", "xunit": "2.1.0" }, "frameworks": { @@ -17,20 +17,20 @@ "portable-net45+win8" ], "dependencies": { - "NETStandard.Library": "1.5.0-rc2-23931", - "Microsoft.DotNet.ProjectModel": "1.0.0-beta-002202", - "Microsoft.DotNet.InternalAbstractions": "1.0.0-beta-002202", - "Microsoft.Extensions.Logging.Abstractions": "1.0.0-rc2-20449", - "Microsoft.Extensions.FileSystemGlobbing": "1.0.0-rc2-20449", - "NuGet.Packaging": "3.5.0-beta-1123", - "System.Diagnostics.Process": "4.1.0-rc2-23931", - "System.IO.Compression": "4.1.0-rc2-23931", - "System.Linq.Expressions": "4.0.11-rc2-23931", - "System.Runtime.Serialization.Primitives": "4.1.1-rc2-23931", - "System.Runtime.Loader": "4.0.0-rc2-23931", - "System.Threading.Thread": "4.0.0-rc2-23931", - "System.Threading.ThreadPool": "4.0.10-rc2-23931", - "dotnet-test-xunit": "1.0.0-dev-128011-22" + "NETStandard.Library": "1.5.0-rc2-24027", + "Microsoft.DotNet.ProjectModel": "1.0.0-rc2-002702", + "Microsoft.DotNet.InternalAbstractions": "1.0.0-rc2-002702", + "Microsoft.Extensions.Logging.Abstractions": "1.0.0-rc2-final", + "Microsoft.Extensions.FileSystemGlobbing": "1.0.0-rc2-final", + "NuGet.Packaging": "3.5.0-beta-final", + "System.Diagnostics.Process": "4.1.0-rc2-24027", + "System.IO.Compression": "4.1.0-rc2-24027", + "System.Linq.Expressions": "4.0.11-rc2-24027", + "System.Runtime.Serialization.Primitives": "4.1.1-rc2-24027", + "System.Runtime.Loader": "4.0.0-rc2-24027", + "System.Threading.Thread": "4.0.0-rc2-24027", + "System.Threading.ThreadPool": "4.0.10-rc2-24027", + "dotnet-test-xunit": "1.0.0-rc2-192208-24" } }, "net451": { diff --git a/tests/OmniSharp.MSBuild.Tests/project.json b/tests/OmniSharp.MSBuild.Tests/project.json index debb2aad8e..ec4583e5f6 100644 --- a/tests/OmniSharp.MSBuild.Tests/project.json +++ b/tests/OmniSharp.MSBuild.Tests/project.json @@ -4,14 +4,14 @@ "warningsAsErrors": true }, "dependencies": { - "OmniSharp.Tests": "1.0.0-*", - "Microsoft.CodeAnalysis.CSharp.Workspaces": "1.3.0-beta1-20160321-04", + "OmniSharp.Tests": "1.0.0", + "Microsoft.CodeAnalysis.CSharp.Workspaces": "1.3.0-beta1-20160429-01", "xunit": "2.1.0" }, "frameworks": { "net451": { "dependencies": { - "OmniSharp.MSBuild": "1.0.0-*", + "OmniSharp.MSBuild": "1.0.0", "xunit.runner.console": "2.1.0" } } diff --git a/tests/OmniSharp.Roslyn.CSharp.Tests/project.json b/tests/OmniSharp.Roslyn.CSharp.Tests/project.json index fec284ff2d..9f277f27ef 100644 --- a/tests/OmniSharp.Roslyn.CSharp.Tests/project.json +++ b/tests/OmniSharp.Roslyn.CSharp.Tests/project.json @@ -4,9 +4,9 @@ "warningsAsErrors": true }, "dependencies": { - "OmniSharp.Tests": "1.0.0-*", - "OmniSharp.Roslyn.CSharp": "1.0.0-*", - "Microsoft.CodeAnalysis.CSharp.Workspaces": "1.3.0-beta1-20160321-04", + "OmniSharp.Tests": "1.0.0", + "OmniSharp.Roslyn.CSharp": "1.0.0", + "Microsoft.CodeAnalysis.CSharp.Workspaces": "1.3.0-beta1-20160429-01", "xunit": "2.1.0" }, "frameworks": { @@ -17,11 +17,11 @@ "portable-net45+win8" ], "dependencies": { - "NETStandard.Library": "1.5.0-rc2-23931", - "System.Linq.Parallel": "4.0.1-rc2-23931", - "System.Runtime.Serialization.Primitives": "4.1.1-rc2-23931", - "System.Threading.Tasks.Parallel": "4.0.1-rc2-23931", - "dotnet-test-xunit": "1.0.0-dev-128011-22" + "NETStandard.Library": "1.5.0-rc2-24027", + "System.Linq.Parallel": "4.0.1-rc2-24027", + "System.Runtime.Serialization.Primitives": "4.1.1-rc2-24027", + "System.Threading.Tasks.Parallel": "4.0.1-rc2-24027", + "dotnet-test-xunit": "1.0.0-rc2-192208-24" } }, "net451": { diff --git a/tests/OmniSharp.Stdio.Tests/project.json b/tests/OmniSharp.Stdio.Tests/project.json index a881a90bbc..53298967d7 100644 --- a/tests/OmniSharp.Stdio.Tests/project.json +++ b/tests/OmniSharp.Stdio.Tests/project.json @@ -4,7 +4,7 @@ "warningsAsErrors": true }, "dependencies": { - "OmniSharp.Stdio": "1.0.0-*", + "OmniSharp.Stdio": "1.0.0", "Newtonsoft.Json": "8.0.3", "xunit": "2.1.0" }, @@ -16,15 +16,15 @@ "portable-net45+win8" ], "dependencies": { - "NETStandard.Library": "1.5.0-rc2-23931", - "Microsoft.DotNet.ProjectModel": "1.0.0-beta-002202", - "NuGet.Packaging": "3.5.0-beta-1123", - "System.IO.Compression": "4.1.0-rc2-23931", - "System.Runtime.Loader": "4.0.0-rc2-23931", - "System.Runtime.Serialization.Primitives": "4.1.1-rc2-23931", - "System.Threading.ThreadPool": "4.0.10-rc2-23931", - "System.Xml.XDocument": "4.0.11-rc2-23931", - "dotnet-test-xunit": "1.0.0-dev-128011-22" + "NETStandard.Library": "1.5.0-rc2-24027", + "Microsoft.DotNet.ProjectModel": "1.0.0-rc2-002702", + "NuGet.Packaging": "3.5.0-beta-final", + "System.IO.Compression": "4.1.0-rc2-24027", + "System.Runtime.Loader": "4.0.0-rc2-24027", + "System.Runtime.Serialization.Primitives": "4.1.1-rc2-24027", + "System.Threading.ThreadPool": "4.0.10-rc2-24027", + "System.Xml.XDocument": "4.0.11-rc2-24027", + "dotnet-test-xunit": "1.0.0-rc2-192208-24" } }, "net451": { diff --git a/tests/OmniSharp.Tests/project.json b/tests/OmniSharp.Tests/project.json index 4e39d136d4..446d616d14 100644 --- a/tests/OmniSharp.Tests/project.json +++ b/tests/OmniSharp.Tests/project.json @@ -4,11 +4,11 @@ "warningsAsErrors": true }, "dependencies": { - "OmniSharp.Host": "1.0.0-*", - "OmniSharp.Roslyn.CSharp": "1.0.0-*", - "Microsoft.CodeAnalysis.CSharp.Workspaces": "1.3.0-beta1-20160321-04", - "Microsoft.DotNet.InternalAbstractions": "1.0.0-beta-002202", - "Microsoft.Extensions.DependencyModel": "1.0.0-beta-002202", + "OmniSharp.Host": "1.0.0", + "OmniSharp.Roslyn.CSharp": "1.0.0", + "Microsoft.CodeAnalysis.CSharp.Workspaces": "1.3.0-beta1-20160429-01", + "Microsoft.DotNet.InternalAbstractions": "1.0.0-rc2-002702", + "Microsoft.Extensions.DependencyModel": "1.0.0-rc2-002702", "xunit": "2.1.0" }, "frameworks": { @@ -19,11 +19,11 @@ "portable-net45+win8" ], "dependencies": { - "NETStandard.Library": "1.5.0-rc2-23931", - "Microsoft.DotNet.ProjectModel": "1.0.0-beta-002202", - "System.Runtime.Serialization.Primitives": "4.1.1-rc2-23931", - "System.IO.Compression": "4.1.0-rc2-23931", - "dotnet-test-xunit": "1.0.0-dev-128011-22" + "NETStandard.Library": "1.5.0-rc2-24027", + "Microsoft.DotNet.ProjectModel": "1.0.0-rc2-002702", + "System.Runtime.Serialization.Primitives": "4.1.1-rc2-24027", + "System.IO.Compression": "4.1.0-rc2-24027", + "dotnet-test-xunit": "1.0.0-rc2-192208-24" } }, "net451": {