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

Could we simplify our use of projects? #9622

Closed
philderbeast opened this issue Jan 18, 2024 · 2 comments · Fixed by #9565
Closed

Could we simplify our use of projects? #9622

philderbeast opened this issue Jan 18, 2024 · 2 comments · Fixed by #9565

Comments

@philderbeast
Copy link
Collaborator

We have 14 packages and 10 (or 11) projects. That's a lot of potential ways to group packages within projects (if sorted - even more if jumbled). Could we use imported groups of packages to simplify this?

$ tree -P '*.cabal' --prune -L 2
.
├── bootstrap
│   └── cabal-bootstrap-gen.cabal
├── buildinfo-reference-generator
│   └── buildinfo-reference-generator.cabal
├── Cabal
│   └── Cabal.cabal
├── cabal-benchmarks
│   └── cabal-benchmarks.cabal
├── Cabal-described
│   └── Cabal-described.cabal
├── cabal-dev-scripts
│   └── cabal-dev-scripts.cabal
├── cabal-install
│   └── cabal-install.cabal
├── cabal-install-solver
│   └── cabal-install-solver.cabal
├── Cabal-QuickCheck
│   └── Cabal-QuickCheck.cabal
├── Cabal-syntax
│   └── Cabal-syntax.cabal
├── Cabal-tests
│   └── Cabal-tests.cabal
├── cabal-testsuite
│   └── cabal-testsuite.cabal
├── Cabal-tree-diff
│   └── Cabal-tree-diff.cabal
└── solver-benchmarks
    └── solver-benchmarks.cabal

15 directories, 14 files

$ tree -P 'cabal.project*' --prune -L 2
.
├── bootstrap
│   └── cabal.project
├── cabal.project
├── cabal.project.buildinfo
├── cabal.project.doctest
├── cabal.project.latest-ghc
├── cabal.project.libonly
├── cabal.project.meta
├── cabal.project.release
├── cabal.project.validate
├── cabal.project.validate.libonly
└── cabal.project.weeder

2 directories, 11 files
@philderbeast
Copy link
Collaborator Author

Anyone know why we need both cabal.project.validate and cabal.project.validate.libonly? Why does the former import: cabal.project.latest-ghc but the later doesn't? This was added in #9330, @ulysses4ever. Do you think we could get by with one cabal.project.validate and delete cabal.project.validate.libonly?

@ulysses4ever
Copy link
Collaborator

Yeah, I didn't study it in depth, I just did the minimal necessary chance to make CI support latest GHCs, if necessary, but even that is not guaranteed to work. I really hope we could cut down on our project files...

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

Successfully merging a pull request may close this issue.

2 participants