From 9eb4775b50ce1fb1c0ddb771c9ff24b39d9b9408 Mon Sep 17 00:00:00 2001 From: Sangyoon Jang Date: Tue, 25 Jul 2023 10:17:39 +0900 Subject: [PATCH] Fix plugin manager - Parse metadata of package. - Add some logs. Change-Id: Id2598b65fa0aac2b346e7b5eff8d1940258513c4 Signed-off-by: Sangyoon Jang --- src/common/plugins/plugin_manager.cc | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/src/common/plugins/plugin_manager.cc b/src/common/plugins/plugin_manager.cc index f914ca4..7d01590 100644 --- a/src/common/plugins/plugin_manager.cc +++ b/src/common/plugins/plugin_manager.cc @@ -145,6 +145,17 @@ bool PluginManager::LoadPlugins(Plugin::ActionType action_type) { if (done) break; } + /* metadata of package, since Tizen 7.5 */ + for (metadata_x* meta : GListRange(manifest_->metadata)) { + if (IsSubKey(meta->key, plugin_info->name())) { + plugin = factory.CreatePluginByPluginInfo(*plugin_info); + if (!plugin) + LOG(WARNING) << "Failed to load plugin: " + << plugin_info->path() + << " Plugin has been skipped."; + break; + } + } if (!done && action_type == Plugin::ActionType::Upgrade && IsDataRemoved(MetadataPlugin::kType, plugin_info->name())) { plugin = factory.CreatePluginByPluginInfo(*plugin_info, @@ -195,13 +206,18 @@ bool PluginManager::LoadPlugins(Plugin::ActionType action_type) { bool PluginManager::RunPlugins(Plugin::ActionType action_type) { LOG(DEBUG) << "Running pkgmgr plugins..."; for (auto& plugin : loaded_plugins_) { + auto& plugin_info = plugin->plugin_info(); + LOG(INFO) << "Running plugin: " << plugin_info.path(); bool success = plugin->Run(xml_parser_.doc_ptr(), manifest_, action_type); if (!success) { - bool vitalness = plugin->plugin_info().vitalness(); - if (vitalness) + bool vitalness = plugin_info.vitalness(); + if (vitalness) { + LOG(ERROR) << plugin_info.path() << " fails"; return false; - else - LOG(ERROR) << "plugin Run fail but installation is ongoing"; + } else { + LOG(ERROR) << plugin_info.path() + << " fails but installation is ongoing"; + } } } return true; -- 2.7.4