Is it possible to generate/update MATLAB toolbox project file (*.prj) programmatically?
Show older comments
Hi,
I have created a custom toolbox. Now I'm trying to have a continuous development process that would automatically package the toolbox every midnight (if any of the files have changed). I'm trying to understand if it would be possible to update the toolbox project file programmatically - to change toolbox version, project file list, excluded file list, etc. I can then use the updated prj file to package the new toolbox.
Cheers,
sunny
Answers (3)
Sean de Wolski
on 23 Feb 2018
1 vote
https://www.mathworks.com/help/releases/R2017b/matlab/ref/matlab.addons.toolbox.packagetoolbox.html and friends.
I don't know of a documented way to generate the prj file the first time.
7 Comments
Sunny Talekar
on 23 Feb 2018
Frederik Zilstorff
on 6 Jul 2018
Sunny, did you find an answer for this problem? Thank you in advance.
Sean de Wolski
on 6 Jul 2018
There is no documented way as of R2018a. I put in the enhancement request and will add your vote to it.
Sunny Talekar
on 16 Jul 2018
James
on 23 Jul 2018
upvote from me for this too.
Sean de Wolski
on 23 Jul 2018
Done!
Harley Day
on 10 Sep 2018
Edited: Harley Day
on 10 Sep 2018
Yes I've been thinking the same thing. There doesn't seem to be a way to programatically update a matlab project file. This would be useful for the purposes of code maintenance from github. My continuous integration server could then be configured to build and distribute new releases of the toolbox when I commit to the master branch.
Sunny Talekar
on 1 Mar 2019
1 vote
4 Comments
Harley Day
on 1 Mar 2019
Hi Sunny,
Great. Any chance we can use your code?
H
Sunny Talekar
on 5 Mar 2019
Harley Day
on 25 Jun 2019
Hi Sunny,
Any progress?
H
Eric Hoffmann
on 3 Oct 2019
Hi Sunny,
I too would be interested in looking at your code.
Thanks,
Eric
Sly Knight
on 14 Jul 2022
Use readstruct and writestruct.
project = readstruct(fullfile(path,project_name.prj),'FileType','xml');
project.configuration.param_version = project_file.configuration.param_version + 1;
writestruct(project,fullfile(path,project_name.prj),'FileType','xml')
Categories
Find more on Debugging and Analysis in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!