-
Notifications
You must be signed in to change notification settings - Fork 459
feature: depopt selection in the workspace #11773
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
feature: depopt selection in the workspace #11773
Conversation
Leonidas-from-XIV
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Apart from the typo it looks good and the test works really well. Could use a mention of the depopts field in the documentation.
What do you think about allowing something like :all to enable all depopts? I recently was wanting for this in OPAM but it doesn't support it such an option.
Add a [deopts] field to allow users to select depopts. The depopts are selected globally for all packages that list them. This is inline with how opam does things. Fixes #11643 Signed-off-by: Rudi Grinberg <me@rgrinberg.com> <!-- ps-id: 430e82d6-3fe8-4a81-9692-c0d680a58591 --> Signed-off-by: Rudi Grinberg <me@rgrinberg.com>
660b7ee to
a8f3d0d
Compare
Turns out that such a thing isn't that simple to implement. The only way to determine all depopts is to first find a solution. We could perhaps implement something that's close enough semantically by introducing a "depopts_required" mode. This would just merge depopt constraints into depends constraints for every package and solve. I don't know if that's going to work, but you're welcome to experiment if you have a use case for this. |
|
Hi, thanks a lot for having implemented this.Is this not missing a mention in |
|
@bnguyenvanyen Since this is a package management related PR and package management is considered "experimental" until we have a full-release, we generally tend not to include changes in the changelog or add version guards. When package management is officially released, there will be backwards compatible changes but until then it allows us to change the implementation details and design without friction. |
|
@Alizter Ok, thank you. I ask because we started using the depopts stanza (at Routine) and it broke downstream packages that did not have the correct dune version (because they're still using opam). We'll pin versions downstream for now I guess. |
Has been added in commit 81fe878, from PR ocaml#11773. Signed-off-by: Marek Kubica <marek@tarides.com>
Has been added in commit 81fe878, from PR ocaml#11773. Signed-off-by: Marek Kubica <marek@tarides.com>
Add a [deopts] field to allow users to select depopts. The depopts are selected globally for all packages that list them. This is inline with how opam does things. Fixes ocaml#11643 <!-- ps-id: 430e82d6-3fe8-4a81-9692-c0d680a58591 --> Signed-off-by: Rudi Grinberg <me@rgrinberg.com>
Has been added in commit 81fe878, from PR ocaml#11773. Signed-off-by: Marek Kubica <marek@tarides.com>
Add a [deopts] field to allow users to select depopts.
The depopts are selected globally for all packages that list them. This is inline with how opam does things.
Fixes #11643
Signed-off-by: Rudi Grinberg me@rgrinberg.com