microsoft / AL-Go

The plug-and-play DevOps solution for Business Central app development on GitHub
MIT License
280 stars 115 forks source link

Managing Dependencies to different Versions of the same App #1060

Open buzzwick opened 5 months ago

buzzwick commented 5 months ago

We have a base application on which several client extension apps depend. For now, we have to maintain two versions of this base app--same app id, different code base. We have one of the base app repos named in appDependencyProbingPaths, at the Org Settings level (ALGOORGSETTINGS). We have client extenstions that depend on both versions. When setting up a repo for a client extension that depends on the second base version, I have tried using installApps and appDependencyProbingPaths to point to either the app or the repo, respectively, for the second version of the base app. no joy--we get missing symbol errors either way. What would be the best way to set this up, so that some client versions can refer to one version of the base app, and others to the second version?

freddydk commented 4 months ago

Sorry for the delay If you add appDependencyProbingPaths to every repository, then it works right? But when you have appDependencyProbingPaths in ALGOORGSETTINGS and also in a repository - I think they are merged together and you probably end up with both - is this what you see?

buzzwick commented 4 months ago

I will do some more experimenting to see whether we can isolate any configuration that works. If they were merged together (i.e., from the org level and the repo level), how would I see that? In the logs?

buzzwick commented 4 months ago

Question: is an appDependencyProbingPaths setting at the repo level supposed to override one at the org level?

freddydk commented 4 months ago

I think that currently, they will be added together (as all arrays in settings)

buzzwick commented 4 months ago

Ah. So that would result in a single array of repositories, all of which would be searched. That would make sense.

In the meantime, I find that we might be able to eliminate this requirement altogether by bringing these two outlier extension apps up to the current version of our base app.

I say we can close this issue for now; thanks for the clarification--now we know how that works.