Pythons great, especially for the argument parsing. However for Windows users they would have to install python if they haven’t already, or we could look into generating executables using py2exe or pyinstaller, unfortunately I’ve not got experience with them and they seem a little clunky.
Alternatively we could use JUCE? I think JUCE is a little lacking on the argument parsing right now, but on several occasions I’ve gone to start a decent one written in JUCE and share it via a 3rd party module
I guess we could prototype with python and if required move over to something like JUCE at a later stage?
Fair enough, anything web based is not my strong point TBH. Couldn’t the database be stored in a git repo for now? I guess there’s risk around what changes getting pushed.
I was imagining that the database would hold the name of the module, the link to the Git repo, and an optional dir for which the module in placed in (such as
modules for the JUCE repo). Would it need anything else?
I’m imagining that the package manager would use the info in the module declaration to pull in dependencies? One of the things that’s been crossing my mind as potentially one of the more difficult things to implement is how a 3rd party module declares which version(s) of a dependency it requires/supports. One thing we could consider if we wanted to add more information to these module declarations instead of placing information inside the
BEGIN/END_JUCE_MODULE_DECLARATION section we could encourage 3rd party modules to also have an optional
BEGIN/END_<PACKAGE_MANAGER_NAME>_MODULE_DECLARATION section. I’m still not sure exactly what you would put in there though, optional minimum / maximum versions referred to by tag/branches/refs?
Do you see any other sticking points that I might be missing? or did you imagine anything differently?