lp:~zyga/lava-core/plugin-loader-respin

Created by Zygmunt Krynicki and last modified
Get this branch:
bzr branch lp:~zyga/lava-core/plugin-loader-respin
Only Zygmunt Krynicki can upload to this branch. If you are Zygmunt Krynicki please log in for upload directions.

Branch merges

Related bugs

Related blueprints

Branch information

Owner:
Zygmunt Krynicki
Project:
LAVA Core (deprected)
Status:
Merged

Recent revisions

11. By Zygmunt Krynicki

Add unit tests for lava.core.plugins

10. By Zygmunt Krynicki

Make PluginLoader retain the order of entries from pkg_resources

Previously calling PluginLoader methods would trigger one-time initialization
via pkg_resources.iter_entry_points(). This method retains some of the ordering
of the declarations in setup.py files which can be useful, for example, for
listing commands in the expected order. This order was lost when entry points
were cached in a plain dictionary. This patch replaces all relevant uses of
plain dictionaries with OrderedDict (from the simplejson module)

9. By Zygmunt Krynicki

Add plugins and errors modules

The PluginLoader class is a simple thin wrapper around pkg_resources entry
points. It de-couples LAVA from grotty pkg_resources details and allows us to
migrate away from that technology later. It also allows us to explore frozen
applications that would allow lava to run on windows.

The PluginLoader class has basically two methods: to load all plugins that
"reside" in a particular namespace and to load an explicitly named plugin (also
from a particular namespace). Namespace names are translated 1-to-1 to
pkg_resources namespaces but are sufficiently abstract that this is not
important. All plugins must explicitly inherit from a base class designated by
the caller. In lava-core this is typically an interface that has all the
expected methods and properties that the calling side will later expect from
the returned object.

The errors module starts with two related exception classes. In subsequent
patches it will be used as a bag of assorted exceptions used in all of
lava-core.

8. By Zygmunt Krynicki

Infrastructure for history and logging

7. By Zygmunt Krynicki

Add stub Environment class

Environment is a json-document Document that wraps the entire lava
configuration. Subsequent patches will add more functionality, as needed by
other parts of core. Note: this environment will eventually replace
settings.conf from lava-server.

6. By Zygmunt Krynicki

Add project support files

This is the basic set of files: setup.py, MANIFEST.in, some text files, and the
basic package structure. I've left out HACKING as I want to do some editiong on
the contents.

5. By Zygmunt Krynicki

Add COPYING.GPL3 with the text of GPL3

4. By Zygmunt Krynicki

Join lava-dispatcher into lava-core repository

3. By Zygmunt Krynicki

Join lava-utils-interface into lava-core repository

2. By Zygmunt Krynicki

Join lava-tool to lava-core repository

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
Stacked on:
lp:lava-core
This branch contains Public information 
Everyone can see this information.

Subscribers