Browse Source

Fix null path error when uninstalling jQuery NuGet package.

Run uninstall PowerShell scripts before the NuGet package is
removed so the jQuery uninstall.ps1 script can find the Scripts
folder in the project when uninstalling.
pull/61/merge
Matt Ward 12 years ago
parent
commit
86a171505b
  1. 8
      src/AddIns/Misc/PackageManagement/Project/Src/Design/FakePackageManagementProject.cs
  2. 14
      src/AddIns/Misc/PackageManagement/Project/Src/Design/FakeProjectManager.cs
  3. 2
      src/AddIns/Misc/PackageManagement/Project/Src/IPackageManagementProject.cs
  4. 6
      src/AddIns/Misc/PackageManagement/Project/Src/PackageManagementProject.cs
  5. 26
      src/AddIns/Misc/PackageManagement/Project/Src/Scripting/RunAllProjectPackageScriptsAction.cs
  6. 6
      src/AddIns/Misc/PackageManagement/Project/Src/Scripting/RunPackageScriptsAction.cs
  7. 4
      src/AddIns/Misc/PackageManagement/Test/Src/InstalledPackagesViewModelTests.cs
  8. 6
      src/AddIns/Misc/PackageManagement/Test/Src/PackageManagementProjectTests.cs
  9. 12
      src/AddIns/Misc/PackageManagement/Test/Src/RunAllProjectPackageScriptsActionTests.cs
  10. 20
      src/AddIns/Misc/PackageManagement/Test/Src/Scripting/RunPackageScriptsActionTests.cs

8
src/AddIns/Misc/PackageManagement/Project/Src/Design/FakePackageManagementProject.cs

@ -183,12 +183,12 @@ namespace ICSharpCode.PackageManagement.Design @@ -183,12 +183,12 @@ namespace ICSharpCode.PackageManagement.Design
}
}
public event EventHandler<PackageOperationEventArgs> PackageReferenceRemoved;
public event EventHandler<PackageOperationEventArgs> PackageReferenceRemoving;
public void FirePackageReferenceRemovedEvent(PackageOperationEventArgs e)
public void FirePackageReferenceRemovingEvent(PackageOperationEventArgs e)
{
if (PackageReferenceRemoved != null) {
PackageReferenceRemoved(this, e);
if (PackageReferenceRemoving != null) {
PackageReferenceRemoving(this, e);
}
}

14
src/AddIns/Misc/PackageManagement/Project/Src/Design/FakeProjectManager.cs

@ -35,18 +35,18 @@ namespace ICSharpCode.PackageManagement.Design @@ -35,18 +35,18 @@ namespace ICSharpCode.PackageManagement.Design
}
}
public event EventHandler<PackageOperationEventArgs> PackageReferenceRemoved;
public event EventHandler<PackageOperationEventArgs> PackageReferenceRemoving;
protected virtual void OnPackageReferenceRemoved(IPackage package)
protected virtual void OnPackageReferenceRemoving(IPackage package)
{
if (PackageReferenceRemoved != null) {
PackageReferenceRemoved(this, new PackageOperationEventArgs(package, null, String.Empty));
if (PackageReferenceRemoving != null) {
PackageReferenceRemoving(this, new PackageOperationEventArgs(package, null, String.Empty));
}
}
#pragma warning disable 67
public event EventHandler<PackageOperationEventArgs> PackageReferenceAdding;
public event EventHandler<PackageOperationEventArgs> PackageReferenceRemoving;
public event EventHandler<PackageOperationEventArgs> PackageReferenceRemoved;
#pragma warning restore 67
public IPackageRepository LocalRepository { get; set; }
@ -87,9 +87,9 @@ namespace ICSharpCode.PackageManagement.Design @@ -87,9 +87,9 @@ namespace ICSharpCode.PackageManagement.Design
OnPackageReferenceAdded(package);
}
public void FirePackageReferenceRemoved(IPackage package)
public void FirePackageReferenceRemoving(IPackage package)
{
OnPackageReferenceRemoved(package);
OnPackageReferenceRemoving(package);
}
public void AddPackageReference(IPackage package, bool ignoreDependencies, bool allowPrereleaseVersions)

