Public libraries shouldn't be installed when vendored dependencies in the tree
Nobody has claimed this yet.
- Dominant language
- OCaml
- Stars
- 1.9k
- Forks
- 500
- Avg merge
- 15h 21m
- Merged PRs (30d)
- 277
Description
[I don't think this is mentioned in other issues to do with vendoring, but apologies if I've missed another issue!]
When a workspace contains vendored dependencies, it's OK to install executables, but any public libraries in the workspace should not be installed. It's certainly the case that they should be fully compiled with dune build @all and it is probably useful to build them but not install them with dune build @install.
By "install", I mean that the artefacts shouldn't appear in _build/install and .install files should not be promoted.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the vendored-dependency case using dune build @all and dune build @install, then inspect how vendoring and installation are handled. Done means public libraries are built but absent from _build/install and their .install files are not promoted, while executables remain installable.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- ocaml
- Domain
- build-system
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100