From f7f3b65bd2041dea49b65f00603721411018a6b1 Mon Sep 17 00:00:00 2001 From: Matt Ward Date: Sun, 20 Jul 2014 15:35:28 +0100 Subject: [PATCH] Initial port to NuGet 3.0 This is an early version that is very broken. Uses a custom build of NuGet 3.0 which targets .NET 4.5: https://github.com/mrward/nuget/tree/3.0-ctp1-net45 Official binaries target .NET 4.5.1 so they cannot be used with SharpDevelop. NuGet binaries are not added to source control since this branch is still a work in progress. So NuGet will need to be compiled from source and the binaries copied to the RequiredLibraries directory. It looks like SharpDevelop may get the automatic rollback that happens in Visual Studio when a package fails to install since it looks like the code is now in NuGet.Core. What works: Installing a package. Uninstalling a package. Updating a package. Issues: 1. Uninstalling/updating does not remove the old files from the packages directory. 2. Managing at the solution level is not implemented. 3. Fails to connect to new NuGet 3.0 feed. Getting an Http version not supported error back from the NuGet 3.0 package source. 4. Unit tests do not compile due to various API changes. --- .../PackageManagement/PackageManagement.sln | 138 +++---------- .../Design/FakePackageManagementProject.cs | 20 +- .../Project/Src/Design/FakePackageManager.cs | 156 ++++++++------ .../Src/Design/FakePackageOperation.cs | 10 +- .../Project/Src/Design/FakeProjectManager.cs | 145 +++++++------ .../Project/Src/Design/FakeProjectSystem.cs | 2 +- .../Project/Src/IPackageManagementProject.cs | 9 +- .../Src/ISharpDevelopPackageManager.cs | 9 +- .../Src/ISharpDevelopProjectManager.cs | 1 + .../Project/Src/IUpdatePackagesAction.cs | 5 +- .../Project/Src/InstallPackageAction.cs | 3 +- .../Project/Src/PackageFilesForOperations.cs | 7 +- .../Project/Src/PackageManagementProject.cs | 17 +- .../Project/Src/PackageViewModel.cs | 112 +++++----- .../Src/ProcessPackageOperationsAction.cs | 5 +- .../Project/Src/SharpDevelopPackageManager.cs | 194 +++++++++++------- .../Project/Src/SharpDevelopProjectManager.cs | 9 +- .../Project/Src/SharpDevelopProjectSystem.cs | 2 +- .../Project/Src/UpdatePackageAction.cs | 3 +- .../Project/Src/UpdatePackagesAction.cs | 7 +- .../Src/UpdatePackagesActionFactory.cs | 5 +- .../Src/UpdateSolutionPackagesAction.cs | 29 +-- .../Src/ConsolePackageActionRunnerTests.cs | 3 +- ...ceptionThrowingPackageManagementProject.cs | 3 +- .../Helpers/FakeSharedPackageRepository.cs | 15 ++ .../Src/Helpers/PackageOperationHelper.cs | 9 +- .../Src/Helpers/TestableProjectManager.cs | 70 +++---- 27 files changed, 527 insertions(+), 461 deletions(-) diff --git a/src/AddIns/Misc/PackageManagement/PackageManagement.sln b/src/AddIns/Misc/PackageManagement/PackageManagement.sln index 578325f1a9..5b864fb917 100644 --- a/src/AddIns/Misc/PackageManagement/PackageManagement.sln +++ b/src/AddIns/Misc/PackageManagement/PackageManagement.sln @@ -1,7 +1,9 @@  -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2010 -# SharpDevelop 4.3 +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 2012 +# SharpDevelop 4.4 +VisualStudioVersion = 12.0.20827.3 +MinimumVisualStudioVersion = 10.0.40219.1 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PackageManagement", "Project\PackageManagement.csproj", "{AE4AB0FA-6087-4480-AF37-0FA1452B3DA1}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PackageManagement.Tests", "Test\PackageManagement.Tests.csproj", "{56E98A01-8398-4A08-9578-C7337711A52B}" @@ -10,7 +12,7 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop", EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core", "..\..\..\Main\Core\Project\ICSharpCode.Core.csproj", "{35CEF10F-2D4C-45F2-9DD1-161E0FEC583C}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AvalonDock", "..\..\..\Libraries\AvalonDock\AvalonDock\AvalonDock.csproj", "{87E61430-4243-45F2-B74E-0A4C096CEBF3}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AvalonDock", "..\..\..\Libraries\AvalonDock\AvalonDock\AvalonDock.csproj", "{2FF700C2-A38A-48BD-A637-8CAFD4FE6237}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.AvalonEdit", "..\..\..\Libraries\AvalonEdit\ICSharpCode.AvalonEdit\ICSharpCode.AvalonEdit.csproj", "{6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}" EndProject @@ -32,7 +34,7 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AvalonEdit.AddIn", "..\..\D EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PackageManagement.PowerShell", "PowerShell\Project\PackageManagement.PowerShell.csproj", "{A406803B-C584-43A3-BCEE-A0BB3132CB5F}" EndProject -Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "SharpDevelop.EnvDTE", "SharpDevelop.EnvDTE\SharpDevelop.EnvDTE.vbproj", "{6FB1260D-68A2-41A0-BB09-F5F710842E99}" +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "SharpDevelop.EnvDTE", "SharpDevelop.EnvDTE\SharpDevelop.EnvDTE.vbproj", "{1B753D7F-7C77-4D5E-B928-02982690879C}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.NRefactory", "..\..\..\Libraries\NRefactory\ICSharpCode.NRefactory\ICSharpCode.NRefactory.csproj", "{3B2A5653-EC97-4001-BB9B-D90F1AF2C371}" EndProject @@ -40,175 +42,93 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.Cecil", "..\..\..\Libr EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.NRefactory.CSharp", "..\..\..\Libraries\NRefactory\ICSharpCode.NRefactory.CSharp\ICSharpCode.NRefactory.CSharp.csproj", "{53DCA265-3C3C-42F9-B647-F72BA678122B}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Tests", "..\..\..\Main\Base\Test\ICSharpCode.SharpDevelop.Tests.csproj", "{4980B743-B32F-4aba-AABD-45E2CAD3568D}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Tests", "..\..\..\Main\Base\Test\ICSharpCode.SharpDevelop.Tests.csproj", "{4980B743-B32F-4ABA-AABD-45E2CAD3568D}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU Release|Any CPU = Release|Any CPU - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {AE4AB0FA-6087-4480-AF37-0FA1452B3DA1}.Debug|Any CPU.Build.0 = Debug|Any CPU {AE4AB0FA-6087-4480-AF37-0FA1452B3DA1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {AE4AB0FA-6087-4480-AF37-0FA1452B3DA1}.Release|Any CPU.Build.0 = Release|Any CPU + {AE4AB0FA-6087-4480-AF37-0FA1452B3DA1}.Debug|Any CPU.Build.0 = Debug|Any CPU {AE4AB0FA-6087-4480-AF37-0FA1452B3DA1}.Release|Any CPU.ActiveCfg = Release|Any CPU - {56E98A01-8398-4A08-9578-C7337711A52B}.Debug|Any CPU.Build.0 = Debug|Any CPU + {AE4AB0FA-6087-4480-AF37-0FA1452B3DA1}.Release|Any CPU.Build.0 = Release|Any CPU {56E98A01-8398-4A08-9578-C7337711A52B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {56E98A01-8398-4A08-9578-C7337711A52B}.Release|Any CPU.Build.0 = Release|Any CPU + {56E98A01-8398-4A08-9578-C7337711A52B}.Debug|Any CPU.Build.0 = Debug|Any CPU {56E98A01-8398-4A08-9578-C7337711A52B}.Release|Any CPU.ActiveCfg = Release|Any CPU - {2748AD25-9C63-4E12-877B-4DCE96FBED54}.Debug|Any CPU.Build.0 = Debug|Any CPU + {56E98A01-8398-4A08-9578-C7337711A52B}.Release|Any CPU.Build.0 = Release|Any CPU {2748AD25-9C63-4E12-877B-4DCE96FBED54}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {2748AD25-9C63-4E12-877B-4DCE96FBED54}.Release|Any CPU.Build.0 = Release|Any CPU - {2748AD25-9C63-4E12-877B-4DCE96FBED54}.Release|Any CPU.ActiveCfg = Release|Any CPU {2748AD25-9C63-4E12-877B-4DCE96FBED54}.Debug|Any CPU.Build.0 = Debug|Any CPU - {2748AD25-9C63-4E12-877B-4DCE96FBED54}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {2748AD25-9C63-4E12-877B-4DCE96FBED54}.Release|Any CPU.Build.0 = Release|Any CPU {2748AD25-9C63-4E12-877B-4DCE96FBED54}.Release|Any CPU.ActiveCfg = Release|Any CPU - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {2748AD25-9C63-4E12-877B-4DCE96FBED54}.Release|Any CPU.Build.0 = Release|Any CPU {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C}.Debug|Any CPU.Build.0 = Debug|Any CPU - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C}.Release|Any CPU.Build.0 = Release|Any CPU {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C}.Release|Any CPU.ActiveCfg = Release|Any CPU {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C}.Release|Any CPU.Build.0 = Release|Any CPU - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C}.Release|Any CPU.ActiveCfg = Release|Any CPU - {87E61430-4243-45F2-B74E-0A4C096CEBF3}.Debug|Any CPU.Build.0 = Debug|Any CPU - {87E61430-4243-45F2-B74E-0A4C096CEBF3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {87E61430-4243-45F2-B74E-0A4C096CEBF3}.Debug|Any CPU.Build.0 = Debug|Any CPU - {87E61430-4243-45F2-B74E-0A4C096CEBF3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {87E61430-4243-45F2-B74E-0A4C096CEBF3}.Release|Any CPU.Build.0 = Release|Any CPU - {87E61430-4243-45F2-B74E-0A4C096CEBF3}.Release|Any CPU.ActiveCfg = Release|Any CPU - {87E61430-4243-45F2-B74E-0A4C096CEBF3}.Release|Any CPU.Build.0 = Release|Any CPU - {87E61430-4243-45F2-B74E-0A4C096CEBF3}.Release|Any CPU.ActiveCfg = Release|Any CPU - {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}.Debug|Any CPU.Build.0 = Debug|Any CPU - {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {2FF700C2-A38A-48BD-A637-8CAFD4FE6237}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {2FF700C2-A38A-48BD-A637-8CAFD4FE6237}.Debug|Any CPU.Build.0 = Debug|Any CPU + {2FF700C2-A38A-48BD-A637-8CAFD4FE6237}.Release|Any CPU.ActiveCfg = Release|Any CPU + {2FF700C2-A38A-48BD-A637-8CAFD4FE6237}.Release|Any CPU.Build.0 = Release|Any CPU + {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}.Debug|Any CPU.ActiveCfg = Debug|WithNRefactory {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}.Debug|Any CPU.Build.0 = Debug|Any CPU - {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}.Release|Any CPU.Build.0 = Release|Any CPU {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}.Release|Any CPU.ActiveCfg = Release|Any CPU {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}.Release|Any CPU.Build.0 = Release|Any CPU - {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}.Release|Any CPU.ActiveCfg = Release|Any CPU - {7E4A7172-7FF5-48D0-B719-7CD959DD1AC9}.Debug|Any CPU.Build.0 = Debug|Any CPU {7E4A7172-7FF5-48D0-B719-7CD959DD1AC9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {7E4A7172-7FF5-48D0-B719-7CD959DD1AC9}.Debug|Any CPU.Build.0 = Debug|Any CPU - {7E4A7172-7FF5-48D0-B719-7CD959DD1AC9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {7E4A7172-7FF5-48D0-B719-7CD959DD1AC9}.Release|Any CPU.Build.0 = Release|Any CPU {7E4A7172-7FF5-48D0-B719-7CD959DD1AC9}.Release|Any CPU.ActiveCfg = Release|Any CPU {7E4A7172-7FF5-48D0-B719-7CD959DD1AC9}.Release|Any CPU.Build.0 = Release|Any CPU - {7E4A7172-7FF5-48D0-B719-7CD959DD1AC9}.Release|Any CPU.ActiveCfg = Release|Any CPU - {857CA1A3-FC88-4BE0-AB6A-D1EE772AB288}.Debug|Any CPU.Build.0 = Debug|Any CPU {857CA1A3-FC88-4BE0-AB6A-D1EE772AB288}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {857CA1A3-FC88-4BE0-AB6A-D1EE772AB288}.Debug|Any CPU.Build.0 = Debug|Any CPU - {857CA1A3-FC88-4BE0-AB6A-D1EE772AB288}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {857CA1A3-FC88-4BE0-AB6A-D1EE772AB288}.Release|Any CPU.Build.0 = Release|Any CPU {857CA1A3-FC88-4BE0-AB6A-D1EE772AB288}.Release|Any CPU.ActiveCfg = Release|Any CPU {857CA1A3-FC88-4BE0-AB6A-D1EE772AB288}.Release|Any CPU.Build.0 = Release|Any CPU - {857CA1A3-FC88-4BE0-AB6A-D1EE772AB288}.Release|Any CPU.ActiveCfg = Release|Any CPU - {8035765F-D51F-4A0C-A746-2FD100E19419}.Debug|Any CPU.Build.0 = Debug|Any CPU {8035765F-D51F-4A0C-A746-2FD100E19419}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {8035765F-D51F-4A0C-A746-2FD100E19419}.Debug|Any CPU.Build.0 = Debug|Any CPU - {8035765F-D51F-4A0C-A746-2FD100E19419}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {8035765F-D51F-4A0C-A746-2FD100E19419}.Release|Any CPU.Build.0 = Release|Any CPU {8035765F-D51F-4A0C-A746-2FD100E19419}.Release|Any CPU.ActiveCfg = Release|Any CPU {8035765F-D51F-4A0C-A746-2FD100E19419}.Release|Any CPU.Build.0 = Release|Any CPU - {8035765F-D51F-4A0C-A746-2FD100E19419}.Release|Any CPU.ActiveCfg = Release|Any CPU - {7048AE18-EB93-4A84-82D0-DD60EB58ADBD}.Debug|Any CPU.Build.0 = Debug|Any CPU {7048AE18-EB93-4A84-82D0-DD60EB58ADBD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {7048AE18-EB93-4A84-82D0-DD60EB58ADBD}.Debug|Any CPU.Build.0 = Debug|Any CPU - {7048AE18-EB93-4A84-82D0-DD60EB58ADBD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {7048AE18-EB93-4A84-82D0-DD60EB58ADBD}.Release|Any CPU.Build.0 = Release|Any CPU {7048AE18-EB93-4A84-82D0-DD60EB58ADBD}.Release|Any CPU.ActiveCfg = Release|Any CPU {7048AE18-EB93-4A84-82D0-DD60EB58ADBD}.Release|Any CPU.Build.0 = Release|Any CPU - {7048AE18-EB93-4A84-82D0-DD60EB58ADBD}.Release|Any CPU.ActiveCfg = Release|Any CPU - {85C09AD8-183B-403A-869A-7226646218A9}.Debug|Any CPU.Build.0 = Debug|Any CPU {85C09AD8-183B-403A-869A-7226646218A9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {85C09AD8-183B-403A-869A-7226646218A9}.Debug|Any CPU.Build.0 = Debug|Any CPU - {85C09AD8-183B-403A-869A-7226646218A9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {85C09AD8-183B-403A-869A-7226646218A9}.Release|Any CPU.Build.0 = Release|Any CPU {85C09AD8-183B-403A-869A-7226646218A9}.Release|Any CPU.ActiveCfg = Release|Any CPU {85C09AD8-183B-403A-869A-7226646218A9}.Release|Any CPU.Build.0 = Release|Any CPU - {85C09AD8-183B-403A-869A-7226646218A9}.Release|Any CPU.ActiveCfg = Release|Any CPU - {E0A5E80A-003B-4335-A9DC-A76E2E46D38D}.Debug|Any CPU.Build.0 = Debug|Any CPU {E0A5E80A-003B-4335-A9DC-A76E2E46D38D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {E0A5E80A-003B-4335-A9DC-A76E2E46D38D}.Debug|Any CPU.Build.0 = Debug|Any CPU - {E0A5E80A-003B-4335-A9DC-A76E2E46D38D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {E0A5E80A-003B-4335-A9DC-A76E2E46D38D}.Release|Any CPU.Build.0 = Release|Any CPU {E0A5E80A-003B-4335-A9DC-A76E2E46D38D}.Release|Any CPU.ActiveCfg = Release|Any CPU {E0A5E80A-003B-4335-A9DC-A76E2E46D38D}.Release|Any CPU.Build.0 = Release|Any CPU - {E0A5E80A-003B-4335-A9DC-A76E2E46D38D}.Release|Any CPU.ActiveCfg = Release|Any CPU - {11115C83-3DB1-431F-8B98-59040359238D}.Debug|Any CPU.Build.0 = Debug|Any CPU {11115C83-3DB1-431F-8B98-59040359238D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {11115C83-3DB1-431F-8B98-59040359238D}.Debug|Any CPU.Build.0 = Debug|Any CPU - {11115C83-3DB1-431F-8B98-59040359238D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {11115C83-3DB1-431F-8B98-59040359238D}.Release|Any CPU.Build.0 = Release|Any CPU {11115C83-3DB1-431F-8B98-59040359238D}.Release|Any CPU.ActiveCfg = Release|Any CPU {11115C83-3DB1-431F-8B98-59040359238D}.Release|Any CPU.Build.0 = Release|Any CPU - {11115C83-3DB1-431F-8B98-59040359238D}.Release|Any CPU.ActiveCfg = Release|Any CPU - {0162E499-42D0-409B-AA25-EED21F75336B}.Debug|Any CPU.Build.0 = Debug|Any CPU {0162E499-42D0-409B-AA25-EED21F75336B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {0162E499-42D0-409B-AA25-EED21F75336B}.Debug|Any CPU.Build.0 = Debug|Any CPU - {0162E499-42D0-409B-AA25-EED21F75336B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {0162E499-42D0-409B-AA25-EED21F75336B}.Release|Any CPU.Build.0 = Release|Any CPU {0162E499-42D0-409B-AA25-EED21F75336B}.Release|Any CPU.ActiveCfg = Release|Any CPU {0162E499-42D0-409B-AA25-EED21F75336B}.Release|Any CPU.Build.0 = Release|Any CPU - {0162E499-42D0-409B-AA25-EED21F75336B}.Release|Any CPU.ActiveCfg = Release|Any CPU - {A406803B-C584-43A3-BCEE-A0BB3132CB5F}.Debug|Any CPU.Build.0 = Debug|Any CPU {A406803B-C584-43A3-BCEE-A0BB3132CB5F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {A406803B-C584-43A3-BCEE-A0BB3132CB5F}.Debug|Any CPU.Build.0 = Debug|Any CPU - {A406803B-C584-43A3-BCEE-A0BB3132CB5F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {A406803B-C584-43A3-BCEE-A0BB3132CB5F}.Release|Any CPU.Build.0 = Release|Any CPU {A406803B-C584-43A3-BCEE-A0BB3132CB5F}.Release|Any CPU.ActiveCfg = Release|Any CPU {A406803B-C584-43A3-BCEE-A0BB3132CB5F}.Release|Any CPU.Build.0 = Release|Any CPU - {A406803B-C584-43A3-BCEE-A0BB3132CB5F}.Release|Any CPU.ActiveCfg = Release|Any CPU - {56E98A01-8398-4A08-9578-C7337711A52B}.Debug|Any CPU.Build.0 = Debug|Any CPU - {56E98A01-8398-4A08-9578-C7337711A52B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {56E98A01-8398-4A08-9578-C7337711A52B}.Release|Any CPU.Build.0 = Release|Any CPU - {56E98A01-8398-4A08-9578-C7337711A52B}.Release|Any CPU.ActiveCfg = Release|Any CPU - {AE4AB0FA-6087-4480-AF37-0FA1452B3DA1}.Debug|Any CPU.Build.0 = Debug|Any CPU - {AE4AB0FA-6087-4480-AF37-0FA1452B3DA1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {AE4AB0FA-6087-4480-AF37-0FA1452B3DA1}.Release|Any CPU.Build.0 = Release|Any CPU - {AE4AB0FA-6087-4480-AF37-0FA1452B3DA1}.Release|Any CPU.ActiveCfg = Release|Any CPU - {6FB1260D-68A2-41A0-BB09-F5F710842E99}.Debug|Any CPU.Build.0 = Debug|Any CPU - {6FB1260D-68A2-41A0-BB09-F5F710842E99}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {6FB1260D-68A2-41A0-BB09-F5F710842E99}.Debug|Any CPU.Build.0 = Debug|Any CPU - {6FB1260D-68A2-41A0-BB09-F5F710842E99}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {6FB1260D-68A2-41A0-BB09-F5F710842E99}.Release|Any CPU.Build.0 = Release|Any CPU - {6FB1260D-68A2-41A0-BB09-F5F710842E99}.Release|Any CPU.ActiveCfg = Release|Any CPU - {6FB1260D-68A2-41A0-BB09-F5F710842E99}.Release|Any CPU.Build.0 = Release|Any CPU - {6FB1260D-68A2-41A0-BB09-F5F710842E99}.Release|Any CPU.ActiveCfg = Release|Any CPU - {3B2A5653-EC97-4001-BB9B-D90F1AF2C371}.Debug|Any CPU.Build.0 = Debug|Any CPU - {3B2A5653-EC97-4001-BB9B-D90F1AF2C371}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {3B2A5653-EC97-4001-BB9B-D90F1AF2C371}.Debug|Any CPU.Build.0 = Debug|Any CPU + {1B753D7F-7C77-4D5E-B928-02982690879C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {1B753D7F-7C77-4D5E-B928-02982690879C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {1B753D7F-7C77-4D5E-B928-02982690879C}.Release|Any CPU.ActiveCfg = Release|Any CPU + {1B753D7F-7C77-4D5E-B928-02982690879C}.Release|Any CPU.Build.0 = Release|Any CPU {3B2A5653-EC97-4001-BB9B-D90F1AF2C371}.Debug|Any CPU.ActiveCfg = net_4_5_Debug|Any CPU - {3B2A5653-EC97-4001-BB9B-D90F1AF2C371}.Release|Any CPU.Build.0 = Release|Any CPU + {3B2A5653-EC97-4001-BB9B-D90F1AF2C371}.Debug|Any CPU.Build.0 = net_4_5_Debug|Any CPU {3B2A5653-EC97-4001-BB9B-D90F1AF2C371}.Release|Any CPU.ActiveCfg = Release|Any CPU {3B2A5653-EC97-4001-BB9B-D90F1AF2C371}.Release|Any CPU.Build.0 = Release|Any CPU - {3B2A5653-EC97-4001-BB9B-D90F1AF2C371}.Release|Any CPU.ActiveCfg = Release|Any CPU - {D68133BD-1E63-496E-9EDE-4FBDBF77B486}.Debug|Any CPU.Build.0 = net_2_0_Debug|Any CPU - {D68133BD-1E63-496E-9EDE-4FBDBF77B486}.Debug|Any CPU.ActiveCfg = net_2_0_Debug|Any CPU - {D68133BD-1E63-496E-9EDE-4FBDBF77B486}.Debug|Any CPU.Build.0 = net_2_0_Debug|Any CPU {D68133BD-1E63-496E-9EDE-4FBDBF77B486}.Debug|Any CPU.ActiveCfg = net_4_0_Debug|Any CPU - {D68133BD-1E63-496E-9EDE-4FBDBF77B486}.Release|Any CPU.Build.0 = net_2_0_Debug|Any CPU + {D68133BD-1E63-496E-9EDE-4FBDBF77B486}.Debug|Any CPU.Build.0 = net_4_0_Debug|Any CPU {D68133BD-1E63-496E-9EDE-4FBDBF77B486}.Release|Any CPU.ActiveCfg = net_2_0_Debug|Any CPU {D68133BD-1E63-496E-9EDE-4FBDBF77B486}.Release|Any CPU.Build.0 = net_2_0_Debug|Any CPU - {D68133BD-1E63-496E-9EDE-4FBDBF77B486}.Release|Any CPU.ActiveCfg = net_2_0_Debug|Any CPU - {53DCA265-3C3C-42F9-B647-F72BA678122B}.Debug|Any CPU.Build.0 = Debug|Any CPU - {53DCA265-3C3C-42F9-B647-F72BA678122B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {53DCA265-3C3C-42F9-B647-F72BA678122B}.Debug|Any CPU.Build.0 = Debug|Any CPU {53DCA265-3C3C-42F9-B647-F72BA678122B}.Debug|Any CPU.ActiveCfg = net_4_5_Debug|Any CPU - {53DCA265-3C3C-42F9-B647-F72BA678122B}.Release|Any CPU.Build.0 = Release|Any CPU + {53DCA265-3C3C-42F9-B647-F72BA678122B}.Debug|Any CPU.Build.0 = net_4_5_Debug|Any CPU {53DCA265-3C3C-42F9-B647-F72BA678122B}.Release|Any CPU.ActiveCfg = Release|Any CPU {53DCA265-3C3C-42F9-B647-F72BA678122B}.Release|Any CPU.Build.0 = Release|Any CPU - {53DCA265-3C3C-42F9-B647-F72BA678122B}.Release|Any CPU.ActiveCfg = Release|Any CPU - {4980B743-B32F-4aba-AABD-45E2CAD3568D}.Debug|Any CPU.Build.0 = Debug|Any CPU - {4980B743-B32F-4aba-AABD-45E2CAD3568D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {4980B743-B32F-4aba-AABD-45E2CAD3568D}.Debug|Any CPU.Build.0 = Debug|Any CPU - {4980B743-B32F-4aba-AABD-45E2CAD3568D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {4980B743-B32F-4aba-AABD-45E2CAD3568D}.Release|Any CPU.Build.0 = Debug|Any CPU - {4980B743-B32F-4aba-AABD-45E2CAD3568D}.Release|Any CPU.ActiveCfg = Debug|Any CPU - {4980B743-B32F-4aba-AABD-45E2CAD3568D}.Release|Any CPU.Build.0 = Debug|Any CPU - {4980B743-B32F-4aba-AABD-45E2CAD3568D}.Release|Any CPU.ActiveCfg = Debug|Any CPU + {4980B743-B32F-4ABA-AABD-45E2CAD3568D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {4980B743-B32F-4ABA-AABD-45E2CAD3568D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {4980B743-B32F-4ABA-AABD-45E2CAD3568D}.Release|Any CPU.ActiveCfg = Debug|Any CPU + {4980B743-B32F-4ABA-AABD-45E2CAD3568D}.Release|Any CPU.Build.0 = Debug|Any CPU EndGlobalSection EndGlobal diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/Design/FakePackageManagementProject.cs b/src/AddIns/Misc/PackageManagement/Project/Src/Design/FakePackageManagementProject.cs index 489755c5c6..f4869aea28 100644 --- a/src/AddIns/Misc/PackageManagement/Project/Src/Design/FakePackageManagementProject.cs +++ b/src/AddIns/Misc/PackageManagement/Project/Src/Design/FakePackageManagementProject.cs @@ -23,6 +23,8 @@ using System.Linq; using ICSharpCode.PackageManagement; using ICSharpCode.PackageManagement.EnvDTE; using NuGet; +using NuGet.Resolver; +using PackageAction = NuGet.Resolver.PackageAction; namespace ICSharpCode.PackageManagement.Design { @@ -79,7 +81,7 @@ namespace ICSharpCode.PackageManagement.Design public bool IgnoreDependenciesPassedToGetInstallPackageOperations; public bool AllowPrereleaseVersionsPassedToGetInstallPackageOperations; - public virtual IEnumerable GetInstallPackageOperations(IPackage package, InstallPackageAction installAction) + public virtual IEnumerable GetInstallPackageOperations(IPackage package, InstallPackageAction installAction) { PackagePassedToGetInstallPackageOperations = package; IgnoreDependenciesPassedToGetInstallPackageOperations = installAction.IgnoreDependencies; @@ -91,7 +93,7 @@ namespace ICSharpCode.PackageManagement.Design public ILogger Logger { get; set; } public IPackage PackagePassedToInstallPackage; - public IEnumerable PackageOperationsPassedToInstallPackage; + public IEnumerable PackageOperationsPassedToInstallPackage; public bool IgnoreDependenciesPassedToInstallPackage; public bool AllowPrereleaseVersionsPassedToInstallPackage; @@ -106,7 +108,7 @@ namespace ICSharpCode.PackageManagement.Design public FakePackageOperation AddFakeInstallOperation() { var package = new FakePackage("MyPackage"); - var operation = new FakePackageOperation(package, PackageAction.Install); + var operation = new FakePackageOperation(package, PackageActionType.Install); FakeInstallOperations.Add(operation); return operation; } @@ -114,7 +116,7 @@ namespace ICSharpCode.PackageManagement.Design public FakePackageOperation AddFakeUninstallOperation() { var package = new FakePackage("MyPackage"); - var operation = new FakePackageOperation(package, PackageAction.Uninstall); + var operation = new FakePackageOperation(package, PackageActionType.Uninstall); FakeInstallOperations.Add(operation); return operation; } @@ -137,7 +139,7 @@ namespace ICSharpCode.PackageManagement.Design } public IPackage PackagePassedToUpdatePackage; - public IEnumerable PackageOperationsPassedToUpdatePackage; + public IEnumerable PackageOperationsPassedToUpdatePackage; public bool UpdateDependenciesPassedToUpdatePackage; public bool AllowPrereleaseVersionsPassedToUpdatePackage; public bool IsUpdatePackageCalled; @@ -249,10 +251,10 @@ namespace ICSharpCode.PackageManagement.Design public UpdatePackagesAction UpdatePackagesActionPassedToGetUpdatePackagesOperations; public IUpdatePackageSettings SettingsPassedToGetUpdatePackagesOperations; public List PackagesOnUpdatePackagesActionPassedToGetUpdatePackagesOperations; - public List PackageOperationsToReturnFromGetUpdatePackagesOperations = - new List(); + public List PackageOperationsToReturnFromGetUpdatePackagesOperations = + new List(); - public IEnumerable GetUpdatePackagesOperations( + public IEnumerable GetUpdatePackagesOperations( IEnumerable packages, IUpdatePackageSettings settings) { @@ -261,7 +263,7 @@ namespace ICSharpCode.PackageManagement.Design return PackageOperationsToReturnFromGetUpdatePackagesOperations; } - public void RunPackageOperations(IEnumerable expectedOperations) + public void RunPackageOperations(IEnumerable expectedOperations) { } diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/Design/FakePackageManager.cs b/src/AddIns/Misc/PackageManagement/Project/Src/Design/FakePackageManager.cs index 7f6417b4f7..7b701507b0 100644 --- a/src/AddIns/Misc/PackageManagement/Project/Src/Design/FakePackageManager.cs +++ b/src/AddIns/Misc/PackageManagement/Project/Src/Design/FakePackageManager.cs @@ -21,6 +21,7 @@ using System.Collections.Generic; using System.Linq; using ICSharpCode.PackageManagement; using NuGet; +using PackageAction = NuGet.Resolver.PackageAction; namespace ICSharpCode.PackageManagement.Design { @@ -54,7 +55,7 @@ namespace ICSharpCode.PackageManagement.Design public FakeFileSystem FakeFileSystem = new FakeFileSystem(); - public IPackageRepository LocalRepository { get; set; } + public ISharedPackageRepository LocalRepository { get; set; } public ILogger Logger { get; set; } public IPackageRepository SourceRepository { get; set; } public ISharpDevelopProjectManager ProjectManager { get; set; } @@ -63,7 +64,7 @@ namespace ICSharpCode.PackageManagement.Design public FakePackageManager() { - ProjectManager = FakeProjectManager; +// ProjectManager = FakeProjectManager; SourceRepository = FakeSourceRepository; } @@ -78,12 +79,12 @@ namespace ICSharpCode.PackageManagement.Design IsRefreshProjectBrowserCalledWhenUninstallPackageCalled = FakeProjectService.IsRefreshProjectBrowserCalled; } - public void UninstallPackage(IPackage package, bool forceRemove, bool removeDependencies) - { - throw new NotImplementedException(); - } +// public void UninstallPackage(IPackage package, bool forceRemove, bool removeDependencies) +// { +// throw new NotImplementedException(); +// } - public IEnumerable PackageOperationsPassedToInstallPackage; + public IEnumerable PackageOperationsPassedToInstallPackage; public void InstallPackage(IPackage package, InstallPackageAction installAction) { @@ -96,12 +97,12 @@ namespace ICSharpCode.PackageManagement.Design IsRefreshProjectBrowserCalledWhenInstallPackageCalled = FakeProjectService.IsRefreshProjectBrowserCalled; } - public List PackageOperationsToReturnFromGetInstallPackageOperations = new List(); + public List PackageOperationsToReturnFromGetInstallPackageOperations = new List(); public IPackage PackagePassedToGetInstallPackageOperations; public bool IgnoreDependenciesPassedToGetInstallPackageOperations; public bool AllowPrereleaseVersionsPassedToGetInstallPackageOperations; - public IEnumerable GetInstallPackageOperations(IPackage package, InstallPackageAction installAction) + public IEnumerable GetInstallPackageOperations(IPackage package, InstallPackageAction installAction) { PackagePassedToGetInstallPackageOperations = package; IgnoreDependenciesPassedToGetInstallPackageOperations = installAction.IgnoreDependencies; @@ -110,7 +111,7 @@ namespace ICSharpCode.PackageManagement.Design } public IPackage PackagePassedToUpdatePackage; - public IEnumerable PackageOperationsPassedToUpdatePackage; + public IEnumerable PackageOperationsPassedToUpdatePackage; public bool UpdateDependenciesPassedToUpdatePackage; public void UpdatePackage(IPackage package, UpdatePackageAction updateAction) @@ -136,66 +137,66 @@ namespace ICSharpCode.PackageManagement.Design throw new NotImplementedException(); } } - - public void UpdatePackage(IPackage newPackage, bool updateDependencies) - { - throw new NotImplementedException(); - } - - public void UpdatePackage(string packageId, IVersionSpec versionSpec, bool updateDependencies) - { - throw new NotImplementedException(); - } - - public void InstallPackage(IPackage package, bool ignoreDependencies, bool allowPrereleaseVersions) - { - throw new NotImplementedException(); - } - - public void InstallPackage(string packageId, SemanticVersion version, bool ignoreDependencies, bool allowPrereleaseVersions) - { - throw new NotImplementedException(); - } - - public void UpdatePackage(IPackage newPackage, bool updateDependencies, bool allowPrereleaseVersions) - { - throw new NotImplementedException(); - } - - public void UpdatePackage(string packageId, SemanticVersion version, bool updateDependencies, bool allowPrereleaseVersions) - { - throw new NotImplementedException(); - } - - public void UpdatePackage(string packageId, IVersionSpec versionSpec, bool updateDependencies, bool allowPrereleaseVersions) - { - throw new NotImplementedException(); - } - - public void UninstallPackage(string packageId, SemanticVersion version, bool forceRemove, bool removeDependencies) - { - throw new NotImplementedException(); - } +// +// public void UpdatePackage(IPackage newPackage, bool updateDependencies) +// { +// throw new NotImplementedException(); +// } +// +// public void UpdatePackage(string packageId, IVersionSpec versionSpec, bool updateDependencies) +// { +// throw new NotImplementedException(); +// } +// +// public void InstallPackage(IPackage package, bool ignoreDependencies, bool allowPrereleaseVersions) +// { +// throw new NotImplementedException(); +// } +// +// public void InstallPackage(string packageId, SemanticVersion version, bool ignoreDependencies, bool allowPrereleaseVersions) +// { +// throw new NotImplementedException(); +// } +// +// public void UpdatePackage(IPackage newPackage, bool updateDependencies, bool allowPrereleaseVersions) +// { +// throw new NotImplementedException(); +// } +// +// public void UpdatePackage(string packageId, SemanticVersion version, bool updateDependencies, bool allowPrereleaseVersions) +// { +// throw new NotImplementedException(); +// } +// +// public void UpdatePackage(string packageId, IVersionSpec versionSpec, bool updateDependencies, bool allowPrereleaseVersions) +// { +// throw new NotImplementedException(); +// } +// +// public void UninstallPackage(string packageId, SemanticVersion version, bool forceRemove, bool removeDependencies) +// { +// throw new NotImplementedException(); +// } public void UpdatePackages(UpdatePackagesAction updateAction) { UpdatePackagesActionsPassedToUpdatePackages = updateAction; } - public List PackageOperationsToReturnFromGetUpdatePackageOperations = new List(); + public List PackageOperationsToReturnFromGetUpdatePackageOperations = new List(); public IUpdatePackageSettings SettingsPassedToGetUpdatePackageOperations; public IEnumerable PackagesPassedToGetUpdatePackageOperations; - public IEnumerable GetUpdatePackageOperations(IEnumerable packages, IUpdatePackageSettings settings) + public IEnumerable GetUpdatePackageOperations(IEnumerable packages, IUpdatePackageSettings settings) { SettingsPassedToGetUpdatePackageOperations = settings; PackagesPassedToGetUpdatePackageOperations = packages; return PackageOperationsToReturnFromGetUpdatePackageOperations; } - public List PackageOperationsPassedToRunPackageOperations; + public List PackageOperationsPassedToRunPackageOperations; - public void RunPackageOperations(IEnumerable operations) + public void RunPackageOperations(IEnumerable operations) { PackageOperationsPassedToRunPackageOperations = operations.ToList(); } @@ -208,12 +209,12 @@ namespace ICSharpCode.PackageManagement.Design PackagePassedToUpdatePackageReference = package; SettingsPassedToUpdatePackageReference = settings; } - - public void InstallPackage(IPackage package, bool ignoreDependencies, bool allowPrereleaseVersions, bool ignoreWalkInfo) - { - throw new NotImplementedException(); - } - +// +// public void InstallPackage(IPackage package, bool ignoreDependencies, bool allowPrereleaseVersions, bool ignoreWalkInfo) +// { +// throw new NotImplementedException(); +// } +// public DependencyVersion DependencyVersion { get { throw new NotImplementedException(); @@ -222,8 +223,19 @@ namespace ICSharpCode.PackageManagement.Design throw new NotImplementedException(); } } - - public bool WhatIf { +// +// public bool WhatIf { +// get { +// throw new NotImplementedException(); +// } +// set { +// throw new NotImplementedException(); +// } +// } + + // NuGet 3.0 - follows + + public bool BindingRedirectEnabled { get { throw new NotImplementedException(); } @@ -231,5 +243,25 @@ namespace ICSharpCode.PackageManagement.Design throw new NotImplementedException(); } } + + public void Execute(PackageOperation operation) + { + throw new NotImplementedException(); + } + + public bool IsProjectLevel(IPackage package) + { + throw new NotImplementedException(); + } + + public void AddBindingRedirects(IProjectManager projectManager) + { + throw new NotImplementedException(); + } + + public IPackage LocatePackageToUninstall(IProjectManager projectManager, string id, SemanticVersion version) + { + throw new NotImplementedException(); + } } } diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/Design/FakePackageOperation.cs b/src/AddIns/Misc/PackageManagement/Project/Src/Design/FakePackageOperation.cs index 2b73db0bd5..9ab4e3668d 100644 --- a/src/AddIns/Misc/PackageManagement/Project/Src/Design/FakePackageOperation.cs +++ b/src/AddIns/Misc/PackageManagement/Project/Src/Design/FakePackageOperation.cs @@ -18,18 +18,20 @@ using System; using NuGet; +using NuGet.Resolver; +using PackageAction = NuGet.Resolver.PackageAction; namespace ICSharpCode.PackageManagement.Design { - public class FakePackageOperation : PackageOperation + public class FakePackageOperation : PackageAction { public FakePackageOperation() - : this(new FakePackage("MyPackage"), PackageAction.Install) + : this(new FakePackage("MyPackage"), PackageActionType.Install) { } - public FakePackageOperation(FakePackage package, PackageAction action) - : base(package, action) + public FakePackageOperation(FakePackage package, PackageActionType action) + : base(action, package) { this.FakePackage = package; } diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/Design/FakeProjectManager.cs b/src/AddIns/Misc/PackageManagement/Project/Src/Design/FakeProjectManager.cs index 4356d981da..f6ce56a9d0 100644 --- a/src/AddIns/Misc/PackageManagement/Project/Src/Design/FakeProjectManager.cs +++ b/src/AddIns/Misc/PackageManagement/Project/Src/Design/FakeProjectManager.cs @@ -23,22 +23,22 @@ namespace ICSharpCode.PackageManagement.Design { public class FakeProjectManager : ISharpDevelopProjectManager { - public FakePackageRepository FakeLocalRepository { - get { return LocalRepository as FakePackageRepository; } - set { LocalRepository = value; } - } - - public FakePackageRepository FakeSourceRepository { - get { return SourceRepository as FakePackageRepository; } - set { SourceRepository = value; } - } - +// public FakePackageRepository FakeLocalRepository { +// get { return LocalRepository as FakePackageRepository; } +// set { LocalRepository = value; } +// } +// +// public FakePackageRepository FakeSourceRepository { +// get { return SourceRepository as FakePackageRepository; } +// set { SourceRepository = value; } +// } +// public bool IsInstalledReturnValue; public FakeProjectManager() { - LocalRepository = new FakePackageRepository(); - SourceRepository = new FakePackageRepository(); +// LocalRepository = new FakePackageRepository(); +// SourceRepository = new FakePackageRepository(); } public event EventHandler PackageReferenceAdded; @@ -66,7 +66,7 @@ namespace ICSharpCode.PackageManagement.Design public IPackageRepository LocalRepository { get; set; } public ILogger Logger { get; set; } - public IPackageRepository SourceRepository { get; set; } +// public IPackageRepository SourceRepository { get; set; } public IPackagePathResolver PathResolver { get; set; } public IProjectSystem Project { @@ -76,11 +76,11 @@ namespace ICSharpCode.PackageManagement.Design public FakeProjectSystem FakeProjectSystem = new FakeProjectSystem(); - public void RemovePackageReference(string packageId, bool forceRemove, bool removeDependencies) - { - throw new NotImplementedException(); - } - +// public void RemovePackageReference(string packageId, bool forceRemove, bool removeDependencies) +// { +// throw new NotImplementedException(); +// } +// public IPackage PackagePassedToIsInstalled; public bool IsInstalled(IPackage package) @@ -88,14 +88,14 @@ namespace ICSharpCode.PackageManagement.Design PackagePassedToIsInstalled = package; return IsInstalledReturnValue; } - - public string PackageIdPassedToIsInstalled; - - public bool IsInstalled(string packageId) - { - PackageIdPassedToIsInstalled = packageId; - return IsInstalledReturnValue; - } +// +// public string PackageIdPassedToIsInstalled; +// +// public bool IsInstalled(string packageId) +// { +// PackageIdPassedToIsInstalled = packageId; +// return IsInstalledReturnValue; +// } public void FirePackageReferenceAdded(IPackage package) { @@ -106,32 +106,32 @@ namespace ICSharpCode.PackageManagement.Design { OnPackageReferenceRemoving(package); } - - public void AddPackageReference(IPackage package, bool ignoreDependencies, bool allowPrereleaseVersions) - { - throw new NotImplementedException(); - } - - public void RemovePackageReference(IPackage package, bool forceRemove, bool removeDependencies) - { - throw new NotImplementedException(); - } - - public void AddPackageReference(string packageId, SemanticVersion version, bool ignoreDependencies, bool allowPrereleaseVersions) - { - throw new NotImplementedException(); - } - - public void UpdatePackageReference(string packageId, SemanticVersion version, bool updateDependencies, bool allowPrereleaseVersions) - { - throw new NotImplementedException(); - } - - public void UpdatePackageReference(string packageId, IVersionSpec versionSpec, bool updateDependencies, bool allowPrereleaseVersions) - { - throw new NotImplementedException(); - } - +// +// public void AddPackageReference(IPackage package, bool ignoreDependencies, bool allowPrereleaseVersions) +// { +// throw new NotImplementedException(); +// } +// +// public void RemovePackageReference(IPackage package, bool forceRemove, bool removeDependencies) +// { +// throw new NotImplementedException(); +// } +// +// public void AddPackageReference(string packageId, SemanticVersion version, bool ignoreDependencies, bool allowPrereleaseVersions) +// { +// throw new NotImplementedException(); +// } +// +// public void UpdatePackageReference(string packageId, SemanticVersion version, bool updateDependencies, bool allowPrereleaseVersions) +// { +// throw new NotImplementedException(); +// } +// +// public void UpdatePackageReference(string packageId, IVersionSpec versionSpec, bool updateDependencies, bool allowPrereleaseVersions) +// { +// throw new NotImplementedException(); +// } +// public IPackage PackagePassedToHasOlderPackageInstalled; public bool HasOlderPackageInstalledReturnValue; @@ -140,17 +140,39 @@ namespace ICSharpCode.PackageManagement.Design PackagePassedToHasOlderPackageInstalled = package; return HasOlderPackageInstalledReturnValue; } - - public DependencyVersion DependencyVersion { +// +// public DependencyVersion DependencyVersion { +// get { +// throw new NotImplementedException(); +// } +// set { +// throw new NotImplementedException(); +// } +// } +// +// public bool WhatIf { +// get { +// throw new NotImplementedException(); +// } +// set { +// throw new NotImplementedException(); +// } +// } +// +// public void UpdatePackageReference(IPackage remotePackage, bool updateDependencies, bool allowPrereleaseVersions) +// { +// throw new NotImplementedException(); +// } + + // NuGet 3.0 - follows + + public IPackageManager PackageManager { get { throw new NotImplementedException(); } - set { - throw new NotImplementedException(); - } } - public bool WhatIf { + public IPackageConstraintProvider ConstraintProvider { get { throw new NotImplementedException(); } @@ -159,7 +181,12 @@ namespace ICSharpCode.PackageManagement.Design } } - public void UpdatePackageReference(IPackage remotePackage, bool updateDependencies, bool allowPrereleaseVersions) + public bool IsInstalled(string packageId) + { + throw new NotImplementedException(); + } + + public void Execute(PackageOperation operation) { throw new NotImplementedException(); } diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/Design/FakeProjectSystem.cs b/src/AddIns/Misc/PackageManagement/Project/Src/Design/FakeProjectSystem.cs index de9cd58376..9b8b8ff19b 100644 --- a/src/AddIns/Misc/PackageManagement/Project/Src/Design/FakeProjectSystem.cs +++ b/src/AddIns/Misc/PackageManagement/Project/Src/Design/FakeProjectSystem.cs @@ -40,7 +40,7 @@ namespace ICSharpCode.PackageManagement.Design throw new NotImplementedException(); } - public void AddReference(string referencePath, Stream stream) + public void AddReference(string referencePath) { throw new NotImplementedException(); } diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/IPackageManagementProject.cs b/src/AddIns/Misc/PackageManagement/Project/Src/IPackageManagementProject.cs index d84c17d928..4a69b941c3 100644 --- a/src/AddIns/Misc/PackageManagement/Project/Src/IPackageManagementProject.cs +++ b/src/AddIns/Misc/PackageManagement/Project/Src/IPackageManagementProject.cs @@ -22,6 +22,7 @@ using System.Linq; using ICSharpCode.PackageManagement.EnvDTE; using NuGet; +using PackageAction = NuGet.Resolver.PackageAction; namespace ICSharpCode.PackageManagement { @@ -45,21 +46,21 @@ namespace ICSharpCode.PackageManagement IQueryable GetPackages(); IEnumerable GetPackagesInReverseDependencyOrder(); - IEnumerable GetInstallPackageOperations(IPackage package, InstallPackageAction installAction); - IEnumerable GetUpdatePackagesOperations(IEnumerable packages, IUpdatePackageSettings settings); + IEnumerable GetInstallPackageOperations(IPackage package, InstallPackageAction installAction); + IEnumerable GetUpdatePackagesOperations(IEnumerable packages, IUpdatePackageSettings settings); void InstallPackage(IPackage package, InstallPackageAction installAction); void UpdatePackage(IPackage package, UpdatePackageAction updateAction); void UninstallPackage(IPackage package, UninstallPackageAction uninstallAction); void UpdatePackages(UpdatePackagesAction action); - void UpdatePackageReference(IPackage package, IUpdatePackageSettings settings); +// void UpdatePackageReference(IPackage package, IUpdatePackageSettings settings); InstallPackageAction CreateInstallPackageAction(); UninstallPackageAction CreateUninstallPackageAction(); UpdatePackageAction CreateUpdatePackageAction(); UpdatePackagesAction CreateUpdatePackagesAction(); - void RunPackageOperations(IEnumerable expectedOperations); + void RunPackageOperations(IEnumerable expectedOperations); } } diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/ISharpDevelopPackageManager.cs b/src/AddIns/Misc/PackageManagement/Project/Src/ISharpDevelopPackageManager.cs index cd3d652f07..ad3519503a 100644 --- a/src/AddIns/Misc/PackageManagement/Project/Src/ISharpDevelopPackageManager.cs +++ b/src/AddIns/Misc/PackageManagement/Project/Src/ISharpDevelopPackageManager.cs @@ -19,6 +19,7 @@ using System; using System.Collections.Generic; using NuGet; +using PackageAction = NuGet.Resolver.PackageAction; namespace ICSharpCode.PackageManagement { @@ -30,11 +31,11 @@ namespace ICSharpCode.PackageManagement void UninstallPackage(IPackage package, UninstallPackageAction uninstallAction); void UpdatePackage(IPackage package, UpdatePackageAction updateAction); void UpdatePackages(UpdatePackagesAction updateAction); - void UpdatePackageReference(IPackage package, IUpdatePackageSettings settings); + //void UpdatePackageReference(IPackage package, IUpdatePackageSettings settings); - IEnumerable GetInstallPackageOperations(IPackage package, InstallPackageAction installAction); - IEnumerable GetUpdatePackageOperations(IEnumerable packages, IUpdatePackageSettings settings); + IEnumerable GetInstallPackageOperations(IPackage package, InstallPackageAction installAction); + IEnumerable GetUpdatePackageOperations(IEnumerable packages, IUpdatePackageSettings settings); - void RunPackageOperations(IEnumerable operations); + void RunPackageOperations(IEnumerable operations); } } diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/ISharpDevelopProjectManager.cs b/src/AddIns/Misc/PackageManagement/Project/Src/ISharpDevelopProjectManager.cs index 5d892c132c..dd7460413d 100644 --- a/src/AddIns/Misc/PackageManagement/Project/Src/ISharpDevelopProjectManager.cs +++ b/src/AddIns/Misc/PackageManagement/Project/Src/ISharpDevelopProjectManager.cs @@ -25,6 +25,7 @@ namespace ICSharpCode.PackageManagement { IPackagePathResolver PathResolver { get; } bool IsInstalled(string packageId); + bool IsInstalled(IPackage package); bool HasOlderPackageInstalled(IPackage package); } } diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/IUpdatePackagesAction.cs b/src/AddIns/Misc/PackageManagement/Project/Src/IUpdatePackagesAction.cs index 8df8ddb7c8..00c7e93dea 100644 --- a/src/AddIns/Misc/PackageManagement/Project/Src/IUpdatePackagesAction.cs +++ b/src/AddIns/Misc/PackageManagement/Project/Src/IUpdatePackagesAction.cs @@ -19,15 +19,16 @@ using System; using System.Collections.Generic; using NuGet; +using PackageAction = NuGet.Resolver.PackageAction; namespace ICSharpCode.PackageManagement { public interface IUpdatePackagesAction : IPackageAction, IUpdatePackageSettings { - IEnumerable Operations { get; } + IEnumerable Operations { get; } ILogger Logger { get; set; } void AddPackages(IEnumerable packages); - void AddOperations(IEnumerable operations); + void AddOperations(IEnumerable operations); } } diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/InstallPackageAction.cs b/src/AddIns/Misc/PackageManagement/Project/Src/InstallPackageAction.cs index b80d14728a..cc8712645a 100644 --- a/src/AddIns/Misc/PackageManagement/Project/Src/InstallPackageAction.cs +++ b/src/AddIns/Misc/PackageManagement/Project/Src/InstallPackageAction.cs @@ -21,6 +21,7 @@ using System.Collections.Generic; using System.IO; using ICSharpCode.SharpDevelop.Project; using NuGet; +using PackageAction = NuGet.Resolver.PackageAction; namespace ICSharpCode.PackageManagement { @@ -35,7 +36,7 @@ namespace ICSharpCode.PackageManagement public bool IgnoreDependencies { get; set; } - protected override IEnumerable GetPackageOperations() + protected override IEnumerable GetPackageOperations() { return Project.GetInstallPackageOperations(Package, this); } diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/PackageFilesForOperations.cs b/src/AddIns/Misc/PackageManagement/Project/Src/PackageFilesForOperations.cs index ec5e0030aa..46d8964836 100644 --- a/src/AddIns/Misc/PackageManagement/Project/Src/PackageFilesForOperations.cs +++ b/src/AddIns/Misc/PackageManagement/Project/Src/PackageFilesForOperations.cs @@ -19,14 +19,15 @@ using System; using System.Collections.Generic; using NuGet; +using PackageAction = NuGet.Resolver.PackageAction; namespace ICSharpCode.PackageManagement { public class PackageFilesForOperations { - IEnumerable operations; + IEnumerable operations; - public PackageFilesForOperations(IEnumerable operations) + public PackageFilesForOperations(IEnumerable operations) { this.operations = operations; } @@ -43,7 +44,7 @@ namespace ICSharpCode.PackageManagement IEnumerable GetPackageFilesForEachOperation() { - foreach (PackageOperation operation in operations) { + foreach (PackageAction operation in operations) { yield return new PackageFiles(operation.Package); } } diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/PackageManagementProject.cs b/src/AddIns/Misc/PackageManagement/Project/Src/PackageManagementProject.cs index 3d17b9a309..547467972d 100644 --- a/src/AddIns/Misc/PackageManagement/Project/Src/PackageManagementProject.cs +++ b/src/AddIns/Misc/PackageManagement/Project/Src/PackageManagementProject.cs @@ -23,6 +23,7 @@ using System.Linq; using ICSharpCode.PackageManagement.EnvDTE; using ICSharpCode.SharpDevelop.Project; using NuGet; +using PackageAction = NuGet.Resolver.PackageAction; namespace ICSharpCode.PackageManagement { @@ -99,7 +100,7 @@ namespace ICSharpCode.PackageManagement return projectManager.LocalRepository.GetPackages(); } - public IEnumerable GetInstallPackageOperations(IPackage package, InstallPackageAction installAction) + public IEnumerable GetInstallPackageOperations(IPackage package, InstallPackageAction installAction) { return packageManager.GetInstallPackageOperations(package, installAction); } @@ -157,14 +158,14 @@ namespace ICSharpCode.PackageManagement return new UpdatePackagesAction(this, packageManagementEvents); } - public IEnumerable GetUpdatePackagesOperations( + public IEnumerable GetUpdatePackagesOperations( IEnumerable packages, IUpdatePackageSettings settings) { return packageManager.GetUpdatePackageOperations(packages, settings); } - public void RunPackageOperations(IEnumerable operations) + public void RunPackageOperations(IEnumerable operations) { packageManager.RunPackageOperations(operations); } @@ -173,10 +174,10 @@ namespace ICSharpCode.PackageManagement { return projectManager.HasOlderPackageInstalled(package); } - - public void UpdatePackageReference(IPackage package, IUpdatePackageSettings settings) - { - packageManager.UpdatePackageReference(package, settings); - } +// +// public void UpdatePackageReference(IPackage package, IUpdatePackageSettings settings) +// { +// packageManager.UpdatePackageReference(package, settings); +// } } } diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/PackageViewModel.cs b/src/AddIns/Misc/PackageManagement/Project/Src/PackageViewModel.cs index 3379e790e6..0077f122fa 100644 --- a/src/AddIns/Misc/PackageManagement/Project/Src/PackageViewModel.cs +++ b/src/AddIns/Misc/PackageManagement/Project/Src/PackageViewModel.cs @@ -22,6 +22,8 @@ using System.Linq; using System.Windows.Input; using ICSharpCode.PackageManagement; using NuGet; +using NuGet.Resolver; +using PackageAction = NuGet.Resolver.PackageAction; namespace ICSharpCode.PackageManagement { @@ -34,7 +36,7 @@ namespace ICSharpCode.PackageManagement PackageManagementSelectedProjects selectedProjects; IPackageManagementEvents packageManagementEvents; IPackageFromRepository package; - IEnumerable packageOperations = new PackageOperation[0]; + IEnumerable packageOperations = new PackageAction[0]; PackageViewModelOperationLogger logger; readonly IPackageActionRunner actionRunner; IPackageViewModelParent parent; @@ -267,7 +269,7 @@ namespace ICSharpCode.PackageManagement void GetInstallOperationsForSelectedProjects(IEnumerable projects) { - packageOperations = new PackageOperation[0]; + packageOperations = new PackageAction[0]; IPackageManagementSelectedProject firstSelectedProject = projects.FirstOrDefault(project => project.IsSelected); @@ -297,8 +299,8 @@ namespace ICSharpCode.PackageManagement IList GetPackagesToBeInstalled() { var packages = new List(); - foreach (PackageOperation operation in packageOperations) { - if (operation.Action == PackageAction.Install) { + foreach (PackageAction operation in packageOperations) { + if (operation.ActionType == PackageActionType.Install) { packages.Add(operation.Package); } } @@ -342,13 +344,20 @@ namespace ICSharpCode.PackageManagement InstallPackageAction installAction, IPackageFromRepository installPackage) { - var resolverFactory = new PackageOperationsResolverFactory(); - var resolver = resolverFactory.CreateInstallPackageOperationResolver( - solutionRepository.Repository, - installPackage.Repository, - logger, - installAction); - packageOperations = resolver.ResolveOperations(installPackage); + var resolver = new ActionResolver { + Logger = logger, + IgnoreDependencies = installAction.IgnoreDependencies, + DependencyVersion = DependencyVersion.Lowest, + AllowPrereleaseVersions = installAction.AllowPrereleaseVersions + }; + resolver.AddOperation(NuGet.PackageAction.Install, package, null); +// var resolverFactory = new PackageOperationsResolverFactory(); +// var resolver = resolverFactory.CreateInstallPackageOperationResolver( +// solutionRepository.Repository, +// installPackage.Repository, +// logger, +// installAction); +// packageOperations = resolver.ResolveOperations(installPackage); } void InstallPackageIntoSolution( @@ -356,17 +365,17 @@ namespace ICSharpCode.PackageManagement InstallPackageAction installAction, IPackageFromRepository installPackage) { - var packageManager = new PackageManager( - installPackage.Repository, - solutionRepository.PackagePathResolver, - solutionRepository.FileSystem, - solutionRepository.Repository); - - packageManager.InstallPackage( - installPackage.Id, - installPackage.Version, - installAction.IgnoreDependencies, - installAction.AllowPrereleaseVersions); +// var packageManager = new PackageManager( +// installPackage.Repository, +// solutionRepository.PackagePathResolver, +// solutionRepository.FileSystem, +// solutionRepository.Repository); +// +// packageManager.InstallPackage( +// installPackage.Id, +// installPackage.Version, +// installAction.IgnoreDependencies, +// installAction.AllowPrereleaseVersions); } protected virtual void TryUpdatingPackageInSolution() @@ -400,13 +409,13 @@ namespace ICSharpCode.PackageManagement UpdatePackageAction updateAction, IPackageFromRepository updatePackage) { - var resolverFactory = new PackageOperationsResolverFactory(); - var resolver = resolverFactory.CreateUpdatePackageOperationResolver( - solutionRepository.Repository, - updatePackage.Repository, - logger, - updateAction); - packageOperations = resolver.ResolveOperations(updatePackage); +// var resolverFactory = new PackageOperationsResolverFactory(); +// var resolver = resolverFactory.CreateUpdatePackageOperationResolver( +// solutionRepository.Repository, +// updatePackage.Repository, +// logger, +// updateAction); +// packageOperations = resolver.ResolveOperations(updatePackage); } void UpdateSolutionLevelPackage( @@ -414,16 +423,16 @@ namespace ICSharpCode.PackageManagement UpdatePackageAction updateAction, IPackageFromRepository updatePackage) { - var packageManager = new PackageManager( - updatePackage.Repository, - solutionRepository.PackagePathResolver, - solutionRepository.FileSystem, - solutionRepository.Repository); - - packageManager.UpdatePackage( - updatePackage.Id, - updateAction.UpdateDependencies, - updateAction.AllowPrereleaseVersions); +// var packageManager = new PackageManager( +// updatePackage.Repository, +// solutionRepository.PackagePathResolver, +// solutionRepository.FileSystem, +// solutionRepository.Repository); +// +// packageManager.UpdatePackage( +// updatePackage.Id, +// updateAction.UpdateDependencies, +// updateAction.AllowPrereleaseVersions); } void TryInstallingPackageIntoProject() @@ -444,7 +453,7 @@ namespace ICSharpCode.PackageManagement InstallPackageIntoProject(packageOperations); } - void InstallPackageIntoProject(IEnumerable installOperations) + void InstallPackageIntoProject(IEnumerable installOperations) { IPackageManagementProject project = GetSingleProjectSelected(); ProcessPackageOperationsAction action = CreateInstallPackageAction(project); @@ -505,17 +514,18 @@ namespace ICSharpCode.PackageManagement protected void TryUninstallingPackageFromSolution(IPackage removePackage) { try { - var solutionPackageRepository = PackageManagementServices.Solution.CreateSolutionPackageRepository(); - var packageManager = new PackageManager( - solutionPackageRepository.Repository, - solutionPackageRepository.PackagePathResolver, - solutionPackageRepository.FileSystem); - - packageManager.UninstallPackage(removePackage); - - solutionPackageRepository.Repository.RemovePackage(removePackage); - - packageManagementEvents.OnParentPackageUninstalled(removePackage); + throw new NotImplementedException("UninstallingPackageFromSolution"); +// var solutionPackageRepository = PackageManagementServices.Solution.CreateSolutionPackageRepository(); +// var packageManager = new PackageManager( +// solutionPackageRepository.Repository, +// solutionPackageRepository.PackagePathResolver, +// solutionPackageRepository.FileSystem); +// +// packageManager.UninstallPackage(removePackage); +// +// solutionPackageRepository.Repository.RemovePackage(removePackage); +// +// packageManagementEvents.OnParentPackageUninstalled(removePackage); } catch (Exception ex) { ReportError(ex); diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/ProcessPackageOperationsAction.cs b/src/AddIns/Misc/PackageManagement/Project/Src/ProcessPackageOperationsAction.cs index 1f6331748a..c47b47456e 100644 --- a/src/AddIns/Misc/PackageManagement/Project/Src/ProcessPackageOperationsAction.cs +++ b/src/AddIns/Misc/PackageManagement/Project/Src/ProcessPackageOperationsAction.cs @@ -19,6 +19,7 @@ using System; using System.Collections.Generic; using NuGet; +using PackageAction = NuGet.Resolver.PackageAction; namespace ICSharpCode.PackageManagement { @@ -31,7 +32,7 @@ namespace ICSharpCode.PackageManagement { } - public IEnumerable Operations { get; set; } + public IEnumerable Operations { get; set; } public override bool HasPackageScriptsToRun() { @@ -53,7 +54,7 @@ namespace ICSharpCode.PackageManagement } } - protected virtual IEnumerable GetPackageOperations() + protected virtual IEnumerable GetPackageOperations() { return null; } diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/SharpDevelopPackageManager.cs b/src/AddIns/Misc/PackageManagement/Project/Src/SharpDevelopPackageManager.cs index 1265c21821..ebcac9a8b7 100644 --- a/src/AddIns/Misc/PackageManagement/Project/Src/SharpDevelopPackageManager.cs +++ b/src/AddIns/Misc/PackageManagement/Project/Src/SharpDevelopPackageManager.cs @@ -21,6 +21,8 @@ using System.Collections.Generic; using ICSharpCode.PackageManagement.Scripting; using ICSharpCode.SharpDevelop.Project; using NuGet; +using NuGet.Resolver; +using PackageAction = NuGet.Resolver.PackageAction; namespace ICSharpCode.PackageManagement { @@ -69,50 +71,58 @@ namespace ICSharpCode.PackageManagement SharpDevelopProjectManager CreateProjectManager(PackageReferenceRepository packageRefRepository) { - return new SharpDevelopProjectManager(LocalRepository, PathResolver, projectSystem, packageRefRepository); - } - - public void InstallPackage(IPackage package) - { - bool ignoreDependencies = false; - bool allowPreleaseVersions = false; - InstallPackage(package, ignoreDependencies, allowPreleaseVersions); + return new SharpDevelopProjectManager(this, PathResolver, projectSystem, packageRefRepository); } + +// public void InstallPackage(IPackage package) +// { +// bool ignoreDependencies = false; +// bool allowPreleaseVersions = false; +// InstallPackage(package, ignoreDependencies, allowPreleaseVersions); +// } public void InstallPackage(IPackage package, InstallPackageAction installAction) { RunPackageOperations(installAction.Operations); - AddPackageReference(package, installAction.IgnoreDependencies, installAction.AllowPrereleaseVersions); - } - - void AddPackageReference(IPackage package, bool ignoreDependencies, bool allowPrereleaseVersions) - { - var monitor = new RemovedPackageReferenceMonitor(ProjectManager); - using (monitor) { - ProjectManager.AddPackageReference(package.Id, package.Version, ignoreDependencies, allowPrereleaseVersions); - } - - monitor.PackagesRemoved.ForEach(packageRemoved => UninstallPackageFromSolutionRepository(packageRemoved)); - } - - public override void InstallPackage(IPackage package, bool ignoreDependencies, bool allowPrereleaseVersions) - { - base.InstallPackage(package, ignoreDependencies, allowPrereleaseVersions); - AddPackageReference(package, ignoreDependencies, allowPrereleaseVersions); - } - +// AddPackageReference(package, installAction.IgnoreDependencies, installAction.AllowPrereleaseVersions); + } + +// void AddPackageReference(IPackage package, bool ignoreDependencies, bool allowPrereleaseVersions) +// { +// var monitor = new RemovedPackageReferenceMonitor(ProjectManager); +// using (monitor) { +// ProjectManager.AddPackageReference(package.Id, package.Version, ignoreDependencies, allowPrereleaseVersions); +// } +// +// monitor.PackagesRemoved.ForEach(packageRemoved => UninstallPackageFromSolutionRepository(packageRemoved)); +// } +// +// public override void InstallPackage(IPackage package, bool ignoreDependencies, bool allowPrereleaseVersions) +// { +// base.InstallPackage(package, ignoreDependencies, allowPrereleaseVersions); +// AddPackageReference(package, ignoreDependencies, allowPrereleaseVersions); +// } +// public void UninstallPackage(IPackage package, UninstallPackageAction uninstallAction) { - UninstallPackage(package, uninstallAction.ForceRemove, uninstallAction.RemoveDependencies); - } - - public override void UninstallPackage(IPackage package, bool forceRemove, bool removeDependencies) - { - ProjectManager.RemovePackageReference(package.Id, forceRemove, removeDependencies); - if (!IsPackageReferencedByOtherProjects(package)) { - base.UninstallPackage(package, forceRemove, removeDependencies); - } - } + var resolver = new ActionResolver { + Logger = Logger, + DependencyVersion = DependencyVersion.Lowest, + ForceRemove = uninstallAction.ForceRemove, + RemoveDependencies = uninstallAction.RemoveDependencies + }; + resolver.AddOperation(NuGet.PackageAction.Uninstall, package, ProjectManager); + IEnumerable actions = resolver.ResolveActions(); + RunPackageOperations(actions); + } +// +// public override void UninstallPackage(IPackage package, bool forceRemove, bool removeDependencies) +// { +// ProjectManager.RemovePackageReference(package.Id, forceRemove, removeDependencies); +// if (!IsPackageReferencedByOtherProjects(package)) { +// base.UninstallPackage(package, forceRemove, removeDependencies); +// } +// } public void UninstallPackageFromSolutionRepository(IPackage package) { @@ -127,59 +137,78 @@ namespace ICSharpCode.PackageManagement return sharedRepository.IsReferenced(package.Id, package.Version); } - public IEnumerable GetInstallPackageOperations(IPackage package, InstallPackageAction installAction) + public IEnumerable GetInstallPackageOperations(IPackage package, InstallPackageAction installAction) { - IPackageOperationResolver resolver = CreateInstallPackageOperationResolver(installAction); - return resolver.ResolveOperations(package); + var resolver = new ActionResolver { + Logger = Logger, + IgnoreDependencies = installAction.IgnoreDependencies, + DependencyVersion = DependencyVersion.Lowest, + AllowPrereleaseVersions = installAction.AllowPrereleaseVersions + }; + resolver.AddOperation(NuGet.PackageAction.Install, package, ProjectManager); + return resolver.ResolveActions(); +// IPackageOperationResolver resolver = CreateInstallPackageOperationResolver(installAction); +// return resolver.ResolveOperations(package); } - IPackageOperationResolver CreateInstallPackageOperationResolver(InstallPackageAction installAction) - { - return packageOperationResolverFactory.CreateInstallPackageOperationResolver( - LocalRepository, - SourceRepository, - Logger, - installAction); - } + +// IPackageOperationResolver CreateInstallPackageOperationResolver(InstallPackageAction installAction) +// { +// return packageOperationResolverFactory.CreateInstallPackageOperationResolver( +// LocalRepository, +// SourceRepository, +// Logger, +// installAction); +// } public void UpdatePackage(IPackage package, UpdatePackageAction updateAction) { RunPackageOperations(updateAction.Operations); - UpdatePackageReference(package, updateAction); - } - - public void UpdatePackageReference(IPackage package, IUpdatePackageSettings settings) - { - UpdatePackageReference(package, settings.UpdateDependencies, settings.AllowPrereleaseVersions); - } - - void UpdatePackageReference(IPackage package, bool updateDependencies, bool allowPrereleaseVersions) - { - var monitor = new RemovedPackageReferenceMonitor(ProjectManager); - using (monitor) { - ProjectManager.UpdatePackageReference(package.Id, package.Version, updateDependencies, allowPrereleaseVersions); - } - - monitor.PackagesRemoved.ForEach(packageRemoved => UninstallPackageFromSolutionRepository(packageRemoved)); - } +// UpdatePackageReference(package, updateAction); + } + +// public void UpdatePackageReference(IPackage package, IUpdatePackageSettings settings) +// { +// UpdatePackageReference(package, settings.UpdateDependencies, settings.AllowPrereleaseVersions); +// } +// +// void UpdatePackageReference(IPackage package, bool updateDependencies, bool allowPrereleaseVersions) +// { +// var monitor = new RemovedPackageReferenceMonitor(ProjectManager); +// using (monitor) { +// ProjectManager.UpdatePackageReference(package.Id, package.Version, updateDependencies, allowPrereleaseVersions); +// } +// +// monitor.PackagesRemoved.ForEach(packageRemoved => UninstallPackageFromSolutionRepository(packageRemoved)); +// } public void UpdatePackages(UpdatePackagesAction updateAction) { RunPackageOperations(updateAction.Operations); - foreach (IPackage package in updateAction.Packages) { - UpdatePackageReference(package, updateAction); - } +// foreach (IPackage package in updateAction.Packages) { +// UpdatePackageReference(package, updateAction); +// } } - public IEnumerable GetUpdatePackageOperations( + public IEnumerable GetUpdatePackageOperations( IEnumerable packages, IUpdatePackageSettings settings) { - IPackageOperationResolver resolver = CreateUpdatePackageOperationResolver(settings); - - var reducedOperations = new ReducedPackageOperations(resolver, packages); - reducedOperations.Reduce(); - return reducedOperations.Operations; + var resolver = new ActionResolver { + Logger = Logger, + IgnoreDependencies = !settings.UpdateDependencies, + DependencyVersion = DependencyVersion.Lowest, + AllowPrereleaseVersions = settings.AllowPrereleaseVersions + }; + foreach (IPackage package in packages) { + resolver.AddOperation(NuGet.PackageAction.Update, package, ProjectManager); + } + return resolver.ResolveActions(); +// IPackageOperationResolver resolver = CreateUpdatePackageOperationResolver(settings); +// +// var reducedOperations = new ReducedPackageOperations(resolver, packages); +// reducedOperations.Reduce(); +// return reducedOperations.Operations; } IPackageOperationResolver CreateUpdatePackageOperationResolver(IUpdatePackageSettings settings) @@ -191,11 +220,20 @@ namespace ICSharpCode.PackageManagement settings); } - public void RunPackageOperations(IEnumerable operations) + public void RunPackageOperations(IEnumerable operations) { - foreach (PackageOperation operation in operations) { - Execute(operation); - } + var executor = new ActionExecutor { + Logger = Logger + }; + executor.Execute(operations); + } + + protected override void ExecuteUninstall(IPackage package) + { + // Not working... +// if (IsPackageReferencedByOtherProjects(package)) { +// base.ExecuteUninstall(package); +// } } } } diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/SharpDevelopProjectManager.cs b/src/AddIns/Misc/PackageManagement/Project/Src/SharpDevelopProjectManager.cs index 3ba7960cb0..89af8b2758 100644 --- a/src/AddIns/Misc/PackageManagement/Project/Src/SharpDevelopProjectManager.cs +++ b/src/AddIns/Misc/PackageManagement/Project/Src/SharpDevelopProjectManager.cs @@ -24,11 +24,11 @@ namespace ICSharpCode.PackageManagement public class SharpDevelopProjectManager : ProjectManager, ISharpDevelopProjectManager { public SharpDevelopProjectManager( - IPackageRepository sourceRepository, + IPackageManager packageManager, IPackagePathResolver pathResolver, IProjectSystem project, IPackageRepository localRepository) - : base(sourceRepository, pathResolver, project, localRepository) + : base(packageManager, pathResolver, project, localRepository) { } @@ -37,6 +37,11 @@ namespace ICSharpCode.PackageManagement return LocalRepository.Exists(packageId); } + public bool IsInstalled(IPackage package) + { + return LocalRepository.Exists(package); + } + public bool HasOlderPackageInstalled(IPackage package) { IPackage installedPackage = LocalRepository.FindPackage(package.Id); diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/SharpDevelopProjectSystem.cs b/src/AddIns/Misc/PackageManagement/Project/Src/SharpDevelopProjectSystem.cs index 1aece72387..6ad3861983 100644 --- a/src/AddIns/Misc/PackageManagement/Project/Src/SharpDevelopProjectSystem.cs +++ b/src/AddIns/Misc/PackageManagement/Project/Src/SharpDevelopProjectSystem.cs @@ -81,7 +81,7 @@ namespace ICSharpCode.PackageManagement return project.GetEvaluatedProperty(propertyName); } - public void AddReference(string referencePath, Stream stream) + public void AddReference(string referencePath) { ReferenceProjectItem assemblyReference = CreateReference(referencePath); AddReferenceToProject(assemblyReference); diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/UpdatePackageAction.cs b/src/AddIns/Misc/PackageManagement/Project/Src/UpdatePackageAction.cs index e7b3b75368..b38d16aa4d 100644 --- a/src/AddIns/Misc/PackageManagement/Project/Src/UpdatePackageAction.cs +++ b/src/AddIns/Misc/PackageManagement/Project/Src/UpdatePackageAction.cs @@ -19,6 +19,7 @@ using System; using System.Collections.Generic; using NuGet; +using PackageAction = NuGet.Resolver.PackageAction; namespace ICSharpCode.PackageManagement { @@ -36,7 +37,7 @@ namespace ICSharpCode.PackageManagement public bool UpdateDependencies { get; set; } public bool UpdateIfPackageDoesNotExistInProject { get; set; } - protected override IEnumerable GetPackageOperations() + protected override IEnumerable GetPackageOperations() { var installAction = Project.CreateInstallPackageAction(); installAction.AllowPrereleaseVersions = AllowPrereleaseVersions; diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/UpdatePackagesAction.cs b/src/AddIns/Misc/PackageManagement/Project/Src/UpdatePackagesAction.cs index 4caaf29da0..ccef1ed9f0 100644 --- a/src/AddIns/Misc/PackageManagement/Project/Src/UpdatePackagesAction.cs +++ b/src/AddIns/Misc/PackageManagement/Project/Src/UpdatePackagesAction.cs @@ -20,13 +20,14 @@ using System; using System.Collections.Generic; using ICSharpCode.PackageManagement.Scripting; using NuGet; +using PackageAction = NuGet.Resolver.PackageAction; namespace ICSharpCode.PackageManagement { public class UpdatePackagesAction : IUpdatePackagesAction { List packages = new List(); - List operations = new List(); + List operations = new List(); IPackageManagementEvents packageManagementEvents; public UpdatePackagesAction( @@ -45,7 +46,7 @@ namespace ICSharpCode.PackageManagement get { return packages; } } - public IEnumerable Operations { + public IEnumerable Operations { get { return operations; } } @@ -59,7 +60,7 @@ namespace ICSharpCode.PackageManagement return files.HasAnyPackageScripts(); } - public void AddOperations(IEnumerable operations) + public void AddOperations(IEnumerable operations) { this.operations.AddRange(operations); } diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/UpdatePackagesActionFactory.cs b/src/AddIns/Misc/PackageManagement/Project/Src/UpdatePackagesActionFactory.cs index afd866e10c..c1d6e957bd 100644 --- a/src/AddIns/Misc/PackageManagement/Project/Src/UpdatePackagesActionFactory.cs +++ b/src/AddIns/Misc/PackageManagement/Project/Src/UpdatePackagesActionFactory.cs @@ -21,6 +21,7 @@ using System.Collections.Generic; using System.Linq; using NuGet; +using PackageAction = NuGet.Resolver.PackageAction; namespace ICSharpCode.PackageManagement { @@ -53,13 +54,13 @@ namespace ICSharpCode.PackageManagement action.AddPackages(packages); action.Logger = logger; - IEnumerable operations = GetPackageOperations(action); + IEnumerable operations = GetPackageOperations(action); action.AddOperations(operations); return action; } - IEnumerable GetPackageOperations(IUpdatePackagesAction action) + IEnumerable GetPackageOperations(IUpdatePackagesAction action) { return project.GetUpdatePackagesOperations(packages, action); } diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/UpdateSolutionPackagesAction.cs b/src/AddIns/Misc/PackageManagement/Project/Src/UpdateSolutionPackagesAction.cs index bb0ae0f998..b07352fda5 100644 --- a/src/AddIns/Misc/PackageManagement/Project/Src/UpdateSolutionPackagesAction.cs +++ b/src/AddIns/Misc/PackageManagement/Project/Src/UpdateSolutionPackagesAction.cs @@ -21,13 +21,14 @@ using System.Collections.Generic; using System.Linq; using ICSharpCode.PackageManagement.Scripting; using NuGet; +using PackageAction = NuGet.Resolver.PackageAction; namespace ICSharpCode.PackageManagement { public class UpdateSolutionPackagesAction : IUpdatePackagesAction { List packages = new List(); - List operations = new List(); + List operations = new List(); List projects; IPackageManagementEvents packageManagementEvents; @@ -46,7 +47,7 @@ namespace ICSharpCode.PackageManagement public bool AllowPrereleaseVersions { get; set; } public ILogger Logger { get; set; } - public IEnumerable Operations { + public IEnumerable Operations { get { return operations; } } @@ -60,7 +61,7 @@ namespace ICSharpCode.PackageManagement return files.HasAnyPackageScripts(); } - public void AddOperations(IEnumerable operations) + public void AddOperations(IEnumerable operations) { this.operations.AddRange(operations); } @@ -94,7 +95,7 @@ namespace ICSharpCode.PackageManagement void ExecuteCore() { RunPackageOperations(); - UpdatePackageReferences(); + //UpdatePackageReferences(); packageManagementEvents.OnParentPackagesUpdated(Packages); } @@ -119,16 +120,16 @@ namespace ICSharpCode.PackageManagement return projects; } - void UpdatePackageReferences() - { - foreach (IPackageManagementProject project in GetProjects()) { - foreach (IPackageFromRepository package in packages) { - if (project.HasOlderPackageInstalled(package)) { - project.UpdatePackageReference(package, this); - } - } - } - } +// void UpdatePackageReferences() +// { +// foreach (IPackageManagementProject project in GetProjects()) { +// foreach (IPackageFromRepository package in packages) { +// if (project.HasOlderPackageInstalled(package)) { +// project.UpdatePackageReference(package, this); +// } +// } +// } +// } protected virtual RunAllProjectPackageScriptsAction CreateRunPackageScriptsAction( IPackageScriptRunner scriptRunner, diff --git a/src/AddIns/Misc/PackageManagement/Test/Src/ConsolePackageActionRunnerTests.cs b/src/AddIns/Misc/PackageManagement/Test/Src/ConsolePackageActionRunnerTests.cs index d536638f16..df3bba36e2 100644 --- a/src/AddIns/Misc/PackageManagement/Test/Src/ConsolePackageActionRunnerTests.cs +++ b/src/AddIns/Misc/PackageManagement/Test/Src/ConsolePackageActionRunnerTests.cs @@ -23,6 +23,7 @@ using ICSharpCode.PackageManagement.Design; using ICSharpCode.PackageManagement.Scripting; using ICSharpCode.Scripting.Tests.Utils; using NuGet; +using PackageAction = NuGet.Resolver.PackageAction; using NUnit.Framework; using PackageManagement.Tests.Helpers; @@ -51,7 +52,7 @@ namespace PackageManagement.Tests { var project = new FakePackageManagementProject(); var action = new FakeInstallPackageAction(project); - action.Operations = new PackageOperation[0]; + action.Operations = new PackageAction[0]; return action; } diff --git a/src/AddIns/Misc/PackageManagement/Test/Src/Helpers/ExceptionThrowingPackageManagementProject.cs b/src/AddIns/Misc/PackageManagement/Test/Src/Helpers/ExceptionThrowingPackageManagementProject.cs index 2962c38e1d..1e81efa69f 100644 --- a/src/AddIns/Misc/PackageManagement/Test/Src/Helpers/ExceptionThrowingPackageManagementProject.cs +++ b/src/AddIns/Misc/PackageManagement/Test/Src/Helpers/ExceptionThrowingPackageManagementProject.cs @@ -21,6 +21,7 @@ using System.Collections.Generic; using ICSharpCode.PackageManagement; using ICSharpCode.PackageManagement.Design; using NuGet; +using PackageAction = NuGet.Resolver.PackageAction; namespace PackageManagement.Tests.Helpers { @@ -43,7 +44,7 @@ namespace PackageManagement.Tests.Helpers throw ExceptionToThrowWhenCreateUninstallPackageActionCalled; } - public override IEnumerable GetInstallPackageOperations(IPackage package, InstallPackageAction installAction) + public override IEnumerable GetInstallPackageOperations(IPackage package, InstallPackageAction installAction) { if (ExceptionToThrowWhenGetInstallPackageOperationsCalled != null) { throw ExceptionToThrowWhenGetInstallPackageOperationsCalled; diff --git a/src/AddIns/Misc/PackageManagement/Test/Src/Helpers/FakeSharedPackageRepository.cs b/src/AddIns/Misc/PackageManagement/Test/Src/Helpers/FakeSharedPackageRepository.cs index 2eb43dcb4e..c6de4cbc51 100644 --- a/src/AddIns/Misc/PackageManagement/Test/Src/Helpers/FakeSharedPackageRepository.cs +++ b/src/AddIns/Misc/PackageManagement/Test/Src/Helpers/FakeSharedPackageRepository.cs @@ -58,5 +58,20 @@ namespace PackageManagement.Tests.Helpers { throw new NotImplementedException(); } + + public void RegisterRepository(PackageReferenceFile packageReferenceFile) + { + throw new NotImplementedException(); + } + + public void UnregisterRepository(PackageReferenceFile packageReferenceFile) + { + throw new NotImplementedException(); + } + + public IEnumerable LoadProjectRepositories() + { + throw new NotImplementedException(); + } } } diff --git a/src/AddIns/Misc/PackageManagement/Test/Src/Helpers/PackageOperationHelper.cs b/src/AddIns/Misc/PackageManagement/Test/Src/Helpers/PackageOperationHelper.cs index 6524a704a6..33fe33a3ed 100644 --- a/src/AddIns/Misc/PackageManagement/Test/Src/Helpers/PackageOperationHelper.cs +++ b/src/AddIns/Misc/PackageManagement/Test/Src/Helpers/PackageOperationHelper.cs @@ -20,22 +20,23 @@ using System; using System.Collections.Generic; using ICSharpCode.PackageManagement.Design; using NuGet; +using PackageAction = NuGet.Resolver.PackageAction; namespace PackageManagement.Tests.Helpers { public static class PackageOperationHelper { - public static PackageOperation CreateInstallOperationWithFile(string fileName) + public static PackageAction CreateInstallOperationWithFile(string fileName) { var package = new FakePackage(); package.AddFile(fileName); - return new PackageOperation(package, PackageAction.Install); + return new FakePackageAction(package, PackageActionType.Install); } - public static List CreateListWithOneInstallOperationWithFile(string fileName) + public static List CreateListWithOneInstallOperationWithFile(string fileName) { - PackageOperation operation = CreateInstallOperationWithFile(fileName); + PackageAction operation = CreateInstallOperationWithFile(fileName); var operations = new List(); operations.Add(operation); return operations; diff --git a/src/AddIns/Misc/PackageManagement/Test/Src/Helpers/TestableProjectManager.cs b/src/AddIns/Misc/PackageManagement/Test/Src/Helpers/TestableProjectManager.cs index ecec0a84df..ffeb773819 100644 --- a/src/AddIns/Misc/PackageManagement/Test/Src/Helpers/TestableProjectManager.cs +++ b/src/AddIns/Misc/PackageManagement/Test/Src/Helpers/TestableProjectManager.cs @@ -44,49 +44,49 @@ namespace PackageManagement.Tests.Helpers } public TestableProjectManager() - : base(new FakePackageRepository(), + : base(new FakePackageManager(), new FakePackagePathResolver(), new FakeProjectSystem(), new FakePackageRepository()) { } - public override void AddPackageReference(string packageId, SemanticVersion version, bool ignoreDependencies, bool allowPrereleaseVersions) - { - var package = new FakePackage(); - package.Id = packageId; - package.Version = version; - PackagePassedToAddPackageReference = package; - IgnoreDependenciesPassedToAddPackageReference = ignoreDependencies; - AllowPrereleaseVersionsPassedToAddPackageReference = allowPrereleaseVersions; - } +// public override void AddPackageReference(string packageId, SemanticVersion version, bool ignoreDependencies, bool allowPrereleaseVersions) +// { +// var package = new FakePackage(); +// package.Id = packageId; +// package.Version = version; +// PackagePassedToAddPackageReference = package; +// IgnoreDependenciesPassedToAddPackageReference = ignoreDependencies; +// AllowPrereleaseVersionsPassedToAddPackageReference = allowPrereleaseVersions; +// } - public override void AddPackageReference(IPackage package, bool ignoreDependencies, bool allowPrereleaseVersions) - { - PackagePassedToAddPackageReference = package; - IgnoreDependenciesPassedToAddPackageReference = ignoreDependencies; - AllowPrereleaseVersionsPassedToAddPackageReference = allowPrereleaseVersions; - } +// public override void AddPackageReference(IPackage package, bool ignoreDependencies, bool allowPrereleaseVersions) +// { +// PackagePassedToAddPackageReference = package; +// IgnoreDependenciesPassedToAddPackageReference = ignoreDependencies; +// AllowPrereleaseVersionsPassedToAddPackageReference = allowPrereleaseVersions; +// } - public override void RemovePackageReference(IPackage package, bool force, bool removeDependencies) - { - PackagePassedToRemovePackageReference = package; - ForcePassedToRemovePackageReference = force; - RemoveDependenciesPassedToRemovePackageReference = removeDependencies; - } - - public override void UpdatePackageReference(string packageId, SemanticVersion version, bool updateDependencies, bool allowPrereleaseVersions) - { - var package = new FakePackage(); - package.Id = packageId; - package.Version = version; - - PackagePassedToUpdatePackageReference = package; - UpdateDependenciesPassedToUpdatePackageReference = updateDependencies; - AllowPrereleaseVersionsPassedToUpdatePackageReference = allowPrereleaseVersions; - - PackagesPassedToUpdatePackageReference.Add(package); - } +// public override void RemovePackageReference(IPackage package, bool force, bool removeDependencies) +// { +// PackagePassedToRemovePackageReference = package; +// ForcePassedToRemovePackageReference = force; +// RemoveDependenciesPassedToRemovePackageReference = removeDependencies; +// } +// +// public override void UpdatePackageReference(string packageId, SemanticVersion version, bool updateDependencies, bool allowPrereleaseVersions) +// { +// var package = new FakePackage(); +// package.Id = packageId; +// package.Version = version; +// +// PackagePassedToUpdatePackageReference = package; +// UpdateDependenciesPassedToUpdatePackageReference = updateDependencies; +// AllowPrereleaseVersionsPassedToUpdatePackageReference = allowPrereleaseVersions; +// +// PackagesPassedToUpdatePackageReference.Add(package); +// } public FakePackage AddFakePackageToProjectLocalRepository(string packageId, string version) {