2
src/AddIns/Misc/PackageManagement/Project/Src/IPackageManagementProject.cs

@ -15,7 +15,7 @@ namespace ICSharpCode.PackageManagement @@ -15,7 +15,7 @@ namespace ICSharpCode.PackageManagement
event EventHandler<PackageOperationEventArgs> PackageInstalled;
event EventHandler<PackageOperationEventArgs> PackageUninstalled;
event EventHandler<PackageOperationEventArgs> PackageReferenceAdded;
event EventHandler<PackageOperationEventArgs> PackageReferenceRemoved;
event EventHandler<PackageOperationEventArgs> PackageReferenceRemoving;
string Name { get; }
ILogger Logger { get; set; }

6
src/AddIns/Misc/PackageManagement/Project/Src/PackageManagementProject.cs

@ -64,9 +64,9 @@ namespace ICSharpCode.PackageManagement @@ -64,9 +64,9 @@ namespace ICSharpCode.PackageManagement
remove { projectManager.PackageReferenceAdded -= value; }
}
public event EventHandler<PackageOperationEventArgs> PackageReferenceRemoved {
add { projectManager.PackageReferenceRemoved += value; }
remove { projectManager.PackageReferenceRemoved -= value; }
public event EventHandler<PackageOperationEventArgs> PackageReferenceRemoving {
add { projectManager.PackageReferenceRemoving += value; }
remove { projectManager.PackageReferenceRemoving -= value; }
}
public bool IsPackageInstalled(IPackage package)

26
src/AddIns/Misc/PackageManagement/Project/Src/Scripting/RunAllProjectPackageScriptsAction.cs

@ -22,7 +22,7 @@ namespace ICSharpCode.PackageManagement.Scripting @@ -22,7 +22,7 @@ namespace ICSharpCode.PackageManagement.Scripting
List<EventHandler<PackageOperationEventArgs>> packageReferenceAddedHandlers =
new List<EventHandler<PackageOperationEventArgs>>();
List<EventHandler<PackageOperationEventArgs>> packageReferenceRemovedHandlers =
List<EventHandler<PackageOperationEventArgs>> packageReferenceRemovingHandlers =
new List<EventHandler<PackageOperationEventArgs>>();
public RunAllProjectPackageScriptsAction(
@ -68,7 +68,7 @@ namespace ICSharpCode.PackageManagement.Scripting @@ -68,7 +68,7 @@ namespace ICSharpCode.PackageManagement.Scripting
foreach (IPackageManagementProject project in projects) {
RegisterPackageInstalledEvent(project);
RegisterPackageReferenceAddedEvent(project);
RegisterPackageReferenceRemovedEvent(project);
RegisterPackageReferenceRemovingEvent(project);
}
}
@ -88,12 +88,12 @@ namespace ICSharpCode.PackageManagement.Scripting @@ -88,12 +88,12 @@ namespace ICSharpCode.PackageManagement.Scripting
project.PackageReferenceAdded += referenceAddedHandler;
}
void RegisterPackageReferenceRemovedEvent(IPackageManagementProject project)
void RegisterPackageReferenceRemovingEvent(IPackageManagementProject project)
{
EventHandler<PackageOperationEventArgs> referenceRemovedHandler =
(_, e) => PackageReferenceRemoved(project, e);
packageReferenceRemovedHandlers.Add(referenceRemovedHandler);
project.PackageReferenceRemoved += referenceRemovedHandler;
EventHandler<PackageOperationEventArgs> referenceRemovingHandler =
(_, e) => PackageReferenceRemoving(project, e);
packageReferenceRemovingHandlers.Add(referenceRemovingHandler);
project.PackageReferenceRemoving += referenceRemovingHandler;
}
void UnregisterEvents()
@ -101,7 +101,7 @@ namespace ICSharpCode.PackageManagement.Scripting @@ -101,7 +101,7 @@ namespace ICSharpCode.PackageManagement.Scripting
foreach (IPackageManagementProject project in projects) {
UnregisterPackageInstalledEvent(project);
UnregisterPackageReferenceAddedEvent(project);
UnregisterPackageReferenceRemovedEvent(project);
UnregisterPackageReferenceRemovingEvent(project);
}
}
@ -119,11 +119,11 @@ namespace ICSharpCode.PackageManagement.Scripting @@ -119,11 +119,11 @@ namespace ICSharpCode.PackageManagement.Scripting
project.PackageReferenceAdded -= handler;
}
void UnregisterPackageReferenceRemovedEvent(IPackageManagementProject project)
void UnregisterPackageReferenceRemovingEvent(IPackageManagementProject project)
{
EventHandler<PackageOperationEventArgs> handler = packageReferenceRemovedHandlers.First();
packageReferenceRemovedHandlers.Remove(handler);
project.PackageReferenceRemoved -= handler;
EventHandler<PackageOperationEventArgs> handler = packageReferenceRemovingHandlers.First();
packageReferenceRemovingHandlers.Remove(handler);
project.PackageReferenceRemoving -= handler;
}
void PackageInstalled(IPackageManagementProject project, PackageOperationEventArgs e)
@ -136,7 +136,7 @@ namespace ICSharpCode.PackageManagement.Scripting @@ -136,7 +136,7 @@ namespace ICSharpCode.PackageManagement.Scripting
RunInstallScript(project, e);
}
void PackageReferenceRemoved(IPackageManagementProject project, PackageOperationEventArgs e)
void PackageReferenceRemoving(IPackageManagementProject project, PackageOperationEventArgs e)
{
RunUninstallScript(project, e);
}

