Skip to content
This repository has been archived by the owner on Feb 3, 2018. It is now read-only.

Implement overrides #76

Merged
merged 27 commits into from
Jul 27, 2016
Merged

Implement overrides #76

merged 27 commits into from
Jul 27, 2016

Conversation

sdboyer
Copy link
Owner

@sdboyer sdboyer commented Jul 26, 2016

Fixes #68

This entails some docs changes:

  • We now have a RootManifest type, which composes Manifest and adds methods for the special powers that are granted to the root project. I elected to do it this way, rather than loading more things onto SolveParameters, as a way of explicitly highlighting the special role played by the root project's manifest, vis-a-vis dependency's manifests.
  • SolveParameters.Ignore was, in accordance with the previous item, moved onto a RootManifest method
  • There's now a ProjectConstraints type, which is a map[ProjectRoot]ProjectProperties. This is what RootManifest.Overrides() returns (and we'll eventually want to use it for the normal Manifest methods, too - Manifest methods should return maps instead of slices #80)

It's probably preferable to be explicit about the difference between the
powers afforded to the root project, versus those of a dependency.
Having a RootManifest that composes Manifest is a nice way of implying
that relationship via the type system.
@sdboyer sdboyer self-assigned this Jul 26, 2016
@sdboyer sdboyer added this to the MVP milestone Jul 27, 2016
Also restore a "reflect" import that got dropped.
Really just intended for root project's use.
This guarantees that, during actual solving, knowing whether a given
ProjectRoot has some overrides is a simple map existence check.
This is still a bit suboptimal, because we lose context on what the
original constraint actually was. Fixing that would entail changes to
workingConstraint (which we could deal with later).
@sdboyer sdboyer merged commit bb63a59 into master Jul 27, 2016
@sdboyer sdboyer deleted the overrides branch September 22, 2016 03:01
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant