Hello! I was reading the Julia v1.12 release blog post and read about the use of the workspace feature and how it can help with monorepos.
Right now, I have several unregistered interdependent packages and the approach I was following is having a LocalRegistry where those are registered, so I can do things like (pkg)> add MyLocalPackage1 and (pkg)> update.
How could I keep everything together in a single root directory that I can commit to version control and still keep the interdependencies between them using this new feature?
Thanks!
I also don’t understand how the new [workspaces] feature is supposed to work. Let’s say I have a monorepo with a bunch of packages.
- Shall I create a project at the repo root that includes these packages in [workspace]? What if anything is different from just listing them as [deps] in this root project and specifing [sources] for them?
- When working inside one of the packages, how will the dependencies be resolved? I think the documentation suggests that somehow the resolver looks if there are any workspaces that include this package. However, from my first tests it seems as if the local Manifest is still being used.
3 Likes
Thanks for opening this! I would also like to learn more about the connection between [workspace] and [sources]
2 Likes