6
src/AddIns/Misc/PackageManagement/Project/Src/Scripting/RunPackageScriptsAction.cs

@ -39,14 +39,14 @@ namespace ICSharpCode.PackageManagement.Scripting @@ -39,14 +39,14 @@ namespace ICSharpCode.PackageManagement.Scripting
{
project.PackageInstalled += PackageInstalled;
project.PackageReferenceAdded += PackageReferenceAdded;
project.PackageReferenceRemoved += PackageReferenceRemoved;
project.PackageReferenceRemoving += PackageReferenceRemoving;
}
void UnregisterEvents()
{
project.PackageInstalled -= PackageInstalled;
project.PackageReferenceAdded -= PackageReferenceAdded;
project.PackageReferenceRemoved -= PackageReferenceRemoved;
project.PackageReferenceRemoving -= PackageReferenceRemoving;
}
void PackageInstalled(object sender, PackageOperationEventArgs e)
@ -54,7 +54,7 @@ namespace ICSharpCode.PackageManagement.Scripting @@ -54,7 +54,7 @@ namespace ICSharpCode.PackageManagement.Scripting
RunInitScript(e);
}
void PackageReferenceRemoved(object sender, PackageOperationEventArgs e)
void PackageReferenceRemoving(object sender, PackageOperationEventArgs e)
{
RunUninstallScript(e);
}

4
src/AddIns/Misc/PackageManagement/Test/Src/InstalledPackagesViewModelTests.cs

