Skip to content
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

package.yaml and *.cabal divergence solutions #236

Open
BebeSparkelSparkel opened this issue Jul 14, 2024 · 5 comments
Open

package.yaml and *.cabal divergence solutions #236

BebeSparkelSparkel opened this issue Jul 14, 2024 · 5 comments

Comments

@BebeSparkelSparkel
Copy link
Collaborator

Following up #230, I received some good suggestions https://discourse.haskell.org/t/ensure-that-package-yaml-and-cabal-are-synchronized-in-a-github-workflow/9950

If using hpack to generate .cabal from package.yaml — version-control only the package.yaml, and git-ignore the generated .cabal output.

Don’t use package.yaml. It complicates workflows and has no major benefits.

These in my opinion are the best options. Any thoughts?

@L0neGamer
Copy link
Contributor

For libraries I feel the package.yaml isn't useful as you can't put library boundaries (or it's not standard to because of stack). Moving over to .cabal only would be a way forward, in my opinion.

@BebeSparkelSparkel
Copy link
Collaborator Author

https://tech.fpcomplete.com/blog/storing-generated-cabal-files/ recommends both, so I think we will have to keep it how it is.

@BebeSparkelSparkel
Copy link
Collaborator Author

@L0neGamer I have come to appreciate your opinion on this.
@gregwebs What do you think about removing the package.yaml files?

@gregwebs
Copy link
Collaborator

It's not a bit deal either way. I think the motivation would be if you wanted to create a tool to do something like bump multiple packages in this repo at once then the yaml format is really easy to work with.

@BebeSparkelSparkel
Copy link
Collaborator Author

What convinced me me is the tool cabal-gild that allows for the utilities of hpack without redundant sources.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants