MitaWinata / monorepo_independent_releases

2 stars 2 forks source link

What about dependencies between a and b? #7

Open ijmitch opened 6 months ago

ijmitch commented 6 months ago

Your dependencies expressed for the two projects are on things outside of this monorepo - I'd like to see how two projects in the same monorepo might be depending on each other.

You do say in the article:

In the sample repository, the pyproject.toml file serves as a means to express dependencies between Project A and Project B, specifying their compatible versions.

But I must be missing something in spotting where there's any a-to-b or b-to-a dependencies.

josephdpurcell commented 1 month ago

Same question. I don't see either pyproject.toml file showing the scenario you mentioned https://github.com/MitaWinata/monorepo_independent_releases/blob/main/model/b/pyproject.toml or https://github.com/MitaWinata/monorepo_independent_releases/blob/main/model/a/pyproject.toml.

For context, I presume this is regarding this article: https://devblogs.microsoft.com/ise/streamlining-development-through-monorepo-with-independent-release-cycles/

Based on what I see in the article and this repo I assume that only external package dependencies are considered.

If a package dependency were to be included in the same monorepo (eg Project A and B both depend on package X) I presume the constraints would be something simple such as:

a) The package must be deployed to some registry first b) When Project A or B are built it looks in the pyproject.toml for the package version and pulls it in via the registry

A difficult issue for a code editor (eg VSCode) would be that if you're working in Project A depending on package X v1.0.0 but Project B depends on package X v2.0.0, how does the editor know which version of the package to read?