@ -100,7 +100,7 @@ namespace PackageManagement.Tests @@ -100,7 +100,7 @@ namespace PackageManagement.Tests
}
[Test]
public void PackageViewModels_PackageReferenceIsRemoved_PackageViewModelsIsUpdated()
public void PackageViewModels_PackageReferenceIsBeingRemoved_PackageViewModelsIsUpdated()
{
CreateViewModel();
FakePackage package = AddPackageToProjectLocalRepository();
@ -159,7 +159,7 @@ namespace PackageManagement.Tests @@ -159,7 +159,7 @@ namespace PackageManagement.Tests
}
[Test]
public void PackageViewModels_PackageReferenceIsRemovedAfterViewModelIsDisposed_PackageViewModelsIsNotUpdated()
public void PackageViewModels_PackageReferenceIsBeingRemovedAfterViewModelIsDisposed_PackageViewModelsIsNotUpdated()
{
CreateViewModel();
FakePackage package = AddPackageToProjectLocalRepository();

6
src/AddIns/Misc/PackageManagement/Test/Src/PackageManagementProjectTests.cs

@ -486,14 +486,14 @@ namespace PackageManagement.Tests @@ -486,14 +486,14 @@ namespace PackageManagement.Tests
}
[Test]
public void PackageReferenceRemoved_ProjectManagerPackageReferenceRemovedEventFired_EventFiresWithPackage()
public void PackageReferenceRemoving_ProjectManagerPackageReferenceRemovingEventFired_EventFiresWithPackage()
{
CreateProject();
PackageOperationEventArgs eventArgs = null;
project.PackageReferenceRemoved += (sender, e) => eventArgs = e;
project.PackageReferenceRemoving += (sender, e) => eventArgs = e;
var expectedPackage = new FakePackage();
fakeProjectManager.FirePackageReferenceRemoved(expectedPackage);
fakeProjectManager.FirePackageReferenceRemoving(expectedPackage);
Assert.AreEqual(expectedPackage, eventArgs.Package);
}

12
src/AddIns/Misc/PackageManagement/Test/Src/RunAllProjectPackageScriptsActionTests.cs

@ -80,9 +80,9 @@ namespace PackageManagement.Tests @@ -80,9 +80,9 @@ namespace PackageManagement.Tests
project.Raise(p => p.PackageReferenceAdded += null, null, eventArgs);
}
void FirePackageReferenceRemovedEvent(IPackageManagementProject project, PackageOperationEventArgs eventArgs)
void FirePackageReferenceRemovingEvent(IPackageManagementProject project, PackageOperationEventArgs eventArgs)
{
project.Raise(p => p.PackageReferenceRemoved += null, null, eventArgs);
project.Raise(p => p.PackageReferenceRemoving += null, null, eventArgs);
}
IPackageScript CreatePackageScript()
@ -292,7 +292,7 @@ namespace PackageManagement.Tests @@ -292,7 +292,7 @@ namespace PackageManagement.Tests
string installPath = @"d:\projects\MyProject\packages\foo";
PackageOperationEventArgs eventArgs = CreatePackageOperationEventArgs(package, installPath);
FirePackageReferenceRemovedEvent(project, eventArgs);
FirePackageReferenceRemovingEvent(project, eventArgs);
scriptFactory.AssertWasCalled(factory => factory.CreatePackageUninstallScript(package, installPath));
}
@ -307,7 +307,7 @@ namespace PackageManagement.Tests @@ -307,7 +307,7 @@ namespace PackageManagement.Tests
SetUninstallScriptToReturnFromScriptFactory(uninstallScript);
PackageOperationEventArgs eventArgs = CreatePackageOperationEventArgs();
FirePackageReferenceRemovedEvent(project2, eventArgs);
FirePackageReferenceRemovingEvent(project2, eventArgs);
scriptRunner.AssertWasCalled(runner => runner.Run(uninstallScript));
}
@ -322,7 +322,7 @@ namespace PackageManagement.Tests @@ -322,7 +322,7 @@ namespace PackageManagement.Tests
SetUninstallScriptToReturnFromScriptFactory(uninstallScript);
PackageOperationEventArgs eventArgs = CreatePackageOperationEventArgs();
FirePackageReferenceRemovedEvent(project2, eventArgs);
FirePackageReferenceRemovingEvent(project2, eventArgs);
Assert.AreEqual(project2, uninstallScript.Project);
}
@ -337,7 +337,7 @@ namespace PackageManagement.Tests @@ -337,7 +337,7 @@ namespace PackageManagement.Tests
PackageOperationEventArgs eventArgs = CreatePackageOperationEventArgs();
action.Dispose();
FirePackageReferenceRemovedEvent(project, eventArgs);
FirePackageReferenceRemovingEvent(project, eventArgs);
scriptRunner.AssertWasNotCalled(runner => runner.Run(uninstallScript));
}

20
src/AddIns/Misc/PackageManagement/Test/Src/Scripting/RunPackageScriptsActionTests.cs

