I had a look into this at the weekend and it is possible to do.
You have common code located in root directory and then for each plugin a subfolder with according sources for them. Each plugin subfolder contains all required
plugin.json etc. for the specific plugin.
You have a
Makefile in the root git project folder where you can define anything you want to build your project with all plugins at once or whatsoever.
The problem is when it comes to publish a specific plugin in the VCV library with the VCV plugin build system. For getting this to work you need again in each plugin subfolder a
Makefile with the according definitions to build this plugin.
When the VCV library build system build your code it will checkout the whole repository with all plugins and execute the
Makefile in your project root directory. Basically all you have to do is to delegete the called build targets to your plugin subfolder
Makefile of the plugin you want them to build and publish.
This means, you need to define all
make targets in your root
install etc. (I don’t know all of them) probably also
For example it should look then like this
$(MAKE) -C plugin-1 dep
$(MAKE) -C plugin-2 dep
$(MAKE) -C plugin-1 dist
$(MAKE) -C plugin-2 dist
To solve the problem that they can only build and publish 1 plugin at a time you have then to create a release branch of your project and adapt the build targets so it just delegates the build to the plugin subfolder you want them to build. Then you notify them about your update and give them the release branch or tag of the release branch. If you tag the release branch you can then just delete the release branch, because it is basically just for adapting the
Makefile for the library build.
I think this is it and I hope it will help.