diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 2f224d8d0d..86879d2460 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,4 +1,4 @@ -#### 3.17.0-alpha006 - 25.08.2016 +#### 3.17.0-alpha007 - 25.08.2016 * Notified about missing libs will only be shown on direct packages (too many false positives) * BUGFIX: Resolving .net standard depedencies for net46 - https://github.com/fsprojects/Paket/issues/1883 * BUGFIX: Change project file condition handling to be case-insensitive - https://github.com/fsprojects/Paket/pull/1890 diff --git a/integrationtests/Paket.IntegrationTests/InstallSpecs.fs b/integrationtests/Paket.IntegrationTests/InstallSpecs.fs index 981df1e77f..7d16d44fba 100644 --- a/integrationtests/Paket.IntegrationTests/InstallSpecs.fs +++ b/integrationtests/Paket.IntegrationTests/InstallSpecs.fs @@ -528,6 +528,12 @@ let ``#1883 install FSharp.Core from Chessie``() = let newLockFile = install "i001883-chessie" newLockFile.Groups.[GroupName "main"].Resolution.[PackageName "FSharp.Core"].Version |> shouldEqual (SemVer.Parse "4.0.0.1") + +[] +let ``#1883 should not install .NET Standard``() = + let newLockFile = install "i001883-machine" + newLockFile.Groups.[GroupName "main"].Resolution |> Map.containsKey (PackageName "System.Reflection") |> shouldEqual false + [] let ``#1815 duplicate fsharp core reference when using netstandard1.6``() = diff --git a/integrationtests/scenarios/i001883-machine/before/paket.dependencies b/integrationtests/scenarios/i001883-machine/before/paket.dependencies new file mode 100644 index 0000000000..a78d3a895d --- /dev/null +++ b/integrationtests/scenarios/i001883-machine/before/paket.dependencies @@ -0,0 +1,3 @@ +source http://www.nuget.org/api/v2 +framework >= net45 +nuget Machine.Specifications 0.11 \ No newline at end of file diff --git a/src/Paket.Core/Requirements.fs b/src/Paket.Core/Requirements.fs index add966f458..df5151c1ed 100644 --- a/src/Paket.Core/Requirements.fs +++ b/src/Paket.Core/Requirements.fs @@ -189,11 +189,11 @@ let hasDotNetFramework = | FrameworkRestriction.AtLeast(DotNetFramework(_)) -> true | _ -> false)) -let optimizeDependencies packages = - let grouped = packages |> List.groupBy (fun (n,v,_) -> n,v) +let optimizeDependencies originalDependencies = + let grouped = originalDependencies |> List.groupBy (fun (n,v,_) -> n,v) let expanded = - [for (n,vr,r:FrameworkRestriction list) in packages do + [for (n,vr,r:FrameworkRestriction list) in originalDependencies do for r' in r do yield n,vr,r'] |> List.groupBy (fun (_,_,r) -> r) @@ -235,18 +235,18 @@ let optimizeDependencies packages = |> Option.map fst let emptyRestrictions = - [for (n,vr,r:FrameworkRestriction list) in packages do + [for (n,vr,r:FrameworkRestriction list) in originalDependencies do if r = [] then yield n,vr] |> Set.ofList let allRestrictions = - [for (n,vr,r:FrameworkRestriction list) in packages do + [for (n,vr,r:FrameworkRestriction list) in originalDependencies do yield r] |> Set.ofList let restrictionsPerPackage = - packages + originalDependencies |> List.groupBy (fun (n,vr,r) -> n,vr) |> List.map (fun ((n,vr),rs) -> n,vr, @@ -350,7 +350,7 @@ let optimizeDependencies packages = newRestictions else let newRestictions = - if hasDotNetFramework newRestictions then + if hasDotNetFramework originalDependencies then newRestictions else newRestictions