@ -174,11 +174,11 @@ namespace PackageManagement.Tests.Scripting @@ -174,11 +174,11 @@ namespace PackageManagement.Tests.Scripting
}
[Test]
public void Constructor_PackageReferenceIsRemoved_PackageUninstallScriptIsRun()
public void Constructor_PackageReferenceIsBeingRemoved_PackageUninstallScriptIsRun()
{
CreateAction();
PackageOperationEventArgs eventArgs = CreatePackageOperationEventArgs();
fakeProject.FirePackageReferenceRemovedEvent(eventArgs);
fakeProject.FirePackageReferenceRemovingEvent(eventArgs);
IPackageScript actualScript = fakeScriptRunner.FirstScriptRun;
FakePackageScript expectedScript = fakeScriptFactory.FirstPackageUninstallScriptCreated;
@ -187,11 +187,11 @@ namespace PackageManagement.Tests.Scripting @@ -187,11 +187,11 @@ namespace PackageManagement.Tests.Scripting
}
[Test]
public void Constructor_PackageReferenceIsRemoved_PackageUninstallScriptIsCreated()
public void Constructor_PackageReferenceIsBeingRemoved_PackageUninstallScriptIsCreated()
{
CreateAction();
PackageOperationEventArgs eventArgs = CreatePackageOperationEventArgs(@"d:\projects\myproject\packages\test");
fakeProject.FirePackageReferenceRemovedEvent(eventArgs);
fakeProject.FirePackageReferenceRemovingEvent(eventArgs);
string path = fakeScriptFactory.FirstPackageInstallDirectoryPassed;
@ -199,13 +199,13 @@ namespace PackageManagement.Tests.Scripting @@ -199,13 +199,13 @@ namespace PackageManagement.Tests.Scripting
}
[Test]
public void Dispose_PackageReferenceIsRemoved_PackageUninstallScriptIsNotRun()
public void Dispose_PackageReferenceIsBeingRemoved_PackageUninstallScriptIsNotRun()
{
CreateAction();
action.Dispose();
PackageOperationEventArgs eventArgs = CreatePackageOperationEventArgs();
fakeProject.FirePackageReferenceRemovedEvent(eventArgs);
fakeProject.FirePackageReferenceRemovingEvent(eventArgs);
int count = fakeScriptFactory.FakePackageUninstallScriptsCreated.Count;
@ -213,11 +213,11 @@ namespace PackageManagement.Tests.Scripting @@ -213,11 +213,11 @@ namespace PackageManagement.Tests.Scripting
}
[Test]
public void Constructor_PackageReferenceIsRemoved_UninstallScriptIsPassedProject()
public void Constructor_PackageReferenceIsBeingRemoved_UninstallScriptIsPassedProject()
{
CreateAction();
PackageOperationEventArgs eventArgs = CreatePackageOperationEventArgs();
fakeProject.FirePackageReferenceRemovedEvent(eventArgs);
fakeProject.FirePackageReferenceRemovingEvent(eventArgs);
IPackageManagementProject project = fakeScriptFactory.FirstPackageUninstallScriptCreated.Project;
@ -225,12 +225,12 @@ namespace PackageManagement.Tests.Scripting @@ -225,12 +225,12 @@ namespace PackageManagement.Tests.Scripting
}
[Test]
public void Constructor_PackageReferenceIsRemoved_UninstallScriptIsPassedPackageFromPackageOperationEventArgs()
public void Constructor_PackageReferenceIsBeingRemoved_UninstallScriptIsPassedPackageFromPackageOperationEventArgs()
{
CreateAction();
var expectedPackage = new FakePackage();
PackageOperationEventArgs eventArgs = CreatePackageOperationEventArgs(expectedPackage);
fakeProject.FirePackageReferenceRemovedEvent(eventArgs);
fakeProject.FirePackageReferenceRemovingEvent(eventArgs);
IPackage package = fakeScriptFactory.FirstPackageUninstallScriptCreated.Package;

Loading…
Cancel
Save