Expands on the dependency analysis results of matlab.codetools.requiredFilesAndProducts by including in the search any files (including images, sounds, icons, datafiles, etc.) loaded, read, queried, etc.
Automatically generates and stores a list of load functions by analyzing the function list of all Toolboxes recognized by requiredFilesAndProducts.
Optionally, checks for copyright; optionally creates a zip file including all dependent (non-MathWorks) files.
Brett Shoelson (2019). requiredFiles (https://www.mathworks.com/matlabcentral/fileexchange/48058-requiredfiles), MATLAB Central File Exchange. Retrieved .
1.0.0.1 | Updated license |
|
1.2.0.1 | Updated license |
Create scripts with code, output, and formatted text in a single executable document.
zmi zmi (view profile)
Terrance Nearey (view profile)
@Brett
Note for better platform independence:
MATLAB path strings need attention as well.
Change getInputFunctionList line 103 from
`allPaths = textscan(allPaths,'%s','delimiter',';')`
to
allPaths = textscan(allPaths,'%s','delimiter',pathsep())`
'
Brett Shoelson (view profile)
@Aurelien:
Thanks for tracking that down for me--I was having a difficult time finding it. I've submitted a fix for this. The new version should also handle off-path files (requirements) better.
Cheers,
Brett
Aurelien Queffurust (view profile)
@Brett : VER is returning empty when you have the subfolder coder and you do not have MATLAB Coder (idem with simulink , rtw). I have these subfolders in my 16a Prerelease. But as you wrote adding a if-test is the correct fix.
Brett Shoelson (view profile)
@Oleg:
I'm sorry you had such a terrible experience with this tool.
I can readily address the hard-path-delimiter issue; in getInputList.m, simply replace line 111:
fileList = regexprep({fileList.name}','\.m','');
with this:
fileList = regexprep({fileList.name}',[filesep,'.m'],'');
But under what conditions is VER returning empty? Third-party Toolboxes? I didn't code to capture those. I suggest following the call to VER (line 97 in getInputFunctionList.m) with this:
if isempty(tmp),continue,end
Brett
Oleg Poliannikov (view profile)
Failed twice on my mac. The first problem is that the path delimiter is hardwired. That I changed manually. The second one is that ver sometimes produces empty outputs, which are not handled correctly. I could not immediately fix this one.
Michael Quinn (view profile)
This is a very useful utility as it helps you package up code to share with others without having to manually track down all of your helper files that may not reside in the main folder.