I've written, for my own benefit, a JUCE modules manager. But I think I'd like to share it if people are interested in contributing.
It's a bit like npm, but for JUCE modules.
What does it do I hear you say... :)
Well, for example, you type:
jpm install juce_core@3.1.1
And it downloads and installs juce_core, and configures your .jucer file for you.
Or even:
jpm install juce_*@4.0.1
To download and setup everything starting with juce_
It also saves a local file containing a specification for the modules and versions you used with the project so if you share it without the modules someone else can run jpm install and it'll go and download all the same stuff, at the same version. It caches the modules locally so it's quick too.
It stores all the modules in a folder called jpm_modules in your JUCE project.
Why do you want this?
- It's quick, easy and extendable.
- It saves faffing around with the 'set modules paths' stuff which is painful when you have non-JUCE modules to include as well.
- It makes it easier to reuse code.
- It means you get the right version of the module without having to faff around with git submodules, or bundling the modules with the rest of your code.
- It makes it easy to find more modules...certainly if other people contribute. You can type jpm list and it shows you what's available.
It'll support, shortly, mutiple directories so you can have a local module archive too of your private stuff.
I'm also planning on having it create and update modules more easily from a bunch of source files. But that's next ...
So if you have modules and you'd be interested in adding them to my list, or you fancy having a play with the alpha version, fixing bugs etc let me know :) I'll post some code in a tic...
PS. it doesn't tackle dependencies at the moment, but that's not a big problem for me right now.
So you get the vibe, heres an example of it running on my Windows box - the directory isn't fully populated:
C:\Users\Jim\Cide\jpm\test>..\Builds\VisualStudio2015\Debug\jpm.exe list found: 13 juce/juce_core@3.1.1 juce/juce_core@4.0.2 juce/juce_audio_utils@3.1.1 juce/juce_audio_utils@4.0.2 juce/juce_audio_formats@3.1.1 juce/juce_audio_formats@4.0.2 juce/juce_audio_devices@3.1.1 juce/juce_audio_devices@4.0.2 juce/juce_graphics@3.1.1 juce/juce_graphics@4.0.2 credland/jcf_debug@0.1.0 credland/jcf_debug@0.1.0 drowaudio/drowaudio@master C:\Users\Jim\Cide\jpm\test>..\Builds\VisualStudio2015\Debug\jpm.exe install drowaudio install... found: 1 downloading: drowaudio url: https://github.com/drowaudio/drowaudio/archive/master.zip C:\Users\Jim\Cide\jpm\test>dir jpm_modules Volume in drive C is Windows Volume Serial Number is 7ED6-AD55 Directory of C:\Users\Jim\Cide\jpm\test\jpm_modules 07/12/2015 18:05 <DIR> . 07/12/2015 18:05 <DIR> .. 07/12/2015 18:05 <DIR> drowaudio 07/12/2015 17:47 <DIR> juce_core 07/12/2015 17:47 <DIR> juce_graphics 0 File(s) 0 bytes 5 Dir(s) 772,292,333,568 bytes free