Skip to content

Commit

Permalink
Fixes #13
Browse files Browse the repository at this point in the history
  • Loading branch information
hvanbakel committed Jun 8, 2017
1 parent df5c36e commit b13dcda
Show file tree
Hide file tree
Showing 5 changed files with 14 additions and 4 deletions.
1 change: 1 addition & 0 deletions Project2015To2017/Definition/PackageReference.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,6 @@ internal sealed class PackageReference
{
public string Id { get; set; }
public string Version { get; set; }
public bool IsDevelopmentDependency { get; set; }
}
}
3 changes: 2 additions & 1 deletion Project2015To2017/PackageReferenceTransformation.cs
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,8 @@ public Task TransformAsync(XDocument projectFile, DirectoryInfo projectFolder, P
definition.PackageReferences = document.Element("packages").Elements("package").Select(x => new PackageReference
{
Id = x.Attribute("id").Value,
Version = x.Attribute("version").Value
Version = x.Attribute("version").Value,
IsDevelopmentDependency = x.Attribute("developmentDependency")?.Value == "true"
}).Concat(testReferences).ToArray();

foreach (var reference in definition.PackageReferences)
Expand Down
8 changes: 7 additions & 1 deletion Project2015To2017/Writing/ProjectWriter.cs
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,13 @@ public void Write(Project project, FileInfo outputFile)
var nugetReferences = new XElement("ItemGroup");
foreach (var packageReference in project.PackageReferences)
{
nugetReferences.Add(new XElement("PackageReference", new XAttribute("Include", packageReference.Id), new XAttribute("Version", packageReference.Version)));
var reference = new XElement("PackageReference", new XAttribute("Include", packageReference.Id), new XAttribute("Version", packageReference.Version));
if (packageReference.IsDevelopmentDependency)
{
reference.Add(new XElement("PrivateAssets", "all"));
}

nugetReferences.Add(reference);
}

projectNode.Add(nugetReferences);
Expand Down
5 changes: 3 additions & 2 deletions Project2015To2017Tests/PackageReferenceTransformationTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ public async Task AddsTestPackagesAsync()

await transformation.TransformAsync(doc, directoryInfo, project).ConfigureAwait(false);

Assert.AreEqual(7, project.PackageReferences.Count);
Assert.AreEqual(8, project.PackageReferences.Count);
Assert.AreEqual(1, project.PackageReferences.Count(x => x.Id == "Microsoft.NET.Test.Sdk" && x.Version == "15.0.0"));
}

Expand All @@ -37,7 +37,8 @@ public async Task TransformsPackagesAsync()

await transformation.TransformAsync(doc, directoryInfo, project).ConfigureAwait(false);

Assert.AreEqual(4, project.PackageReferences.Count);
Assert.AreEqual(5, project.PackageReferences.Count);
Assert.AreEqual(1, project.PackageReferences.Count(x => x.IsDevelopmentDependency));
Assert.AreEqual(1, project.PackageReferences.Count(x => x.Id == "Microsoft.Owin" && x.Version == "3.1.0"));
}
}
Expand Down
1 change: 1 addition & 0 deletions Project2015To2017Tests/TestFiles/packages.config
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,5 @@
<package id="Microsoft.Owin.Host.SystemWeb" version="3.1.0" targetFramework="net46" />
<package id="Newtonsoft.Json" version="10.0.2" targetFramework="net46" />
<package id="Owin" version="1.0" targetFramework="net46" />
<package id="StyleCop.Analyzers" version="1.0.0" targetFramework="net46" developmentDependency="true" />
</packages>

0 comments on commit b13dcda

Please sign in to comment.