Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/monodevelop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/main
diff options
context:
space:
mode:
authorMatt Ward <matt.ward@xamarin.com>2017-02-23 14:08:32 +0300
committerMatt Ward <matt.ward@xamarin.com>2017-02-23 16:59:51 +0300
commit9505100165cead955b89dd0ca3339956c028c21d (patch)
tree819ef11f2a16a2fd63871dfb25136ac87ec23d8c /main
parent5c3206fadce155f4bcf954f11686e4d260897b75 (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.cs106
-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.csproj30
-rw-r--r--main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore/DotNetCoreServices.cs40
-rw-r--r--main/src/addins/MonoDevelop.DotNetCore/Properties/MonoDevelop.DotNetCore.addin.xml46
-rw-r--r--main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.Commands/PackageReferenceNodeCommandHandler.cs30
-rw-r--r--main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.addin.xml22
-rw-r--r--main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.csproj11
-rw-r--r--main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement/PackageUpdateChecker.cs100
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);
- }
- }
- }
-}
-