-
Notifications
You must be signed in to change notification settings - Fork 527
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Introduce "Groups" #1018
Merged
Introduce "Groups" #1018
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
Conflicts: RELEASE_NOTES.md paket.lock src/Paket.Bootstrapper/Properties/AssemblyInfo.cs src/Paket.Core/AssemblyInfo.fs src/Paket.Core/LockFile.fs src/Paket.PowerShell/AssemblyInfo.fs src/Paket/AssemblyInfo.fs
This reverts commit 5448107.
Conflicts: RELEASE_NOTES.md paket.lock src/Paket.Bootstrapper/Properties/AssemblyInfo.cs src/Paket.Core/AssemblyInfo.fs src/Paket.PowerShell/AssemblyInfo.fs src/Paket/AssemblyInfo.fs
Conflicts: RELEASE_NOTES.md
forki
added a commit
that referenced
this pull request
Oct 29, 2015
forki
added a commit
that referenced
this pull request
Oct 30, 2015
forki
added a commit
that referenced
this pull request
Oct 30, 2015
Closed
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This is what's going to be Paket 2.0
Basic feature description
This new feature will allow us to organize our dependencies in groups and also allows easier conflict resolutions. Let's consider a small sample:
paket.dependencies
As you can see we have 3 different groups. The first one is the default group (currently called "Main") and represents the backwards-compatible case. So the main group is what you currently have in Paket 1.x. The other two groups contain dependencies that are used for
Build
andTest
.Notice the indentation in groups is optional.
After
paket update
the corresponding lock file looks the following:paket.lock
As you can see every group is listed separately and we still have the backwards-compatible case for the "Main" group.
If you want to reference dependencies from projects you can do this via the following syntax in references files:
paket.references
New ways for conflict resolution
We got many requests to support multiple versions of the same package with Paket. This was not possible since we had no way to discriminate these.
Now we can support that by using multiple groups:
Every group will be resolved independently so that we get:
Paket is downloading both version. We will get
packages/Newtonsoft.Json
with version 7.0.1 andpackages/legacy/Newtonsoft.Json
with the 6.0.8 bits.In your references files you can now decide which version you want to use:
Open stuff
This is currently early alpha and definetly not production ready. But I will update this PR frequently and
paket restore group Test
groups
branch?Organizational remarks
groups
branch. I will start to release alpha versions from this branch.master
branch.