8

I am looking to apply dependency management to a large-scale Matlab project.

This project imports a large number of java libraries, as well as some compiled C++ code, to the extent that some software best practices are now becoming more essential.

Is anyone aware of something along the lines of Maven/Ivy for use with Matlab?

supyo
  • 2,997
  • 2
  • 19
  • 35
  • 2
    Related question "MATLAB programming best practices for medium- to large-scale MATLAB Project" http://stackoverflow.com/questions/5042761/matlab-programming-best-practices – Mikhail Poda Sep 24 '11 at 07:35

3 Answers3

3

I'm not very familiar with Matlab, but sounds like your issue is that you're trying to put a large set of binary files under some sort of version control?

If those files are available in Maven Central, you can use my ant2ivy script to generate a starting set of ivy.xml and ivysettings.xml files.

One of the great things about ivy is that it can be run stand-alone as follows:

java -jar ivy.jar -retrieve "lib/[artifact].[ext]" -ivy ivy.xml -settings ivysettings.xml 

This will download the jars and place them into a "lib" directory (Or whatever directory Matlab uses).

Mark O'Connor
  • 74,471
  • 10
  • 132
  • 177
0

I created a simple maven based dependency management for matlab projects using jitpack.io and zip as release format.

Sample project - https://github.com/ragavsathish/mmockito

Simple archetype can be found in https://github.com/ragavsathish/matlab-simple-archetype

Please provide your comments on what can be improved further

ragav
  • 151
  • 1
  • 5
0

matlab isn't really made for large-scale projects. You'll have to come up with your own code to check for all necessary dependencies.

memyself
  • 11,017
  • 13
  • 59
  • 101