This repository has been archived by the owner on Feb 3, 2018. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 24
Implement overrides #76
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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.
Add docs to the struct declaration itself, and impl one of the test fixtures that results in that kind of error.
Flesh out the struct docs and convert the one test that exhibits the failure.
Refactor to remove the unnecessary pl prop; this also makes it more consistent with checkeeHasProblemPackagesFailure. And, convert the corresponding test.
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).
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #68
This entails some docs changes:
RootManifest
type, which composesManifest
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 ontoSolveParameters
, 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 aRootManifest
methodProjectConstraints
type, which is amap[ProjectRoot]ProjectProperties
. This is whatRootManifest.Overrides()
returns (and we'll eventually want to use it for the normalManifest
methods, too - Manifest methods should return maps instead of slices #80)