Skip to content

Fix pinning of packages not properly handled by the resolver - #2307

Merged
forki merged 11 commits into
fsprojects:masterfrom
matthid:fix_resolver_complicated_pinning
May 2, 2017
Merged

Fix pinning of packages not properly handled by the resolver#2307
forki merged 11 commits into
fsprojects:masterfrom
matthid:fix_resolver_complicated_pinning

Conversation

@matthid

@matthid matthid commented Apr 30, 2017

Copy link
Copy Markdown
Member

I got started by the test of @0x53A, therefore this was done on top of his branch and contains #2305.

Fixes #2294

Edit: Its actually OK to have this in the same PR because #2294 was the underlying issue the runtime solution didn't work out. So this actually first allows the workaround to "work" by applying the correct settings to the runtime resolution. At the same time it fixes #2294 itself (therefore a separate PR)

@matthid
matthid requested a review from cloudRoutine April 30, 2017 21:57
@@ -229,6 +229,7 @@ type DependenciesFile(fileName,groups:Map<GroupName,DependenciesGroup>, textRepr
RemoteDownload.DownloadSourceFiles(Path.GetDirectoryName fileName, groupName, force, remoteFiles)

// Step 1 Package resolution

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

let's call this something other than step 1 & step 2, it's already confusing enough with all the other steps

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggestions?

| Some d -> d.Settings
| None -> p.Settings })
|> fun des -> Seq.append des runtimeDeps
|> Seq.distinctBy (fun p -> p.Name) |> Set.ofSeq

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This part seems to be quite slow as it takes quite a while after Trying to find a valid resolution considering runtime dependencies... has been printed until the second resolution starts...

Comment thread src/Paket/Paket.fsproj Outdated
<StartArguments>install</StartArguments>
<StartWorkingDirectory>C:\PROJ\Paket\integrationtests\scenarios\i001145-excludes\temp</StartWorkingDirectory>
<StartArguments>update</StartArguments>
<StartWorkingDirectory>C:\PROJ\Paket\integrationtests\scenarios\i002294-pin-netstandard-1-6\temp</StartWorkingDirectory>

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

remove the detritus

@cloudRoutine

Copy link
Copy Markdown
Member

aside from some superficial cleanup LGTM

matthid added 2 commits May 1, 2017 00:42
…olution (for example to workaround problems or compare performance of the resolution algorithm with older versions of paket)
(currentStep.CurrentResolution |> Seq.map (fun x -> sprintf "\n - %O, %O" x.Key x.Value.Version) |> String.Concat)
currentStep.OpenRequirements.Count
(currentStep.OpenRequirements |> Seq.map (fun x -> sprintf "\n - %O, %O" x.Parent x.VersionRequirement) |> String.Concat)
(currentStep.OpenRequirements |> Seq.map (fun x -> sprintf "\n - %O, %O (from %O)" x.Name x.VersionRequirement x.Parent) |> String.Concat)

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@cloudRoutine what about this?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Cannot pin NETStandard.Library = 1.6.0

4 participants