diff options
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/lib/image/engine.py | 13 | ||||
-rw-r--r-- | scripts/lib/mic/plugin.py | 16 |
2 files changed, 29 insertions, 0 deletions
diff --git a/scripts/lib/image/engine.py b/scripts/lib/image/engine.py index 1256236304..b850bb9bfe 100644 --- a/scripts/lib/image/engine.py +++ b/scripts/lib/image/engine.py @@ -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: diff --git a/scripts/lib/mic/plugin.py b/scripts/lib/mic/plugin.py index 585fd6d563..f836950727 100644 --- a/scripts/lib/mic/plugin.py +++ b/scripts/lib/mic/plugin.py @@ -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 |