Browse Source

Support installing the latest version of a NuGet package in a project template.

pull/16/merge
Matt Ward 14 years ago
parent
commit
eaa09056da
  1. 1
      src/AddIns/Misc/PackageManagement/Project/Src/IPackageReferenceFile.cs
  2. 10
      src/AddIns/Misc/PackageManagement/Project/Src/PackageReferenceFile.cs
  3. 4
      src/AddIns/Misc/PackageManagement/Project/Src/PackageReferencesForProject.cs
  4. 7
      src/AddIns/Misc/PackageManagement/Test/Src/Helpers/FakePackageReferenceFile.cs
  5. 10
      src/AddIns/Misc/PackageManagement/Test/Src/PackageReferencesForProjectTests.cs

1
src/AddIns/Misc/PackageManagement/Project/Src/IPackageReferenceFile.cs

@ -11,5 +11,6 @@ namespace ICSharpCode.PackageManagement
{ {
IEnumerable<PackageReference> GetPackageReferences(); IEnumerable<PackageReference> GetPackageReferences();
void DeleteEntry(string id, Version version); void DeleteEntry(string id, Version version);
void Delete();
} }
} }

10
src/AddIns/Misc/PackageManagement/Project/Src/PackageReferenceFile.cs

@ -3,16 +3,19 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using ICSharpCode.SharpDevelop;
namespace ICSharpCode.PackageManagement namespace ICSharpCode.PackageManagement
{ {
public class PackageReferenceFile : IPackageReferenceFile public class PackageReferenceFile : IPackageReferenceFile
{ {
NuGet.PackageReferenceFile file; NuGet.PackageReferenceFile file;
string fileName;
public PackageReferenceFile(string fileName) public PackageReferenceFile(string fileName)
{ {
file = new NuGet.PackageReferenceFile(fileName); this.fileName = fileName;
this.file = new NuGet.PackageReferenceFile(fileName);
} }
public IEnumerable<NuGet.PackageReference> GetPackageReferences() public IEnumerable<NuGet.PackageReference> GetPackageReferences()
@ -24,5 +27,10 @@ namespace ICSharpCode.PackageManagement
{ {
file.DeleteEntry(id, version); file.DeleteEntry(id, version);
} }
public void Delete()
{
FileService.RemoveFile(fileName, false);
}
} }
} }

4
src/AddIns/Misc/PackageManagement/Project/Src/PackageReferencesForProject.cs

@ -40,9 +40,7 @@ namespace ICSharpCode.PackageManagement
{ {
GetPackageReferences(); GetPackageReferences();
IPackageReferenceFile file = PackageReferenceFile; IPackageReferenceFile file = PackageReferenceFile;
foreach (PackageReference packageReference in packageReferences) { file.Delete();
file.DeleteEntry(packageReference.Id, packageReference.Version);
}
} }
void GetPackageReferences() void GetPackageReferences()

7
src/AddIns/Misc/PackageManagement/Test/Src/Helpers/FakePackageReferenceFile.cs

@ -30,5 +30,12 @@ namespace PackageManagement.Tests.Helpers
var packageReference = new PackageReference(id, version); var packageReference = new PackageReference(id, version);
EntriesDeleted.Add(packageReference); EntriesDeleted.Add(packageReference);
} }
public bool IsDeleteCalled;
public void Delete()
{
IsDeleteCalled = true;
}
} }
} }

10
src/AddIns/Misc/PackageManagement/Test/Src/PackageReferencesForProjectTests.cs

@ -116,7 +116,7 @@ namespace PackageManagement.Tests
} }
[Test] [Test]
public void RemovePackageReferences_TwoPackageReferencesInPackageConfigFile_RemovesPackageReferenceFromFile() public void RemovePackageReferences_TwoPackageReferencesInPackageConfigFile_PackageReferenceFileIsDeleted()
{ {
TestableProject project = CreateProject(); TestableProject project = CreateProject();
CreatePackageReferencesForProject(project); CreatePackageReferencesForProject(project);
@ -125,13 +125,9 @@ namespace PackageManagement.Tests
packageReferencesForProject.RemovePackageReferences(); packageReferencesForProject.RemovePackageReferences();
List<PackageReference> packageReferencesRemoved = fakePackageReferenceFile.EntriesDeleted; bool deleted = fakePackageReferenceFile.IsDeleteCalled;
var expectedPackageReferences = new List<PackageReference>(); Assert.IsTrue(deleted);
expectedPackageReferences.Add(new PackageReference("One", new Version("1.0.3.2")));
expectedPackageReferences.Add(new PackageReference("Two", new Version("2.0.44")));
PackageReferenceCollectionAssertAreEqual(expectedPackageReferences, packageReferencesRemoved);
} }
} }
} }

Loading…
Cancel
Save