diff --git a/src/Paket.Core/Nuget.fs b/src/Paket.Core/Nuget.fs index e9e7c4b0e7..037656bcb3 100644 --- a/src/Paket.Core/Nuget.fs +++ b/src/Paket.Core/Nuget.fs @@ -36,6 +36,7 @@ type NugetPackageCache = { Dependencies : (string * VersionRequirement * (FrameworkIdentifier option)) list Name : string SourceUrl: string + Unlisted : bool DownloadUrl : string} let rec private followODataLink auth url = @@ -141,7 +142,11 @@ let getODataDetails nugetURL raw = |> Array.map (fun (name, version, restricted) -> name, NugetVersionRangeParser.parse version, restricted) |> Array.toList - { Name = officialName; DownloadUrl = downloadLink; Dependencies = packages; SourceUrl = nugetURL } + { Name = officialName + DownloadUrl = downloadLink + Dependencies = packages + SourceUrl = nugetURL + Unlisted = false } /// Gets package details from Nuget via OData let getDetailsFromNugetViaOData auth nugetURL package version = @@ -210,7 +215,12 @@ let getDetailsFromLocalFile path package version = File.Delete(fileName) - return { Name = nuspec.OfficialName; DownloadUrl = package; Dependencies = nuspec.Dependencies; SourceUrl = path } + return + { Name = nuspec.OfficialName + DownloadUrl = package + Dependencies = nuspec.Dependencies + SourceUrl = path + Unlisted = false } } @@ -366,6 +376,7 @@ let GetPackageDetails force sources package version : PackageResolver.PackageDet { Name = nugetObject.Name Source = source DownloadLink = nugetObject.DownloadUrl + Unlisted = nugetObject.Unlisted DirectDependencies = nugetObject.Dependencies |> Set.ofList } /// Allows to retrieve all version no. for a package from the given sources. diff --git a/src/Paket.Core/PackageResolver.fs b/src/Paket.Core/PackageResolver.fs index ab5bd90be6..e7877170bd 100644 --- a/src/Paket.Core/PackageResolver.fs +++ b/src/Paket.Core/PackageResolver.fs @@ -13,6 +13,7 @@ type PackageDetails = { Name : string Source : PackageSource DownloadLink : string + Unlisted : bool DirectDependencies : (string * VersionRequirement * (FrameworkIdentifier option)) Set } /// Represents data about resolved packages diff --git a/src/Paket/Paket.fsproj b/src/Paket/Paket.fsproj index 654f68b8e1..6b2fe6dcc6 100644 --- a/src/Paket/Paket.fsproj +++ b/src/Paket/Paket.fsproj @@ -41,7 +41,7 @@ 3 ..\..\bin\Paket.xml update -f - D:\code\PaketKopie + D:\code\paketkopie 11 diff --git a/tests/Paket.Tests/NuGetOData/ODataSpecs.fs b/tests/Paket.Tests/NuGetOData/ODataSpecs.fs index ceedb1eeaa..5dba7c414f 100644 --- a/tests/Paket.Tests/NuGetOData/ODataSpecs.fs +++ b/tests/Paket.Tests/NuGetOData/ODataSpecs.fs @@ -19,8 +19,19 @@ let ``can detect explicit dependencies for Fantomas``() = { Name = "Fantomas" DownloadUrl = "http://www.nuget.org/api/v2/package/Fantomas/1.6.0" Dependencies = ["FSharp.Compiler.Service",DependenciesFileParser.parseVersionRequirement(">= 0.0.73"), None] + Unlisted = false SourceUrl = fakeUrl } +[] +let ``can detect explicit dependencies for Rx-PlaformServices``() = + parse "NuGetOData/Rx-PlatformServices.xml" + |> shouldEqual + { Name = "Rx-PlatformServices" + DownloadUrl = "http://www.nuget.org/api/v2/package/Rx-PlatformServices/2.3.0" + Dependencies = ["Rx-Interfaces",DependenciesFileParser.parseVersionRequirement(">= 2.2"), None + "Rx-Core",DependenciesFileParser.parseVersionRequirement(">= 2.2"), None] + Unlisted = false + SourceUrl = fakeUrl } [] let ``can detect explicit dependencies for Fleece``() = @@ -28,6 +39,7 @@ let ``can detect explicit dependencies for Fleece``() = |> shouldEqual { Name = "Fleece" DownloadUrl = "http://www.nuget.org/api/v2/package/Fleece/0.4.0" + Unlisted = false Dependencies = ["FSharpPlus",DependenciesFileParser.parseVersionRequirement(">= 0.0.4"), None "ReadOnlyCollectionInterfaces",DependenciesFileParser.parseVersionRequirement("1.0.0"), None @@ -41,6 +53,7 @@ let ``can detect explicit dependencies for ReadOnlyCollectionExtensions``() = |> shouldEqual { Name = "ReadOnlyCollectionExtensions" DownloadUrl = "http://www.nuget.org/api/v2/package/ReadOnlyCollectionExtensions/1.2.0" + Unlisted = false Dependencies = ["LinqBridge",DependenciesFileParser.parseVersionRequirement(">= 1.3.0"), Some(DotNetFramework(FrameworkVersion.V2)) "ReadOnlyCollectionInterfaces",DependenciesFileParser.parseVersionRequirement("1.0.0"), Some(DotNetFramework(FrameworkVersion.V2)) diff --git a/tests/Paket.Tests/NuGetOData/Rx-PlatformServices.xml b/tests/Paket.Tests/NuGetOData/Rx-PlatformServices.xml new file mode 100644 index 0000000000..f07d4e0306 --- /dev/null +++ b/tests/Paket.Tests/NuGetOData/Rx-PlatformServices.xml @@ -0,0 +1,46 @@ + + + http://www.nuget.org/api/v2/Packages(Id='Rx-PlatformServices',Version='2.3') + + + Rx-PlatformServices + + 2014-08-21T19:17:53Z + + Microsoft + + + + + 2.3 + 2.3.0 + Copyright (C) Microsoft Corporation + 2014-01-27T19:28:43.397 + Rx-Interfaces:2.2:|Rx-Core:2.2: + Reactive Extensions Platform Services Library used to access platform-specific functionality and enlightenment services. + 260453 + http://www.nuget.org/packages/Rx-PlatformServices/2.3.0 + http://go.microsoft.com/fwlink/?LinkId=261274 + false + false + false + en-US + 2014-01-27T19:28:43.397 + H3aiFtRAsdG2mN5O6p/tvOiDbRRISYEQAnTDJGheX9Kmal0YS3txJbqlOuOtJB6XbkVA7/vtvdsWDswSKItFyA== + SHA512 + 196416 + http://go.microsoft.com/fwlink/?LinkId=261273 + http://www.nuget.org/package/ReportAbuse/Rx-PlatformServices/2.3.0 + + true + + Rx Reactive Extensions Observable LINQ Events + Reactive Extensions - Platform Services Library + 357 + + 2014-01-27T19:32:41.41 + http://go.microsoft.com/fwlink/?LinkID=261272 + MS-EULA + + + \ No newline at end of file diff --git a/tests/Paket.Tests/Paket.Tests.fsproj b/tests/Paket.Tests/Paket.Tests.fsproj index f413bcafab..621423fbfc 100644 --- a/tests/Paket.Tests/Paket.Tests.fsproj +++ b/tests/Paket.Tests/Paket.Tests.fsproj @@ -383,6 +383,9 @@ Always + + + Always diff --git a/tests/Paket.Tests/TestHelpers.fs b/tests/Paket.Tests/TestHelpers.fs index bf7af7bc5e..312e21e4a4 100644 --- a/tests/Paket.Tests/TestHelpers.fs +++ b/tests/Paket.Tests/TestHelpers.fs @@ -18,6 +18,7 @@ let PackageDetailsFromGraph (graph : seq) (sources, package : string) =