-
Notifications
You must be signed in to change notification settings - Fork 27
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
Simplify error message when deps don't build with dune #384
Simplify error message when deps don't build with dune #384
Conversation
An example output of
Before this change:
After this change:
|
b3b06be
to
eefbf05
Compare
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.
Looks like a pretty solid improvement, thanks for the contribution!
Ehh, I see there's a CI failure. That needs to be updated, but it looks like it is just about the exact output of the command, not a fundamental property of the PR that it breaks something. |
When trying to generate a lockfile on a package which has dependencies which don't use dune as their build system, the diagnostic message generated by opam-0install is of little use. This change removes the opam-0install diagnostic message from the output of `opam monorepo lock` in the case where it fails due to dependencies not building with dune. Additionally this rewords the error message to highlight the salient information. In particular the list of non-dune packages is printed as a bulleted list rather than a comma-separated list inside the error message (it often takes me a minute to find the list of packages in the old error message).
eefbf05
to
250714d
Compare
CHANGES: ### Added - Display warning when a package to be locked is missing a `dev-repo` field and is being skipped because of it (tarides/opam-monorepo#341, tarides/opam-monorepo#362, @kit-ty-kate, @Leonidas-from-XIV) - Add option `--keep-symlinked-dir` to preserve symlinks in `duniverse/`, which can be useful for local development. (tarides/opam-monorepo#348, tarides/opam-monorepo#366, @hannesm, @Leonidas-from-XIV) ### Changed - Canonicalize the URLs of the OPAM `dev-repo` fields to be able to detect more semantically equivalent URLs, this should reduce the risk of build failures due to duplicate code pulled (tarides/opam-monorepo#118, tarides/opam-monorepo#365 @TheLortex, @Leonidas-from-XIV) - Simple the error message printed when dependencies don't use dune as their build system. The opam-0install diagnostic message is no longer printed in this case and the message has been reformatted and reworded to make the salient information easier to see. (tarides/opam-monorepo#384, @gridbugs) ### Fixed - Error in case where multiple packages with different dev-repo fields would be placed in the same duniverse directory (tarides/opam-monorepo#377, @gridbugs) - Fix a failure when using opam-monorepo with an opam 2.2 root (tarides/opam-monorepo#379, @kit-ty-kate) - Fix assertion failure when prefix of "lock" subcommand is used (tarides/opam-monorepo#381, @gridbugs) - Treat packages without build commands as virtual only if also lack install commands, as some non-virtual packages might only have install commands. (tarides/opam-monorepo#376 @Leonidas-from-XIV, @gridbugs)
CHANGES: ### Added - Display warning when a package to be locked is missing a `dev-repo` field and is being skipped because of it (tarides/opam-monorepo#341, tarides/opam-monorepo#362, @kit-ty-kate, @Leonidas-from-XIV) - Add option `--keep-symlinked-dir` to preserve symlinks in `duniverse/`, which can be useful for local development. (tarides/opam-monorepo#348, tarides/opam-monorepo#366, @hannesm, @Leonidas-from-XIV) - Adopt the OCaml Code of Conduct (tarides/opam-monorepo#391, @rikusilvola) - Add solver tests (tarides/opam-monorepo#394, @samoht) ### Changed - Canonicalize the URLs of the OPAM `dev-repo` fields to be able to detect more semantically equivalent URLs, this should reduce the risk of build failures due to duplicate code pulled (tarides/opam-monorepo#118, tarides/opam-monorepo#365 @TheLortex, @Leonidas-from-XIV) - Simple the error message printed when dependencies don't use dune as their build system. The opam-0install diagnostic message is no longer printed in this case and the message has been reformatted and reworded to make the salient information easier to see. (tarides/opam-monorepo#384, @gridbugs) - Encode `dev-repo` constraints in the opam solver - this allows to resolve more involved version constraints that were failing before (tarides/opam-monorepo#396, @samoht) ### Deprecated ### Fixed - Error in case where multiple packages with different dev-repo fields would be placed in the same duniverse directory (tarides/opam-monorepo#377, @gridbugs) - Fix a failure when using opam-monorepo with an opam 2.2 root (tarides/opam-monorepo#379, @kit-ty-kate) - Fix assertion failure when prefix of "lock" subcommand is used (tarides/opam-monorepo#381, @gridbugs) - Treat packages without build commands as virtual only if also lack install commands, as some non-virtual packages might only have install commands. (tarides/opam-monorepo#376 @Leonidas-from-XIV, @gridbugs) - Improve the ordering of package candidates by putting broken packages at then end of the list (tarides/opam-monorepo#395, tarides/opam-monorepo#397, @samoht) ### Removed ### Security
CHANGES: ### Added - Display warning when a package to be locked is missing a `dev-repo` field and is being skipped because of it (tarides/opam-monorepo#341, tarides/opam-monorepo#362, @kit-ty-kate, @Leonidas-from-XIV) - Add option `--keep-symlinked-dir` to preserve symlinks in `duniverse/`, which can be useful for local development. (tarides/opam-monorepo#348, tarides/opam-monorepo#366, @hannesm, @Leonidas-from-XIV) - Adopt the OCaml Code of Conduct (tarides/opam-monorepo#391, @rikusilvola) - Add solver tests (tarides/opam-monorepo#394, @samoht) ### Changed - Canonicalize the URLs of the OPAM `dev-repo` fields to be able to detect more semantically equivalent URLs, this should reduce the risk of build failures due to duplicate code pulled (tarides/opam-monorepo#118, tarides/opam-monorepo#365 @TheLortex, @Leonidas-from-XIV) - Simple the error message printed when dependencies don't use dune as their build system. The opam-0install diagnostic message is no longer printed in this case and the message has been reformatted and reworded to make the salient information easier to see. (tarides/opam-monorepo#384, @gridbugs) - Encode `dev-repo` constraints in the opam solver - this allows to resolve more involved version constraints that were failing before (tarides/opam-monorepo#396, @samoht) ### Deprecated ### Fixed - Error in case where multiple packages with different dev-repo fields would be placed in the same duniverse directory (tarides/opam-monorepo#377, @gridbugs) - Fix a failure when using opam-monorepo with an opam 2.2 root (tarides/opam-monorepo#379, @kit-ty-kate) - Fix assertion failure when prefix of "lock" subcommand is used (tarides/opam-monorepo#381, @gridbugs) - Treat packages without build commands as virtual only if also lack install commands, as some non-virtual packages might only have install commands. (tarides/opam-monorepo#376 @Leonidas-from-XIV, @gridbugs) - Improve the ordering of package candidates by putting broken packages at then end of the list (tarides/opam-monorepo#395, tarides/opam-monorepo#397, @samoht) ### Removed ### Security
CHANGES: ### Added - Display warning when a package to be locked is missing a `dev-repo` field and is being skipped because of it (tarides/opam-monorepo#341, tarides/opam-monorepo#362, @kit-ty-kate, @Leonidas-from-XIV) - Add option `--keep-symlinked-dir` to preserve symlinks in `duniverse/`, which can be useful for local development. (tarides/opam-monorepo#348, tarides/opam-monorepo#366, @hannesm, @Leonidas-from-XIV) - Adopt the OCaml Code of Conduct (tarides/opam-monorepo#391, @rikusilvola) - Add solver tests (tarides/opam-monorepo#394, @samoht) ### Changed - Canonicalize the URLs of the OPAM `dev-repo` fields to be able to detect more semantically equivalent URLs, this should reduce the risk of build failures due to duplicate code pulled (tarides/opam-monorepo#118, tarides/opam-monorepo#365 @TheLortex, @Leonidas-from-XIV) - Simple the error message printed when dependencies don't use dune as their build system. The opam-0install diagnostic message is no longer printed in this case and the message has been reformatted and reworded to make the salient information easier to see. (tarides/opam-monorepo#384, @gridbugs) - Encode `dev-repo` constraints in the opam solver - this allows to resolve more involved version constraints that were failing before (tarides/opam-monorepo#396, @samoht) ### Deprecated ### Fixed - Error in case where multiple packages with different dev-repo fields would be placed in the same duniverse directory (tarides/opam-monorepo#377, @gridbugs) - Fix a failure when using opam-monorepo with an opam 2.2 root (tarides/opam-monorepo#379, @kit-ty-kate) - Fix assertion failure when prefix of "lock" subcommand is used (tarides/opam-monorepo#381, @gridbugs) - Treat packages without build commands as virtual only if also lack install commands, as some non-virtual packages might only have install commands. (tarides/opam-monorepo#376 @Leonidas-from-XIV, @gridbugs) - Improve the ordering of package candidates by putting broken packages at then end of the list (tarides/opam-monorepo#395, tarides/opam-monorepo#397, @samoht) ### Removed ### Security
When trying to generate a lockfile on a package which has dependencies which don't use dune as their build system, the diagnostic message generated by opam-0install is of little use. This change removes the opam-0install diagnostic message from the output of
opam monorepo lock
in the case where it fails due to dependencies not building with dune.Additionally this rewords the error message to highlight the salient information. In particular the list of non-dune packages is printed as a bulleted list rather than a comma-separated list inside the error message (it often takes me a minute to find the list of packages in the old error message).