docs: Remove extension support implementation plan

This commit is contained in:
Stein Magnus Jodal 2013-04-13 14:01:07 +02:00
parent a543a01675
commit 0052dbeb0d

View File

@ -329,62 +329,3 @@ all your custom GStreamer elements.
For examples of custom GStreamer elements implemented in Python, see
:mod:`mopidy.audio.mixers`.
Implementation steps
====================
A rough plan of how to make the above document the reality of how Mopidy
extensions work.
1. Implement :class:`mopidy.utils.ext.Extension` base class and the
:exc:`mopidy.exceptions.ExtensionError` exception class.
2. Switch from using distutils to setuptools to package and install Mopidy so
that we can register entry points for the bundled extensions and get
information about all extensions available on the system from
:mod:`pkg_resources`.
3. Add :class:`Extension` classes for all existing frontends and backends. Skip
any default config and config validation for now.
4. Add entry points for the existing extensions in the ``setup.py`` file.
5. Rewrite the startup procedure to find extensions and thus frontends and
backends via :mod:`pkg_resouces` instead of the ``FRONTENDS`` and
``BACKENDS`` settings.
6. Remove the ``FRONTENDS`` and ``BACKENDS`` settings.
7. Add default config files and config validation to all existing extensions.
8. Switch to ini file based configuration, using :mod:`ConfigParser`. The
default config is the combination of a core config file plus the config from
each installed extension. To find the effective config for the system, the
following config sources are added together, with the later ones overriding
the earlier ones:
- the default config built from Mopidy core and all installed extensions,
- ``/etc/mopidy/mopidy.conf``,
- ``~/.config/mopidy/mopidy.conf``,
- any config file provided via command line arguments, and
- any config values provided via command line arguments.
9. Replace all use of ``mopidy.settings`` with the new config object.
10. Add command line options for:
- loading an additional config file for this execution of Mopidy,
- setting a config value for this execution of Mopidy,
- printing the effective config and exit, and
- write a config value permanently to ``~/.config/mopidy/mopidy.conf``, or
``/etc/mopidy/mopidy.conf`` if root, and exit.
11. Reimplement ``--list-deps`` based upon information provided by extensions.