wic: Add command to list available source plugins

Add a 'wic list source-plugins' command enabling users to get a list
of valid partition --sources.  This is useful not only for determining
sources to use in .wks partition statements, but also for making sense
of errors in .wks partition processing.

(From OE-Core rev: 37db9423e7872012fabde67e8858db5b512832f6)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Tom Zanussi
2014-07-04 19:11:49 -05:00
committed by Richard Purdie
parent ae33bda011
commit 40769b7cc0
2 changed files with 29 additions and 0 deletions

View File

@@ -174,6 +174,16 @@ def list_canned_image_help(scripts_path, fullpath):
break
def list_source_plugins():
"""
List the available source plugins i.e. plugins available for --source.
"""
plugins = pluginmgr.get_source_plugins()
for plugin in plugins:
print " %s" % plugin
def wic_create(args, wks_file, rootfs_dir, bootimg_dir, kernel_dir,
native_sysroot, hdddir, staging_data_dir, scripts_path,
image_output_dir, debug, properties_file, properties=None):
@@ -258,6 +268,9 @@ def wic_list(args, scripts_path, properties_file):
if args[0] == "images":
list_canned_images(scripts_path)
return True
elif args[0] == "source-plugins":
list_source_plugins()
return True
elif args[0] == "properties":
return True
else:

View File

@@ -117,6 +117,22 @@ class PluginMgr(object):
return pluginbase.get_plugins(ptype)
def get_source_plugins(self):
"""
Return list of available source plugins.
"""
plugins_dir = self._build_plugin_dir_list(self.plugin_dir, 'source')
self.append_dirs(plugins_dir)
plugins = []
for _source_name, klass in self.get_plugins('source').iteritems():
plugins.append(_source_name)
return plugins
def get_source_plugin_methods(self, source_name, methods):
"""
The methods param is a dict with the method names to find. On