I would like to understand how Tutor handles Git submodules when custom OpenX plugins are added. Specifically:
Does Tutor recognize plugins stored as Git submodules in $(tutor plugins printroot)?
Will tutor plugins enable <plugin> to work correctly if the plugin is a submodule?
Are there any known issues or best practices for managing Tutor plugins as submodules?
If submodules are not officially supported, is there a recommended approach for keeping plugins version-controlled and in the same repo?
This would help clarify the best way to structure custom plugins within a Tutor-based Open edX setup.
Put them in $(tutor plugins printroot) as individual .py files. You can version control the entire directory (I do) but you cannot use git submodules for individual plugins witj this method.
Pip-install them from pypi. Pip does not care how or whether the source for a pypi package is version-controlled.
Pip-install them from a local folder, anywhere on your filesystem. Again, here, pip does not care where the folder is, or whether or not it’s a repo or submodule. It just needs to have a valid setup.py or pyproject.toml with the right tutor.plugin.v1 entrypoint, as explained in the official docs.