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

조회 수: 9 (최근 30일)
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
Jan Kappen
Jan Kappen 2023년 2월 6일
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?

댓글을 달려면 로그인하십시오.

답변 (0개)

카테고리

Help CenterFile Exchange에서 Project Setup에 대해 자세히 알아보기

제품


릴리스

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by