Matlab Projects: how to properly reference dependencies with certain version number

27 Ansichten (letzte 30 Tage)
Hi all,
we're trying to find out the optimal workflow with Matlab Projects and came to a couple of roadblocks:
  • Is there a way to reference a toolbox directly?
  • Can its version number be specified?
  • Can we specify the path of a toolbox (i.e. having a toolbox/package "storage", where toolboxes are released to)
  • Can we reference projects from a GIT/SVN path (+revision obviously)
In fact what we would like to achieve is:
  • Moving away from global namespaces (packages) without proper revision information to Matlab Projects, tracked by GIT.
  • Share these projects as toolboxes
  • Compile a standalone exe from that (Matlab Compiler)
Suppose we have a big application "The App". Right now, The App is part of a global package/namespace hierachy, which is stored on a fileshare everybody has access to. We want to separate The App as a Matlab Project, tracked by Git. Obviously, there are dependencies that do not directly belong to The App (like file helper, generic plotting tools and so on). These tools could be moved into one or several Matlab Projects as well. How do we reference these properly? As far as I've seen, only relative and absolute references to other Matlab Projects are possible. But since every Matlab Project is its own Git repo (which makes sense), the working copies may be "everywhere", i.e. it's very hard to retain a proper directory structure for either relative or absolute paths on all developer machines. How do you solve that?
The next step would be to share these (coupled) Matlab Projects as toolboxes (which shall reference each other again), to ensure not every Matlab user has to open the Matlab Projects first to have all the tools on the path. How can we cross-creference (custom made) toolboxes in a certain version?
You see, we're looking for a "real" package + dependency manager such as nuget (https://www.nuget.org/). There you have packages with a version number that can reference other required packages, again with a certain range of compatible versions. And the best - all dependent packages are automatically installed.
How can we achieve that with Matlab? My coworkers are very surprised that this is not a standard feature in Matlab.
Thank you!
  7 Kommentare
Jan Kappen
Jan Kappen am 6 Feb. 2023
we have Artifactory now, but that does not really solve the primary problem. There's no way to relate packages/projects/toolboxes by their version.
I have a GUI that needs a database backend. That exists in two major versions, and both must be maintained. There's no package manager where I could say "GUI depends on v1.0.1" in that branch and on "v2.2.3" on this branch (in our CI pipeline). I have to clone that by hand, relying on the git tags.
Is there something automated coming?

Melden Sie sich an, um zu kommentieren.

Antworten (0)

Kategorien

Mehr zu Source Control Integration finden Sie in Help Center und File Exchange

Produkte


Version

R2020a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by