[OE-core] [PATCH 0/4] Load devtool and reciptool plugins in a well-defined manner

Ola x Nilsson ola.x.nilsson at axis.com
Tue Oct 25 11:03:31 UTC 2016


From: Ola x Nilsson <ola.x.nilsson at axis.com>

Make devtool and recipetool load plugins in a well-defined and expected manner.

devtool and reciptool search for pluings first in scripts/lib/<tool>
and then in BBPATH.  Each found plugin is loaded, which means that any
plugin found later in BBPATH shadows previously loaded plugins.
plugin_init is loaded for all plugins, no matter whether they are
later replaced.  register_plugin is called once for each time a plugin
with a certain name is found, but it is always called on the last
loaded plugin.

Change the scriptutils.load_plugins function to never load a plugin
file if one with the same filename has already been loaded.  This
means that the first found plugin wins.

Change the load order to first search BBPATH and then
scripts/lib/tools.  This means that plugins in scripts/lib/<tool> can
be shadowed by plugins in layers.

Ola x Nilsson (4):
  devtool: selftest: add test for devtool plugin loading
  recipetool: selftest: Add test for recipetool plugin loading
  devtool: Load plugins in a well defined order
  recipetool: Load plugins in a well defined order

 meta-selftest/lib/devtool/bbpath.py    | 44 ++++++++++++++++++++++++++++++++++
 meta-selftest/lib/recipetool/bbpath.py | 41 +++++++++++++++++++++++++++++++
 meta/lib/oeqa/selftest/devtool.py      | 43 +++++++++++++++++++++++++++++++++
 meta/lib/oeqa/selftest/recipetool.py   | 44 ++++++++++++++++++++++++++++++++++
 scripts/devtool                        |  3 ++-
 scripts/lib/scriptutils.py             |  8 +++++--
 scripts/recipetool                     |  4 ++--
 7 files changed, 182 insertions(+), 5 deletions(-)
 create mode 100644 meta-selftest/lib/devtool/bbpath.py
 create mode 100644 meta-selftest/lib/recipetool/bbpath.py

-- 
2.1.4



More information about the Openembedded-core mailing list