Skip to content

#10619: wic refactoring (done)

Ed Bartosh openembedded-core 1 version New

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest10 patches 0 repliesNew

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/10wic: use PluginMgr directlyscripts/lib/wic/engine.py scripts/lib/wic/help.py scripts/lib/wic/partition.py +2 more+47 -560 replies
2/10wic: remove PluginMgr.get_source_pluginsscripts/lib/wic/engine.py scripts/lib/wic/partition.py scripts/lib/wic/plugin.py+2 -140 replies
3/10wic: reimplement PluginMgr.get_plugin_methodsscripts/lib/wic/help.py scripts/lib/wic/partition.py scripts/lib/wic/plugin.py +1 more+20 -270 replies
4/10wic: reimplement PluginMgr.get_pluginsscripts/lib/wic/plugin.py+27 -720 replies
5/10wic: pluginbase: use python 3 metaclass syntaxscripts/lib/wic/pluginbase.py+2 -20 replies
6/10wic: throw exception if required API is not implementedscripts/lib/wic/pluginbase.py+6 -00 replies
7/10wic: remove PluginMgr.get_plugin_methodsscripts/lib/wic/help.py scripts/lib/wic/partition.py scripts/lib/wic/plugin.py +1 more+13 -410 replies
8/10wic: plugin: cache results in get_pluginsscripts/lib/wic/plugin.py+12 -100 replies
9/10wic: move PluginMgr class to pluginbasescripts/lib/wic/engine.py scripts/lib/wic/help.py scripts/lib/wic/partition.py +3 more+48 -740 replies
10/10wic: pluginbase: use global dictionaryscripts/lib/wic/pluginbase.py+15 -170 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH 00/10] #10619: wic refactoring (done)

Hi,

This patchset contains refactoring of wic plugin system. It hopefully makes the code more understandable and easier to read and maintain. It reduced plugin system API to only one call: get_plugins, speed up the system by using lazy evaluation of plugin info, shortened the code and moved it to one module.

This is a last patchset of wic refactoring series. Although there are still some places in wic code that I'd like to optimize, I decided to stop here. The code looks more maintainable for me now and even though I want to make it much better I have other tasks to do and important bugs to fix.

Just in case anybody is interested in continuing to refactor wic code I can point out to the areas that still require refactoring from my point of view:
- make use of ArgumentParser: bug #9636
- refactor engine.py and help.py
- replace plugin code that configures bootloaders with using configuration files (--configfile .wks option)
- refactor source plugins
- get rid of custom runner module in favor of using subprocess
- move the rest of code from utils/ subdirectory to lib/wic/utils.py

The following changes since commit e4e061bbdadce3f4fe420768bb132f6aac5fca56:

wic: move WicError to lib/wic/__init__.py (2017-02-16 13:24:03 +0200)

are available in the git repository at:

git://git.yoctoproject.org/poky-contrib ed/wic/wip
http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=ed/wic/wip

Ed Bartosh (10):
wic: use PluginMgr directly
wic: remove PluginMgr.get_source_plugins
wic: reimplement PluginMgr.get_plugin_methods
wic: reimplement PluginMgr.get_plugins
wic: pluginbase: use python 3 metaclass syntax
wic: throw exception if required API is not implemented
wic: remove PluginMgr.get_plugin_methods
wic: plugin: cache results in get_plugins
wic: move PluginMgr class to pluginbase
wic: pluginbase: use global dictionary

 scripts/lib/wic/engine.py                |   6 +-
 scripts/lib/wic/help.py                  |  11 +--
 scripts/lib/wic/partition.py             |  27 ++----
 scripts/lib/wic/plugin.py                | 151 -------------------------------
 scripts/lib/wic/pluginbase.py            |  59 ++++++++++--
 scripts/lib/wic/plugins/imager/direct.py |  13 +--
 6 files changed, 73 insertions(+), 194 deletions(-)
 delete mode 100644 scripts/lib/wic/plugin.py
Signature · 2 lines
Regards,
Ed