diff options
author | Matt Ward <matt.ward@xamarin.com> | 2017-02-23 14:08:32 +0300 |
---|---|---|
committer | Matt Ward <matt.ward@xamarin.com> | 2017-02-23 16:59:51 +0300 |
commit | 9505100165cead955b89dd0ca3339956c028c21d (patch) | |
tree | 819ef11f2a16a2fd63871dfb25136ac87ec23d8c /main | |
parent | 5c3206fadce155f4bcf954f11686e4d260897b75 (diff) |
[DotNetCore] Move dependencies node builders to .NET Core project
Diffstat (limited to 'main')
-rw-r--r-- | main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore.Commands/PackageDependenciesNodeCommandHandler.cs (renamed from main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.Commands/PackageDependenciesNodeCommandHandler.cs) | 3 | ||||
-rw-r--r-- | main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore.Commands/PackageDependencyNodeCommandHandler.cs (renamed from main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.Commands/PackageDependencyNodeCommandHandler.cs) | 32 | ||||
-rw-r--r-- | main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore.Commands/ProjectOrAssemblyDependenciesCommandHandler.cs (renamed from main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore.NodeBuilders/DotNetProjectOrAssemblyDependenciesCommandHandler.cs) | 6 | ||||
-rw-r--r-- | main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore.NodeBuilders/AssemblyDependenciesNode.cs (renamed from main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore.NodeBuilders/DotNetCoreAssemblyDependenciesNode.cs) | 8 | ||||
-rw-r--r-- | main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore.NodeBuilders/AssemblyDependenciesNodeBuilder.cs (renamed from main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore.NodeBuilders/DotNetCoreProjectDependenciesNodeBuilder.cs) | 15 | ||||
-rw-r--r-- | main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore.NodeBuilders/DependenciesNode.cs (renamed from main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.NodeBuilders/DependenciesNode.cs) | 2 | ||||
-rw-r--r-- | main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore.NodeBuilders/DependenciesNodeBuilder.cs (renamed from main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.NodeBuilders/DependenciesNodeBuilder.cs) | 12 | ||||
-rw-r--r-- | main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore.NodeBuilders/DependenciesNodeBuilderExtension.cs (renamed from main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.NodeBuilders/DependenciesNodeBuilderExtension.cs) | 45 | ||||
-rw-r--r-- | main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore.NodeBuilders/DotNetCoreDependenciesNodeBuilderExtension.cs | 106 | ||||
-rw-r--r-- | main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore.NodeBuilders/DotNetCoreFolderNodeBuilderExtension.cs (renamed from main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore/DotNetCoreFolderNodeBuilderExtension.cs) | 2 | ||||
-rw-r--r-- | main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore.NodeBuilders/DotNetCoreProjectNodeBuilderExtension.cs (renamed from main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore/DotNetCoreProjectNodeBuilderExtension.cs) | 2 | ||||
-rw-r--r-- | main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore.NodeBuilders/PackageDependenciesNode.cs (renamed from main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.NodeBuilders/PackageDependenciesNode.cs) | 3 | ||||
-rw-r--r-- | main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore.NodeBuilders/PackageDependenciesNodeBuilder.cs (renamed from main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.NodeBuilders/PackageDependenciesNodeBuilder.cs) | 5 | ||||
-rw-r--r-- | main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore.NodeBuilders/PackageDependencyNode.cs (renamed from main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.NodeBuilders/PackageDependencyNode.cs) | 3 | ||||
-rw-r--r-- | main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore.NodeBuilders/PackageDependencyNodeBuilder.cs (renamed from main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.NodeBuilders/PackageDependencyNodeBuilder.cs) | 6 | ||||
-rw-r--r-- | main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore.NodeBuilders/ProjectDependenciesNode.cs (renamed from main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore.NodeBuilders/DotNetCoreProjectDependenciesNode.cs) | 8 | ||||
-rw-r--r-- | main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore.NodeBuilders/ProjectDependenciesNodeBuilder.cs (renamed from main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore.NodeBuilders/DotNetCoreAssemblyDependenciesNodeBuilder.cs) | 15 | ||||
-rw-r--r-- | main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore.NodeBuilders/TargetFrameworkNode.cs (renamed from main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.NodeBuilders/TargetFrameworkNode.cs) | 2 | ||||
-rw-r--r-- | main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore.NodeBuilders/TargetFrameworkNodeBuilder.cs (renamed from main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.NodeBuilders/TargetFrameworkNodeBuilder.cs) | 3 | ||||
-rw-r--r-- | main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore.csproj | 30 | ||||
-rw-r--r-- | main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore/DotNetCoreServices.cs | 40 | ||||
-rw-r--r-- | main/src/addins/MonoDevelop.DotNetCore/Properties/MonoDevelop.DotNetCore.addin.xml | 46 | ||||
-rw-r--r-- | main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.Commands/PackageReferenceNodeCommandHandler.cs | 30 | ||||
-rw-r--r-- | main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.addin.xml | 22 | ||||
-rw-r--r-- | main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.csproj | 11 | ||||
-rw-r--r-- | main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement/PackageUpdateChecker.cs | 100 |
26 files changed, 175 insertions, 382 deletions
diff --git a/main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.Commands/PackageDependenciesNodeCommandHandler.cs b/main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore.Commands/PackageDependenciesNodeCommandHandler.cs index 6cfdb494e6..78ee767357 100644 --- a/main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.Commands/PackageDependenciesNodeCommandHandler.cs +++ b/main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore.Commands/PackageDependenciesNodeCommandHandler.cs @@ -25,8 +25,9 @@ // THE SOFTWARE. using MonoDevelop.Ide.Gui.Components; +using MonoDevelop.PackageManagement; -namespace MonoDevelop.PackageManagement.Commands +namespace MonoDevelop.DotNetCore.Commands { class PackageDependenciesNodeCommandHandler : NodeCommandHandler { diff --git a/main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.Commands/PackageDependencyNodeCommandHandler.cs b/main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore.Commands/PackageDependencyNodeCommandHandler.cs index 81d19be668..4655a5723a 100644 --- a/main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.Commands/PackageDependencyNodeCommandHandler.cs +++ b/main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore.Commands/PackageDependencyNodeCommandHandler.cs @@ -27,11 +27,13 @@ using System; using MonoDevelop.Components.Commands; using MonoDevelop.Core; +using MonoDevelop.DotNetCore.NodeBuilders; using MonoDevelop.Ide.Commands; using MonoDevelop.Ide.Gui.Components; -using MonoDevelop.PackageManagement.NodeBuilders; +using MonoDevelop.PackageManagement; +using MonoDevelop.PackageManagement.Commands; -namespace MonoDevelop.PackageManagement.Commands +namespace MonoDevelop.DotNetCore.Commands { class PackageDependencyNodeCommandHandler : NodeCommandHandler { @@ -49,18 +51,10 @@ namespace MonoDevelop.PackageManagement.Commands void RemovePackage (PackageDependencyNode node, ProgressMonitorStatusMessage progressMessage) { - IPackageAction action = CreateUninstallPackageAction (node); + IPackageAction action = PackageReferenceNodeCommandHandler.CreateUninstallPackageAction (node.Project, node.Name); PackageManagementServices.BackgroundPackageActionRunner.Run (progressMessage, action); } - IPackageAction CreateUninstallPackageAction (PackageDependencyNode node) - { - var solutionManager = PackageManagementServices.Workspace.GetSolutionManager (node.Project.ParentSolution); - return new UninstallNuGetPackageAction (solutionManager, new DotNetProjectProxy (node.Project)) { - PackageId = node.Name - }; - } - [CommandUpdateHandler (EditCommands.Delete)] public void UpdateRemoveItem (CommandInfo info) { @@ -86,19 +80,11 @@ namespace MonoDevelop.PackageManagement.Commands { var node = (PackageDependencyNode)CurrentNode.DataItem; var project = new DotNetProjectProxy (node.Project); - ProgressMonitorStatusMessage progressMessage = ProgressMonitorStatusMessageFactory.CreateUpdatingSinglePackageMessage (node.Name, project); - - try { - var solutionManager = PackageManagementServices.Workspace.GetSolutionManager (node.Project.ParentSolution); - var action = new UpdateNuGetPackageAction (solutionManager, project) { - PackageId = node.Name, - IncludePrerelease = !node.IsReleaseVersion () - }; - PackageManagementServices.BackgroundPackageActionRunner.Run (progressMessage, action); - } catch (Exception ex) { - PackageManagementServices.BackgroundPackageActionRunner.ShowError (progressMessage, ex); - } + PackageReferenceNodeCommandHandler.UpdatePackage ( + project, + node.Name, + !node.IsReleaseVersion ()); } } } diff --git a/main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore.NodeBuilders/DotNetProjectOrAssemblyDependenciesCommandHandler.cs b/main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore.Commands/ProjectOrAssemblyDependenciesCommandHandler.cs index b6458b80a5..18e2dced0e 100644 --- a/main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore.NodeBuilders/DotNetProjectOrAssemblyDependenciesCommandHandler.cs +++ b/main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore.Commands/ProjectOrAssemblyDependenciesCommandHandler.cs @@ -1,5 +1,5 @@ // -// DotNetProjectOrAssemblyDependenciesCommandHandler.cs +// ProjectOrAssemblyDependenciesCommandHandler.cs // // Author: // Matt Ward <matt.ward@xamarin.com> @@ -28,9 +28,9 @@ using MonoDevelop.Ide.Gui.Components; using MonoDevelop.Ide; using MonoDevelop.Ide.Commands; -namespace MonoDevelop.DotNetCore.NodeBuilders +namespace MonoDevelop.DotNetCore.Commands { - class DotNetProjectOrAssemblyDependenciesCommandHandler : NodeCommandHandler + class ProjectOrAssemblyDependenciesCommandHandler : NodeCommandHandler { public override void ActivateItem () { diff --git a/main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore.NodeBuilders/DotNetCoreAssemblyDependenciesNode.cs b/main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore.NodeBuilders/AssemblyDependenciesNode.cs index 9884e71d77..8673e3ca0e 100644 --- a/main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore.NodeBuilders/DotNetCoreAssemblyDependenciesNode.cs +++ b/main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore.NodeBuilders/AssemblyDependenciesNode.cs @@ -1,5 +1,5 @@ // -// DotNetCoreAssemblyDependenciesNode.cs +// AssemblyDependenciesNode.cs // // Author: // Matt Ward <matt.ward@xamarin.com> @@ -32,11 +32,11 @@ using MonoDevelop.Projects; namespace MonoDevelop.DotNetCore.NodeBuilders { - class DotNetCoreAssemblyDependenciesNode + class AssemblyDependenciesNode { - public static readonly string NodeName = "DotNetCoreAssemblyDependencies"; + public static readonly string NodeName = "AssemblyDependencies"; - public DotNetCoreAssemblyDependenciesNode (DotNetProject project) + public AssemblyDependenciesNode (DotNetProject project) { Project = project; } diff --git a/main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore.NodeBuilders/DotNetCoreProjectDependenciesNodeBuilder.cs b/main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore.NodeBuilders/AssemblyDependenciesNodeBuilder.cs index 71cb21de1c..2821fa9048 100644 --- a/main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore.NodeBuilders/DotNetCoreProjectDependenciesNodeBuilder.cs +++ b/main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore.NodeBuilders/AssemblyDependenciesNodeBuilder.cs @@ -1,5 +1,5 @@ // -// DotNetCoreProjectDependenciesNodeBuilder.cs +// AssemblyDependenciesNodeBuilder.cs // // Author: // Matt Ward <matt.ward@xamarin.com> @@ -25,28 +25,29 @@ // THE SOFTWARE. using System; +using MonoDevelop.DotNetCore.Commands; using MonoDevelop.Ide.Gui.Components; namespace MonoDevelop.DotNetCore.NodeBuilders { - class DotNetCoreProjectDependenciesNodeBuilder : TypeNodeBuilder + class AssemblyDependenciesNodeBuilder : TypeNodeBuilder { public override Type NodeDataType { - get { return typeof(DotNetCoreProjectDependenciesNode); } + get { return typeof(AssemblyDependenciesNode); } } public override Type CommandHandlerType { - get { return typeof(DotNetProjectOrAssemblyDependenciesCommandHandler); } + get { return typeof(ProjectOrAssemblyDependenciesCommandHandler); } } public override string GetNodeName (ITreeNavigator thisNode, object dataObject) { - return DotNetCoreProjectDependenciesNode.NodeName; + return AssemblyDependenciesNode.NodeName; } public override void BuildNode (ITreeBuilder treeBuilder, object dataObject, NodeInfo nodeInfo) { - var node = (DotNetCoreProjectDependenciesNode)dataObject; + var node = (AssemblyDependenciesNode)dataObject; nodeInfo.Label = node.GetLabel (); nodeInfo.SecondaryLabel = node.GetSecondaryLabel (); nodeInfo.Icon = Context.GetIcon (node.Icon); @@ -60,7 +61,7 @@ namespace MonoDevelop.DotNetCore.NodeBuilders public override void BuildChildNodes (ITreeBuilder treeBuilder, object dataObject) { - var node = (DotNetCoreProjectDependenciesNode)dataObject; + var node = (AssemblyDependenciesNode)dataObject; treeBuilder.AddChildren (node.GetChildNodes ()); } } diff --git a/main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.NodeBuilders/DependenciesNode.cs b/main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore.NodeBuilders/DependenciesNode.cs index 802d428101..f9d909eb55 100644 --- a/main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.NodeBuilders/DependenciesNode.cs +++ b/main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore.NodeBuilders/DependenciesNode.cs @@ -28,7 +28,7 @@ using MonoDevelop.Core; using MonoDevelop.Ide.Gui; using MonoDevelop.Projects; -namespace MonoDevelop.PackageManagement.NodeBuilders +namespace MonoDevelop.DotNetCore.NodeBuilders { class DependenciesNode { diff --git a/main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.NodeBuilders/DependenciesNodeBuilder.cs b/main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore.NodeBuilders/DependenciesNodeBuilder.cs index a73baa5a09..35d8a89fd2 100644 --- a/main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.NodeBuilders/DependenciesNodeBuilder.cs +++ b/main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore.NodeBuilders/DependenciesNodeBuilder.cs @@ -26,10 +26,8 @@ using System; using MonoDevelop.Ide.Gui.Components; -using MonoDevelop.Ide.Gui.Pads.ProjectPad; -using MonoDevelop.Projects; -namespace MonoDevelop.PackageManagement.NodeBuilders +namespace MonoDevelop.DotNetCore.NodeBuilders { public class DependenciesNodeBuilder : TypeNodeBuilder { @@ -67,6 +65,14 @@ namespace MonoDevelop.PackageManagement.NodeBuilders var folderNode = new PackageDependenciesNode (node); folderNode.Refresh (); treeBuilder.AddChild (folderNode); + + var assembliesNode = new AssemblyDependenciesNode (node.Project); + if (assembliesNode.HasChildNodes ()) + treeBuilder.AddChild (assembliesNode); + + var projectsNode = new ProjectDependenciesNode (node.Project); + if (projectsNode.HasChildNodes ()) + treeBuilder.AddChild (projectsNode); } } } diff --git a/main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.NodeBuilders/DependenciesNodeBuilderExtension.cs b/main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore.NodeBuilders/DependenciesNodeBuilderExtension.cs index 6dbd4e0e1d..57b4e27216 100644 --- a/main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.NodeBuilders/DependenciesNodeBuilderExtension.cs +++ b/main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore.NodeBuilders/DependenciesNodeBuilderExtension.cs @@ -28,24 +28,29 @@ using System; using MonoDevelop.Core; using MonoDevelop.Ide; using MonoDevelop.Ide.Gui.Components; +using MonoDevelop.PackageManagement; using MonoDevelop.Projects; -namespace MonoDevelop.PackageManagement.NodeBuilders +namespace MonoDevelop.DotNetCore.NodeBuilders { class DependenciesNodeBuilderExtension : NodeBuilderExtension { IPackageManagementEvents packageManagementEvents; - public DependenciesNodeBuilderExtension () + protected override void Initialize () { packageManagementEvents = PackageManagementServices.PackageManagementEvents; - packageManagementEvents.PackageOperationsFinished += PackageOperationsFinished; + + IdeApp.Workspace.ReferenceAddedToProject += OnReferencesChanged; + IdeApp.Workspace.ReferenceRemovedFromProject += OnReferencesChanged; } public override void Dispose () { packageManagementEvents.PackageOperationsFinished -= PackageOperationsFinished; + IdeApp.Workspace.ReferenceAddedToProject -= OnReferencesChanged; + IdeApp.Workspace.ReferenceRemovedFromProject -= OnReferencesChanged; } public override bool CanBuildNode (Type dataType) @@ -61,7 +66,7 @@ namespace MonoDevelop.PackageManagement.NodeBuilders void PackageOperationsFinished (object sender, EventArgs e) { - RefreshAllChildNodes (); + RefreshAllChildNodes (packagesOnly: true); } public override void BuildChildNodes (ITreeBuilder treeBuilder, object dataObject) @@ -74,27 +79,47 @@ namespace MonoDevelop.PackageManagement.NodeBuilders treeBuilder.AddChild (folderNode); } - void RefreshAllChildNodes () + void RefreshAllChildNodes (bool packagesOnly = false) { Runtime.RunInMainThread (() => { foreach (DotNetProject project in IdeApp.Workspace.GetAllItems<DotNetProject> ()) { if (project.IsDotNetCoreProject ()) - RefreshChildNodes (project); + RefreshChildNodes (project, packagesOnly); } }); } - void RefreshChildNodes (DotNetProject project) + void RefreshChildNodes (DotNetProject project, bool packagesOnly) { ITreeBuilder builder = Context.GetTreeBuilder (project); if (builder != null) { if (builder.MoveToChild (DependenciesNode.NodeName, typeof (DependenciesNode))) { - if (builder.MoveToChild (PackageDependenciesNode.NodeName, typeof (PackageDependenciesNode))) { - var packagesFolder = (PackageDependenciesNode)builder.DataItem; - packagesFolder.Refresh (); + if (packagesOnly) { + if (builder.MoveToChild (PackageDependenciesNode.NodeName, typeof (PackageDependenciesNode))) { + var packagesFolder = (PackageDependenciesNode)builder.DataItem; + packagesFolder.Refresh (); + } + } else { + builder.UpdateAll (); } } } } + + void OnReferencesChanged (object sender, ProjectReferenceEventArgs e) + { + RefreshAllChildNodes (e.Project as DotNetProject); + } + + void RefreshAllChildNodes (DotNetProject project) + { + if (project == null) + return; + + Runtime.RunInMainThread (() => { + if (project.IsDotNetCoreProject ()) + RefreshChildNodes (project, packagesOnly: false); + }); + } } } diff --git a/main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore.NodeBuilders/DotNetCoreDependenciesNodeBuilderExtension.cs b/main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore.NodeBuilders/DotNetCoreDependenciesNodeBuilderExtension.cs deleted file mode 100644 index 7c0d0b3cdf..0000000000 --- a/main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore.NodeBuilders/DotNetCoreDependenciesNodeBuilderExtension.cs +++ /dev/null @@ -1,106 +0,0 @@ -// -// DotNetCoreDependenciesNodeBuilderExtension.cs -// -// Author: -// Matt Ward <matt.ward@xamarin.com> -// -// Copyright (c) 2017 Xamarin Inc. (http://xamarin.com) -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. - -using System; -using System.Linq; -using MonoDevelop.Core; -using MonoDevelop.Ide; -using MonoDevelop.Ide.Gui.Components; -using MonoDevelop.PackageManagement.NodeBuilders; -using MonoDevelop.Projects; - -namespace MonoDevelop.DotNetCore.NodeBuilders -{ - class DotNetCoreDependenciesNodeBuilderExtension : NodeBuilderExtension - { - public override bool CanBuildNode (Type dataType) - { - return typeof (DependenciesNode).IsAssignableFrom (dataType); - } - - public override bool HasChildNodes (ITreeBuilder builder, object dataObject) - { - return ProjectHasReferences ((DependenciesNode)dataObject); - } - - public override void BuildChildNodes (ITreeBuilder treeBuilder, object dataObject) - { - var dependenciesNode = (DependenciesNode)dataObject; - if (!ProjectHasReferences (dependenciesNode)) - return; - - var assembliesNode = new DotNetCoreAssemblyDependenciesNode (dependenciesNode.Project); - if (assembliesNode.HasChildNodes ()) - treeBuilder.AddChild (assembliesNode); - - var projectsNode = new DotNetCoreProjectDependenciesNode (dependenciesNode.Project); - if (projectsNode.HasChildNodes ()) - treeBuilder.AddChild (projectsNode); - } - - bool ProjectHasReferences (DependenciesNode dependenciesNode) - { - return dependenciesNode.Project.References.Any (); - } - - protected override void Initialize () - { - IdeApp.Workspace.ReferenceAddedToProject += OnReferencesChanged; - IdeApp.Workspace.ReferenceRemovedFromProject += OnReferencesChanged; - } - - public override void Dispose () - { - IdeApp.Workspace.ReferenceAddedToProject -= OnReferencesChanged; - IdeApp.Workspace.ReferenceRemovedFromProject -= OnReferencesChanged; - } - - void OnReferencesChanged (object sender, ProjectReferenceEventArgs e) - { - RefreshAllChildNodes (e.Project as DotNetProject); - } - - void RefreshAllChildNodes (DotNetProject project) - { - if (project == null) - return; - - Runtime.RunInMainThread (() => { - RefreshChildNodes (project); - }); - } - - void RefreshChildNodes (DotNetProject project) - { - ITreeBuilder builder = Context.GetTreeBuilder (project); - if (builder != null) { - if (builder.MoveToChild (DependenciesNode.NodeName, typeof (DependenciesNode))) { - builder.UpdateAll (); - } - } - } - } -} diff --git a/main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore/DotNetCoreFolderNodeBuilderExtension.cs b/main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore.NodeBuilders/DotNetCoreFolderNodeBuilderExtension.cs index b4c8426b54..f6600d1ece 100644 --- a/main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore/DotNetCoreFolderNodeBuilderExtension.cs +++ b/main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore.NodeBuilders/DotNetCoreFolderNodeBuilderExtension.cs @@ -29,7 +29,7 @@ using MonoDevelop.Ide.Gui.Components; using MonoDevelop.Ide.Gui.Pads.ProjectPad; using MonoDevelop.Projects; -namespace MonoDevelop.DotNetCore +namespace MonoDevelop.DotNetCore.NodeBuilders { class DotNetCoreFolderNodeBuilderExtension : NodeBuilderExtension { diff --git a/main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore/DotNetCoreProjectNodeBuilderExtension.cs b/main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore.NodeBuilders/DotNetCoreProjectNodeBuilderExtension.cs index 2dcb4802f9..ff1e4f2c76 100644 --- a/main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore/DotNetCoreProjectNodeBuilderExtension.cs +++ b/main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore.NodeBuilders/DotNetCoreProjectNodeBuilderExtension.cs @@ -30,7 +30,7 @@ using MonoDevelop.Ide.Gui.Components; using MonoDevelop.Ide.Tasks; using MonoDevelop.Projects; -namespace MonoDevelop.DotNetCore +namespace MonoDevelop.DotNetCore.NodeBuilders { class DotNetCoreProjectNodeBuilderExtension : NodeBuilderExtension { diff --git a/main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.NodeBuilders/PackageDependenciesNode.cs b/main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore.NodeBuilders/PackageDependenciesNode.cs index b766e5ac82..16edb230a5 100644 --- a/main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.NodeBuilders/PackageDependenciesNode.cs +++ b/main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore.NodeBuilders/PackageDependenciesNode.cs @@ -32,9 +32,10 @@ using System.Threading.Tasks; using MonoDevelop.Core; using MonoDevelop.Ide; using MonoDevelop.Ide.Gui; +using MonoDevelop.PackageManagement; using MonoDevelop.Projects; -namespace MonoDevelop.PackageManagement.NodeBuilders +namespace MonoDevelop.DotNetCore.NodeBuilders { class PackageDependenciesNode { diff --git a/main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.NodeBuilders/PackageDependenciesNodeBuilder.cs b/main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore.NodeBuilders/PackageDependenciesNodeBuilder.cs index 9af68bda6b..ad000d0c76 100644 --- a/main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.NodeBuilders/PackageDependenciesNodeBuilder.cs +++ b/main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore.NodeBuilders/PackageDependenciesNodeBuilder.cs @@ -27,11 +27,10 @@ using System; using System.Collections.Generic; using System.Linq; -using MonoDevelop.Core; +using MonoDevelop.DotNetCore.Commands; using MonoDevelop.Ide.Gui.Components; -using MonoDevelop.PackageManagement.Commands; -namespace MonoDevelop.PackageManagement.NodeBuilders +namespace MonoDevelop.DotNetCore.NodeBuilders { class PackageDependenciesNodeBuilder : TypeNodeBuilder { diff --git a/main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.NodeBuilders/PackageDependencyNode.cs b/main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore.NodeBuilders/PackageDependencyNode.cs index 6f6cbc5d82..ef4bbe1153 100644 --- a/main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.NodeBuilders/PackageDependencyNode.cs +++ b/main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore.NodeBuilders/PackageDependencyNode.cs @@ -28,10 +28,11 @@ using System; using System.Collections.Generic; using System.Linq; using MonoDevelop.Core; +using MonoDevelop.PackageManagement; using MonoDevelop.Projects; using NuGet.Versioning; -namespace MonoDevelop.PackageManagement.NodeBuilders +namespace MonoDevelop.DotNetCore.NodeBuilders { class PackageDependencyNode { diff --git a/main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.NodeBuilders/PackageDependencyNodeBuilder.cs b/main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore.NodeBuilders/PackageDependencyNodeBuilder.cs index b90fa4ca55..60cb7a5215 100644 --- a/main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.NodeBuilders/PackageDependencyNodeBuilder.cs +++ b/main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore.NodeBuilders/PackageDependencyNodeBuilder.cs @@ -27,9 +27,9 @@ using System; using System.Collections.Generic; using MonoDevelop.Ide.Gui.Components; -using MonoDevelop.PackageManagement.Commands; +using MonoDevelop.DotNetCore.Commands; -namespace MonoDevelop.PackageManagement.NodeBuilders +namespace MonoDevelop.DotNetCore.NodeBuilders { class PackageDependencyNodeBuilder : TypeNodeBuilder { @@ -44,7 +44,7 @@ namespace MonoDevelop.PackageManagement.NodeBuilders } public override string ContextMenuAddinPath { - get { return "/MonoDevelop/PackageManagement/ContextMenu/ProjectPad/PackageDependency"; } + get { return "/MonoDevelop/DotNetCore/ContextMenu/ProjectPad/PackageDependency"; } } public override Type CommandHandlerType { diff --git a/main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore.NodeBuilders/DotNetCoreProjectDependenciesNode.cs b/main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore.NodeBuilders/ProjectDependenciesNode.cs index 3931c6393b..2a8f52ea07 100644 --- a/main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore.NodeBuilders/DotNetCoreProjectDependenciesNode.cs +++ b/main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore.NodeBuilders/ProjectDependenciesNode.cs @@ -1,5 +1,5 @@ // -// DotNetCoreProjectDependenciesNode.cs +// ProjectDependenciesNode.cs // // Author: // Matt Ward <matt.ward@xamarin.com> @@ -32,11 +32,11 @@ using MonoDevelop.Projects; namespace MonoDevelop.DotNetCore.NodeBuilders { - class DotNetCoreProjectDependenciesNode + class ProjectDependenciesNode { - public static readonly string NodeName = "DotNetCoreProjectDependencies"; + public static readonly string NodeName = "ProjectDependencies"; - public DotNetCoreProjectDependenciesNode (DotNetProject project) + public ProjectDependenciesNode (DotNetProject project) { Project = project; } diff --git a/main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore.NodeBuilders/DotNetCoreAssemblyDependenciesNodeBuilder.cs b/main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore.NodeBuilders/ProjectDependenciesNodeBuilder.cs index 15bca653ad..56841efc10 100644 --- a/main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore.NodeBuilders/DotNetCoreAssemblyDependenciesNodeBuilder.cs +++ b/main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore.NodeBuilders/ProjectDependenciesNodeBuilder.cs @@ -1,5 +1,5 @@ // -// DotNetCoreAssemblyDependenciesNodeBuilder.cs +// ProjectDependenciesNodeBuilder.cs // // Author: // Matt Ward <matt.ward@xamarin.com> @@ -25,28 +25,29 @@ // THE SOFTWARE. using System; +using MonoDevelop.DotNetCore.Commands; using MonoDevelop.Ide.Gui.Components; namespace MonoDevelop.DotNetCore.NodeBuilders { - class DotNetCoreAssemblyDependenciesNodeBuilder : TypeNodeBuilder + class ProjectDependenciesNodeBuilder : TypeNodeBuilder { public override Type NodeDataType { - get { return typeof(DotNetCoreAssemblyDependenciesNode); } + get { return typeof(ProjectDependenciesNode); } } public override Type CommandHandlerType { - get { return typeof(DotNetProjectOrAssemblyDependenciesCommandHandler); } + get { return typeof(ProjectOrAssemblyDependenciesCommandHandler); } } public override string GetNodeName (ITreeNavigator thisNode, object dataObject) { - return DotNetCoreAssemblyDependenciesNode.NodeName; + return ProjectDependenciesNode.NodeName; } public override void BuildNode (ITreeBuilder treeBuilder, object dataObject, NodeInfo nodeInfo) { - var node = (DotNetCoreAssemblyDependenciesNode)dataObject; + var node = (ProjectDependenciesNode)dataObject; nodeInfo.Label = node.GetLabel (); nodeInfo.SecondaryLabel = node.GetSecondaryLabel (); nodeInfo.Icon = Context.GetIcon (node.Icon); @@ -60,7 +61,7 @@ namespace MonoDevelop.DotNetCore.NodeBuilders public override void BuildChildNodes (ITreeBuilder treeBuilder, object dataObject) { - var node = (DotNetCoreAssemblyDependenciesNode)dataObject; + var node = (ProjectDependenciesNode)dataObject; treeBuilder.AddChildren (node.GetChildNodes ()); } } diff --git a/main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.NodeBuilders/TargetFrameworkNode.cs b/main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore.NodeBuilders/TargetFrameworkNode.cs index 5b49550c00..2e0c70b34f 100644 --- a/main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.NodeBuilders/TargetFrameworkNode.cs +++ b/main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore.NodeBuilders/TargetFrameworkNode.cs @@ -29,7 +29,7 @@ using System.Linq; using MonoDevelop.Core; using MonoDevelop.Projects; -namespace MonoDevelop.PackageManagement.NodeBuilders +namespace MonoDevelop.DotNetCore.NodeBuilders { class TargetFrameworkNode { diff --git a/main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.NodeBuilders/TargetFrameworkNodeBuilder.cs b/main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore.NodeBuilders/TargetFrameworkNodeBuilder.cs index 7d2c8e994c..6c85ec97c3 100644 --- a/main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.NodeBuilders/TargetFrameworkNodeBuilder.cs +++ b/main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore.NodeBuilders/TargetFrameworkNodeBuilder.cs @@ -26,10 +26,9 @@ using System; using System.Collections.Generic; -using System.Linq; using MonoDevelop.Ide.Gui.Components; -namespace MonoDevelop.PackageManagement.NodeBuilders +namespace MonoDevelop.DotNetCore.NodeBuilders { class TargetFrameworkNodeBuilder : TypeNodeBuilder { diff --git a/main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore.csproj b/main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore.csproj index 6ea01a54e8..d1e71ded25 100644 --- a/main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore.csproj +++ b/main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore.csproj @@ -63,6 +63,10 @@ <Reference Include="gtk-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" /> <Reference Include="glib-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" /> <Reference Include="gdk-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" /> + <Reference Include="NuGet.Versioning"> + <HintPath>..\..\..\external\nuget-binary\NuGet.Versioning.dll</HintPath> + <Private>False</Private> + </Reference> </ItemGroup> <ItemGroup> <Compile Include="Properties\AssemblyInfo.cs" /> @@ -76,7 +80,6 @@ <Compile Include="MonoDevelop.DotNetCore.Templating\EmptyDirectoryRemover.cs" /> <Compile Include="MonoDevelop.DotNetCore.Templating\FileTemplateProcessor.cs" /> <Compile Include="MonoDevelop.DotNetCore\DotNetCoreNotInstalledDialog.cs" /> - <Compile Include="MonoDevelop.DotNetCore\DotNetCoreFolderNodeBuilderExtension.cs" /> <Compile Include="MonoDevelop.DotNetCore\DotNetCoreProjectFileRenamedHandler.cs" /> <Compile Include="MonoDevelop.DotNetCore\DotNetCoreProjectReloadMonitor.cs" /> <Compile Include="MonoDevelop.DotNetCore\DotNetCoreProjectReader.cs" /> @@ -95,7 +98,6 @@ <Compile Include="MonoDevelop.DotNetCore.UnitTesting\IDotNetCoreTestProvider.cs" /> <Compile Include="MonoDevelop.DotNetCore.UnitTesting\IDotNetCoreTestRunner.cs" /> <Compile Include="MonoDevelop.DotNetCore.UnitTesting\TestResultBuilder.cs" /> - <Compile Include="MonoDevelop.DotNetCore\DotNetCoreProjectNodeBuilderExtension.cs" /> <Compile Include="MonoDevelop.DotNetCore\DotNetCoreSdkVersion.cs" /> <Compile Include="MonoDevelop.DotNetCore\DotNetCliToolReference.cs" /> <Compile Include="MonoDevelop.DotNetCore\DotNetCoreRuntimeOptionsPanel.cs" /> @@ -109,14 +111,26 @@ <Compile Include="MonoDevelop.DotNetCore\TargetFrameworkMonikerExtensions.cs" /> <Compile Include="MonoDevelop.DotNetCore\FilePathExtensions.cs" /> <Compile Include="MonoDevelop.DotNetCore\MSBuildPropertyGroupExtensions.cs" /> - <Compile Include="MonoDevelop.DotNetCore.NodeBuilders\DotNetCoreDependenciesNodeBuilderExtension.cs" /> - <Compile Include="MonoDevelop.DotNetCore.NodeBuilders\DotNetCoreProjectDependenciesNode.cs" /> + <Compile Include="MonoDevelop.DotNetCore.NodeBuilders\ProjectDependenciesNode.cs" /> <Compile Include="MonoDevelop.DotNetCore\ProjectReferenceExtensions.cs" /> - <Compile Include="MonoDevelop.DotNetCore.NodeBuilders\DotNetCoreProjectDependenciesNodeBuilder.cs" /> - <Compile Include="MonoDevelop.DotNetCore.NodeBuilders\DotNetCoreAssemblyDependenciesNodeBuilder.cs" /> - <Compile Include="MonoDevelop.DotNetCore.NodeBuilders\DotNetCoreAssemblyDependenciesNode.cs" /> - <Compile Include="MonoDevelop.DotNetCore.NodeBuilders\DotNetProjectOrAssemblyDependenciesCommandHandler.cs" /> + <Compile Include="MonoDevelop.DotNetCore.NodeBuilders\ProjectDependenciesNodeBuilder.cs" /> + <Compile Include="MonoDevelop.DotNetCore.NodeBuilders\AssemblyDependenciesNodeBuilder.cs" /> + <Compile Include="MonoDevelop.DotNetCore.NodeBuilders\AssemblyDependenciesNode.cs" /> <Compile Include="MonoDevelop.DotNetCore.NodeBuilders\DotNetCoreProjectReferencesNodeBuilderExtension.cs" /> + <Compile Include="MonoDevelop.DotNetCore.NodeBuilders\DependenciesNode.cs" /> + <Compile Include="MonoDevelop.DotNetCore.NodeBuilders\DependenciesNodeBuilder.cs" /> + <Compile Include="MonoDevelop.DotNetCore.NodeBuilders\DependenciesNodeBuilderExtension.cs" /> + <Compile Include="MonoDevelop.DotNetCore.NodeBuilders\PackageDependenciesNode.cs" /> + <Compile Include="MonoDevelop.DotNetCore.NodeBuilders\PackageDependenciesNodeBuilder.cs" /> + <Compile Include="MonoDevelop.DotNetCore.NodeBuilders\PackageDependencyNode.cs" /> + <Compile Include="MonoDevelop.DotNetCore.NodeBuilders\PackageDependencyNodeBuilder.cs" /> + <Compile Include="MonoDevelop.DotNetCore.NodeBuilders\TargetFrameworkNode.cs" /> + <Compile Include="MonoDevelop.DotNetCore.NodeBuilders\TargetFrameworkNodeBuilder.cs" /> + <Compile Include="MonoDevelop.DotNetCore.Commands\ProjectOrAssemblyDependenciesCommandHandler.cs" /> + <Compile Include="MonoDevelop.DotNetCore.Commands\PackageDependenciesNodeCommandHandler.cs" /> + <Compile Include="MonoDevelop.DotNetCore.Commands\PackageDependencyNodeCommandHandler.cs" /> + <Compile Include="MonoDevelop.DotNetCore.NodeBuilders\DotNetCoreFolderNodeBuilderExtension.cs" /> + <Compile Include="MonoDevelop.DotNetCore.NodeBuilders\DotNetCoreProjectNodeBuilderExtension.cs" /> </ItemGroup> <ItemGroup> <Folder Include="MonoDevelop.DotNetCore\" /> diff --git a/main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore/DotNetCoreServices.cs b/main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore/DotNetCoreServices.cs deleted file mode 100644 index cc4058c658..0000000000 --- a/main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore/DotNetCoreServices.cs +++ /dev/null @@ -1,40 +0,0 @@ -// -// DotNetCoreServices.cs -// -// Author: -// Matt Ward <matt.ward@xamarin.com> -// -// Copyright (c) 2016 Xamarin Inc. (http://xamarin.com) -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. -using MonoDevelop.Core; - -namespace MonoDevelop.DotNetCore -{ - class DotNetCoreServices - { - static readonly DotNetCoreProjectFileRenamedHandler projectFileRenamedHandler = - new DotNetCoreProjectFileRenamedHandler (); - - public static void Initialize () - { - // Do nothing. - } - } -} diff --git a/main/src/addins/MonoDevelop.DotNetCore/Properties/MonoDevelop.DotNetCore.addin.xml b/main/src/addins/MonoDevelop.DotNetCore/Properties/MonoDevelop.DotNetCore.addin.xml index 30874bb804..ee941c7b5f 100644 --- a/main/src/addins/MonoDevelop.DotNetCore/Properties/MonoDevelop.DotNetCore.addin.xml +++ b/main/src/addins/MonoDevelop.DotNetCore/Properties/MonoDevelop.DotNetCore.addin.xml @@ -98,7 +98,8 @@ </Extension> <Extension path="/MonoDevelop/Ide/Pads/ProjectPad"> - <NodeBuilder class="MonoDevelop.DotNetCore.DotNetCoreFolderNodeBuilderExtension" /> + <NodeBuilder class="MonoDevelop.DotNetCore.NodeBuilders.DotNetCoreFolderNodeBuilderExtension" /> + <NodeBuilder class="MonoDevelop.DotNetCore.NodeBuilders.DotNetCoreProjectNodeBuilderExtension" /> </Extension> <Extension path="/MonoDevelop/ProjectModel/WorkspaceObjectReaders"> @@ -109,8 +110,13 @@ <Class id="DnxTestProvider" class="MonoDevelop.DotNetCore.UnitTesting.DotNetCoreTestProvider" /> </Extension> - <Extension path="/MonoDevelop/Ide/Pads/ProjectPad"> - <NodeBuilder class="MonoDevelop.DotNetCore.DotNetCoreProjectNodeBuilderExtension" /> + <ExtensionPoint path="/MonoDevelop/DotNetCore/ContextMenu/ProjectPad/PackageDependency"> + <ExtensionNodeSet id="MonoDevelop.Components.Commands.ItemSet"/> + </ExtensionPoint> + + <Extension path="/MonoDevelop/DotNetCore/ContextMenu/ProjectPad/PackageDependency"> + <CommandItem id="MonoDevelop.PackageManagement.Commands.PackageReferenceNodeCommands.UpdatePackage" /> + <CommandItem id="MonoDevelop.Ide.Commands.EditCommands.Delete" /> </Extension> <Extension path="/MonoDevelop/ProjectModel/Gui/ItemOptionPanels/Build/General"> @@ -131,17 +137,29 @@ <Extension path="/MonoDevelop/Ide/ContextMenu/ProjectPad"> <Condition id="ItemType" - value="MonoDevelop.PackageManagement.NodeBuilders.DependenciesNode"> + value="MonoDevelop.DotNetCore.NodeBuilders.DependenciesNode"> <CommandItem - id="MonoDevelop.Ide.Commands.ProjectCommands.AddReference" - insertbefore="MonoDevelop.PackageManagement.Commands.AddPackages" /> + id="MonoDevelop.Ide.Commands.ProjectCommands.AddReference" /> <SeparatorItem - id="DependenciesEditReferenceSeparator" - insertbefore="MonoDevelop.PackageManagement.Commands.AddPackages" /> + id="DependenciesEditReferenceSeparator" /> + <CommandItem + id="MonoDevelop.PackageManagement.Commands.AddPackages" _label = "Add _Packages..." /> + <CommandItem + id="MonoDevelop.PackageManagement.Commands.UpdateAllPackagesInProject" /> + <CommandItem + id="MonoDevelop.PackageManagement.Commands.Restore" /> + </Condition> + <Condition id="ItemType" value="MonoDevelop.DotNetCore.NodeBuilders.PackageDependenciesNode"> + <CommandItem + id="MonoDevelop.PackageManagement.Commands.AddPackages" _label = "Add _Packages..." /> + <CommandItem + id="MonoDevelop.PackageManagement.Commands.UpdateAllPackagesInProject" /> + <CommandItem + id="MonoDevelop.PackageManagement.Commands.Restore" /> </Condition> <Condition id="ItemType" - value="MonoDevelop.DotNetCore.NodeBuilders.DotNetCoreAssemblyDependenciesNode|MonoDevelop.DotNetCore.NodeBuilders.DotNetCoreProjectDependenciesNode"> + value="MonoDevelop.DotNetCore.NodeBuilders.AssemblyDependenciesNode|MonoDevelop.DotNetCore.NodeBuilders.ProjectDependenciesNode"> <CommandItem id="MonoDevelop.Ide.Commands.ProjectCommands.AddReference" insertbefore="MonoDevelop.PackageManagement.Commands.AddPackages" /> @@ -149,9 +167,13 @@ </Extension> <Extension path="/MonoDevelop/Ide/Pads/ProjectPad"> - <NodeBuilder class="MonoDevelop.DotNetCore.NodeBuilders.DotNetCoreDependenciesNodeBuilderExtension" /> - <NodeBuilder class="MonoDevelop.DotNetCore.NodeBuilders.DotNetCoreProjectDependenciesNodeBuilder" /> - <NodeBuilder class="MonoDevelop.DotNetCore.NodeBuilders.DotNetCoreAssemblyDependenciesNodeBuilder" /> + <NodeBuilder class="MonoDevelop.DotNetCore.NodeBuilders.DependenciesNodeBuilderExtension" /> + <NodeBuilder class="MonoDevelop.DotNetCore.NodeBuilders.DependenciesNodeBuilder" /> + <NodeBuilder class="MonoDevelop.DotNetCore.NodeBuilders.PackageDependenciesNodeBuilder" /> + <NodeBuilder class="MonoDevelop.DotNetCore.NodeBuilders.TargetFrameworkNodeBuilder" /> + <NodeBuilder class="MonoDevelop.DotNetCore.NodeBuilders.PackageDependencyNodeBuilder" /> + <NodeBuilder class="MonoDevelop.DotNetCore.NodeBuilders.ProjectDependenciesNodeBuilder" /> + <NodeBuilder class="MonoDevelop.DotNetCore.NodeBuilders.AssemblyDependenciesNodeBuilder" /> <NodeBuilder class="MonoDevelop.DotNetCore.NodeBuilders.DotNetCoreProjectReferencesNodeBuilderExtension" /> </Extension> </ExtensionModel>
\ No newline at end of file diff --git a/main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.Commands/PackageReferenceNodeCommandHandler.cs b/main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.Commands/PackageReferenceNodeCommandHandler.cs index aaa7c92eb5..f74a724c7f 100644 --- a/main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.Commands/PackageReferenceNodeCommandHandler.cs +++ b/main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.Commands/PackageReferenceNodeCommandHandler.cs @@ -69,6 +69,14 @@ namespace MonoDevelop.PackageManagement.Commands PackageId = packageReferenceNode.Id
};
}
+
+ static internal IPackageAction CreateUninstallPackageAction (DotNetProject project, string packageId)
+ {
+ var solutionManager = PackageManagementServices.Workspace.GetSolutionManager (project.ParentSolution);
+ return new UninstallNuGetPackageAction (solutionManager, new DotNetProjectProxy (project)) {
+ PackageId = packageId
+ };
+ }
[CommandUpdateHandler (EditCommands.Delete)]
public void UpdateRemoveItem (CommandInfo info)
@@ -87,22 +95,30 @@ namespace MonoDevelop.PackageManagement.Commands {
var packageReferenceNode = (PackageReferenceNode)CurrentNode.DataItem;
+ UpdatePackage (
+ packageReferenceNode.Project,
+ packageReferenceNode.Id,
+ !packageReferenceNode.IsReleaseVersion ());
+ }
+
+ internal static void UpdatePackage (IDotNetProject project, string packageId, bool includePrerelease)
+ {
try {
- var solutionManager = PackageManagementServices.Workspace.GetSolutionManager (packageReferenceNode.Project.ParentSolution);
- var action = new UpdateNuGetPackageAction (solutionManager, packageReferenceNode.Project) {
- PackageId = packageReferenceNode.Id,
- IncludePrerelease = !packageReferenceNode.IsReleaseVersion ()
+ var solutionManager = PackageManagementServices.Workspace.GetSolutionManager (project.ParentSolution);
+ var action = new UpdateNuGetPackageAction (solutionManager, project) {
+ PackageId = packageId,
+ IncludePrerelease = includePrerelease
};
- ProgressMonitorStatusMessage progressMessage = ProgressMonitorStatusMessageFactory.CreateUpdatingSinglePackageMessage (packageReferenceNode.Id, packageReferenceNode.Project);
+ ProgressMonitorStatusMessage progressMessage = ProgressMonitorStatusMessageFactory.CreateUpdatingSinglePackageMessage (packageId, project);
UpdatePackage (progressMessage, action);
} catch (Exception ex) {
- ProgressMonitorStatusMessage progressMessage = ProgressMonitorStatusMessageFactory.CreateUpdatingSinglePackageMessage (packageReferenceNode.Id);
+ ProgressMonitorStatusMessage progressMessage = ProgressMonitorStatusMessageFactory.CreateUpdatingSinglePackageMessage (packageId);
PackageManagementServices.BackgroundPackageActionRunner.ShowError (progressMessage, ex);
}
}
- void UpdatePackage (ProgressMonitorStatusMessage progressMessage, IPackageAction action)
+ static void UpdatePackage (ProgressMonitorStatusMessage progressMessage, IPackageAction action)
{
try {
PackageManagementServices.BackgroundPackageActionRunner.Run (progressMessage, action);
diff --git a/main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.addin.xml b/main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.addin.xml index 79d846a20c..5278d96067 100644 --- a/main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.addin.xml +++ b/main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.addin.xml @@ -91,14 +91,6 @@ <CommandItem
id="MonoDevelop.PackageManagement.Commands.Restore" />
</Condition>
- <Condition id="ItemType" value="MonoDevelop.PackageManagement.NodeBuilders.DependenciesNode|MonoDevelop.PackageManagement.NodeBuilders.PackageDependenciesNode">
- <CommandItem
- id="MonoDevelop.PackageManagement.Commands.AddPackages" _label = "Add _Packages..." />
- <CommandItem
- id="MonoDevelop.PackageManagement.Commands.UpdateAllPackagesInProject" />
- <CommandItem
- id="MonoDevelop.PackageManagement.Commands.Restore" />
- </Condition>
</Extension>
<Extension path="/MonoDevelop/Ide/ContextMenu/ProjectPad/Add">
@@ -137,11 +129,6 @@ <NodeBuilder class="MonoDevelop.PackageManagement.NodeBuilders.ProjectReferenceNodeBuilderExtension" />
<NodeBuilder class="MonoDevelop.PackageManagement.NodeBuilders.ProjectReferencesNodeBuilderExtension" />
<NodeBuilder class="MonoDevelop.PackageManagement.NodeBuilders.ProjectReferencesFromPackagesFolderNodeBuilder" />
- <NodeBuilder class="MonoDevelop.PackageManagement.NodeBuilders.DependenciesNodeBuilderExtension" />
- <NodeBuilder class="MonoDevelop.PackageManagement.NodeBuilders.DependenciesNodeBuilder" />
- <NodeBuilder class="MonoDevelop.PackageManagement.NodeBuilders.PackageDependenciesNodeBuilder" />
- <NodeBuilder class="MonoDevelop.PackageManagement.NodeBuilders.TargetFrameworkNodeBuilder" />
- <NodeBuilder class="MonoDevelop.PackageManagement.NodeBuilders.PackageDependencyNodeBuilder" />
</Extension>
<ExtensionPoint path = "/MonoDevelop/PackageManagement/ContextMenu/ProjectPad/PackageReference">
@@ -155,15 +142,6 @@ <CommandItem id="MonoDevelop.Ide.Commands.EditCommands.Delete" />
</Extension>
- <ExtensionPoint path="/MonoDevelop/PackageManagement/ContextMenu/ProjectPad/PackageDependency">
- <ExtensionNodeSet id="MonoDevelop.Components.Commands.ItemSet"/>
- </ExtensionPoint>
-
- <Extension path="/MonoDevelop/PackageManagement/ContextMenu/ProjectPad/PackageDependency">
- <CommandItem id="MonoDevelop.PackageManagement.Commands.PackageReferenceNodeCommands.UpdatePackage" />
- <CommandItem id="MonoDevelop.Ide.Commands.EditCommands.Delete" />
- </Extension>
-
<Extension path="/MonoDevelop/DesignerSupport/PropertyProviders">
<Class class="MonoDevelop.PackageManagement.NodeBuilders.PackageReferenceNodePropertyProvider" />
</Extension>
diff --git a/main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.csproj b/main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.csproj index 08b17d2295..6ef3f63ffb 100644 --- a/main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.csproj +++ b/main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.csproj @@ -389,16 +389,6 @@ <Compile Include="MonoDevelop.PackageManagement\DotNetCorePath.cs" /> <Compile Include="MonoDevelop.PackageManagement\LoggingProgressMonitor.cs" /> <Compile Include="MonoDevelop.PackageManagement\DotNetCoreFrameworkCompatibility.cs" /> - <Compile Include="MonoDevelop.PackageManagement.NodeBuilders\DependenciesNodeBuilderExtension.cs" /> - <Compile Include="MonoDevelop.PackageManagement.NodeBuilders\DependenciesNode.cs" /> - <Compile Include="MonoDevelop.PackageManagement.NodeBuilders\DependenciesNodeBuilder.cs" /> - <Compile Include="MonoDevelop.PackageManagement.NodeBuilders\PackageDependenciesNode.cs" /> - <Compile Include="MonoDevelop.PackageManagement.NodeBuilders\PackageDependenciesNodeBuilder.cs" /> - <Compile Include="MonoDevelop.PackageManagement.NodeBuilders\TargetFrameworkNode.cs" /> - <Compile Include="MonoDevelop.PackageManagement.NodeBuilders\TargetFrameworkNodeBuilder.cs" /> - <Compile Include="MonoDevelop.PackageManagement.NodeBuilders\PackageDependencyNode.cs" /> - <Compile Include="MonoDevelop.PackageManagement.NodeBuilders\PackageDependencyNodeBuilder.cs" /> - <Compile Include="MonoDevelop.PackageManagement.Commands\PackageDependenciesNodeCommandHandler.cs" /> <Compile Include="MonoDevelop.PackageManagement.Gui\PackageSourcesLoadErrorWidget.cs" /> <Compile Include="MonoDevelop.PackageManagement.Gui\PackageSourcesLoadErrorWidget.UI.cs"> <DependentUpon>PackageSourcesLoadErrorWidget.cs</DependentUpon> @@ -424,7 +414,6 @@ <Compile Include="NuGet.Commands\MSBuildRestoreResult.cs" /> <Compile Include="MonoDevelop.PackageManagement\HttpClientFactory.cs" /> <Compile Include="NuGet.CommandLine\SettingsCredentialProvider.cs" /> - <Compile Include="MonoDevelop.PackageManagement.Commands\PackageDependencyNodeCommandHandler.cs" /> </ItemGroup> <ItemGroup> <EmbeddedResource Include="MonoDevelop.PackageManagement.addin.xml" /> diff --git a/main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement/PackageUpdateChecker.cs b/main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement/PackageUpdateChecker.cs deleted file mode 100644 index 8850375e3e..0000000000 --- a/main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement/PackageUpdateChecker.cs +++ /dev/null @@ -1,100 +0,0 @@ -//
-// PackageUpdateChecker.cs
-//
-// Author:
-// Matt Ward <matt.ward@xamarin.com>
-//
-// Copyright (c) 2014 Xamarin Inc. (http://xamarin.com)
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-
-using System;
-using ICSharpCode.PackageManagement;
-using MonoDevelop.Core;
-
-namespace MonoDevelop.PackageManagement
-{
- public class PackageUpdateChecker
- {
- IUpdatedPackagesInSolution updatedPackagesInSolution;
- IPackageManagementProgressMonitorFactory progressMonitorFactory;
-
- public PackageUpdateChecker ()
- : this (
- PackageManagementServices.UpdatedPackagesInSolution,
- PackageManagementServices.ProgressMonitorFactory)
- {
- }
-
- public PackageUpdateChecker (
- IUpdatedPackagesInSolution updatedPackagesInSolution,
- IPackageManagementProgressMonitorFactory progressMonitorFactory)
- {
- this.updatedPackagesInSolution = updatedPackagesInSolution;
- this.progressMonitorFactory = progressMonitorFactory;
- }
-
- public void Run ()
- {
- try {
- CheckForPackageUpdatesWithProgressMonitor ();
- } catch (Exception ex) {
- LoggingService.LogInternalError ("PackageUpdateChecker error.", ex);
- }
- }
-
- void CheckForPackageUpdatesWithProgressMonitor ()
- {
- ProgressMonitorStatusMessage progressMessage = ProgressMonitorStatusMessageFactory.CreateCheckingForPackageUpdatesMessage ();
- using (ProgressMonitor progressMonitor = CreateProgressMonitor (progressMessage)) {
- try {
- using (var eventMonitor = new PackageUpdatesEventMonitor (progressMonitor)) {
- CheckForPackageUpdates (progressMonitor, progressMessage, eventMonitor);
- }
- } catch (Exception ex) {
- LoggingService.LogInternalError (ex);
- progressMonitor.Log.WriteLine (ex.Message);
- progressMonitor.ReportError (progressMessage.Error, null);
- progressMonitor.ShowPackageConsole ();
- }
- }
- }
-
- ProgressMonitor CreateProgressMonitor (ProgressMonitorStatusMessage progressMessage)
- {
- return progressMonitorFactory.CreateProgressMonitor (progressMessage.Status);
- }
-
- void CheckForPackageUpdates (
- ProgressMonitor progressMonitor,
- ProgressMonitorStatusMessage progressMessage,
- PackageUpdatesEventMonitor eventMonitor)
- {
- updatedPackagesInSolution.CheckForUpdates ();
- if (updatedPackagesInSolution.AnyUpdates ()) {
- progressMonitor.ReportSuccess (GettextCatalog.GetString ("Package updates are available."));
- } else if (eventMonitor.WarningReported) {
- progressMonitor.ReportWarning (progressMessage.Warning);
- } else {
- progressMonitor.ReportSuccess (progressMessage.Success);
- }
- }
- }
-}
-
|