Skip to content

Commit

Permalink
readable missing package error source messages
Browse files Browse the repository at this point in the history
  • Loading branch information
viktor-svub committed Jan 19, 2018
1 parent 2bee49e commit 5750d4a
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 7 deletions.
3 changes: 2 additions & 1 deletion src/Paket.Core/Dependencies/NuGet.fs
Original file line number Diff line number Diff line change
Expand Up @@ -580,7 +580,8 @@ let GetVersions force alternativeProjectRoot root (parameters:GetPackageVersions
| _ when Array.isEmpty trial1.Versions |> not ->
return trial1.Requests
| _ ->
traceWarn "Trial1 (NuGet.GetVersions) did not yield any results, trying again."
let requested = trial1.Requests |> Seq.collect (fun i -> i.Requests) |> Seq.map (fun r -> " " + r.Request.Url)
traceWarnfn "Trial1 (NuGet.GetVersions) did not yield any results, trying again.%s%O" Environment.NewLine (String.Join(Environment.NewLine, requested))
let! trial2 = trial true
match trial2 with
| _ when Array.isEmpty trial2.Versions |> not ->
Expand Down
18 changes: 12 additions & 6 deletions src/Paket.Core/Dependencies/PackageResolver.fs
Original file line number Diff line number Diff line change
Expand Up @@ -1000,7 +1000,7 @@ let Resolve (getVersionsRaw : PackageVersionsFunc, getPreferredVersionsRaw : Pre
|> fun a -> Async.StartAsTaskProperCancel(a, cancellationToken = ct))
|> ResolverTaskMemory.ofWork)

let getVersionsBlock resolverStrategy versionParams =
let getVersionsBlock resolverStrategy versionParams (currentStep:ResolverStep) =
seq {
let preferred = getPreferredVersionsRaw resolverStrategy versionParams
yield! preferred
Expand All @@ -1011,7 +1011,12 @@ let Resolve (getVersionsRaw : PackageVersionsFunc, getPreferredVersionsRaw : Pre
getAndReport versionParams.Package.Sources Profile.BlockReason.GetVersion workHandle
|> Seq.toList
with e ->
raise (Exception (sprintf "Unable to retrieve package versions for '%O'" versionParams.Package.PackageName, e))
let newline = Environment.NewLine
let opened = String.Join(newline + " ", currentStep.OpenRequirements |> Seq.sort)
let closed = String.Join(newline + " ", currentStep.ClosedRequirements |> Seq.sort)
let requirements = sprintf "-- CLOSED --%s %s%s-- OPEN ----%s %s" newline closed newline newline opened
let message = sprintf "Unable to retrieve package versions for '%O'%s%s" versionParams.Package.PackageName Environment.NewLine requirements
raise (Exception (message, e))
let sorted =
match resolverStrategy with
| ResolverStrategy.Max -> List.sortDescending versions
Expand Down Expand Up @@ -1129,7 +1134,7 @@ let Resolve (getVersionsRaw : PackageVersionsFunc, getPreferredVersionsRaw : Pre

let currentConflict =
let getVersionsF packName =
getVersionsBlock ResolverStrategy.Max (GetPackageVersionsParameters.ofParams currentRequirement.Sources groupName packName)
getVersionsBlock ResolverStrategy.Max (GetPackageVersionsParameters.ofParams currentRequirement.Sources groupName packName) currentStep

if Seq.isEmpty conflicts then
{ currentConflict with
Expand All @@ -1150,8 +1155,9 @@ let Resolve (getVersionsRaw : PackageVersionsFunc, getPreferredVersionsRaw : Pre
if not (Seq.isEmpty conflicts) then
fuseConflicts currentRequirement currentStep.FilteredVersions currentConflict priorConflictSteps conflicts
else
let getCurrentVersionBlock = fun strategy args -> getVersionsBlock strategy args currentStep
let compatibleVersions,globalOverride,tryRelaxed =
getCompatibleVersions currentStep groupName currentRequirement getVersionsBlock
getCompatibleVersions currentStep groupName currentRequirement getCurrentVersionBlock
currentConflict.GlobalOverride
globalStrategyForDirectDependencies
globalStrategyForTransitives
Expand Down Expand Up @@ -1303,7 +1309,7 @@ let Resolve (getVersionsRaw : PackageVersionsFunc, getPreferredVersionsRaw : Pre
step (Step((currentConflict,nextStep,currentRequirement), (currentConflict,currentStep,currentRequirement,compatibleVersions,flags)::priorConflictSteps)) stackpack currentConflict.VersionsToExplore flags
else
let getVersionsF packName =
getVersionsBlock ResolverStrategy.Max (GetPackageVersionsParameters.ofParams currentRequirement.Sources groupName packName)
getVersionsBlock ResolverStrategy.Max (GetPackageVersionsParameters.ofParams currentRequirement.Sources groupName packName) currentStep

let conflictingPackageName,vr =
match Seq.tryHead conflictingResolvedPackages with
Expand Down Expand Up @@ -1339,7 +1345,7 @@ let Resolve (getVersionsRaw : PackageVersionsFunc, getPreferredVersionsRaw : Pre
let currentRequirement = getCurrentRequirement packageFilter startingStep.OpenRequirements (Dictionary())

let status =
let getVersionsF packName = getVersionsBlock ResolverStrategy.Max (GetPackageVersionsParameters.ofParams currentRequirement.Sources groupName packName)
let getVersionsF packName = getVersionsBlock ResolverStrategy.Max (GetPackageVersionsParameters.ofParams currentRequirement.Sources groupName packName) startingStep
ResolutionRaw.ConflictRaw { ResolveStep = startingStep; RequirementSet = Set.empty; Requirement = currentRequirement; GetPackageVersions = getVersionsF }


Expand Down

0 comments on commit 5750d4a

Please sign in to comment.