From 8ab365ff19eeee4f1ff0edae6586c7463876ca18 Mon Sep 17 00:00:00 2001 From: Yousef Bajawi Date: Wed, 2 Aug 2017 10:43:31 +0300 Subject: [PATCH] Issue #2899042 by josebc: Replace hardcoded paths to profile. --- configbit/default.components.varbase.bit.yml | 2 +- configbit/extra.components.varbase.bit.yml | 2 +- configbit/language.action.varbase.bit.yml | 20 ++++++++++---------- configbit/varbase_landing.info.bit.yml | 2 +- configbit/varbase_media.info.bit.yml | 2 +- configbit/varbase_page.info.bit.yml | 2 +- src/Config/ConfigBit.php | 16 ++++++++++++---- src/Form/AssemblerForm.php | 2 +- varbase.profile | 4 ++-- 9 files changed, 30 insertions(+), 22 deletions(-) diff --git a/configbit/default.components.varbase.bit.yml b/configbit/default.components.varbase.bit.yml index 4478437..63c1146 100644 --- a/configbit/default.components.varbase.bit.yml +++ b/configbit/default.components.varbase.bit.yml @@ -4,7 +4,7 @@ # ============================================================================== config_bit: type: list - for: /profiles/varbase/varbase.info.yml + for: varbase.info.yml when: install_default_components: true list: diff --git a/configbit/extra.components.varbase.bit.yml b/configbit/extra.components.varbase.bit.yml index 9012ad3..c5b3922 100644 --- a/configbit/extra.components.varbase.bit.yml +++ b/configbit/extra.components.varbase.bit.yml @@ -4,7 +4,7 @@ # ============================================================================== config_bit: type: list - for: /profiles/varbase/varbase.info.yml + for: varbase.info.yml when: show_extra_components: true list: diff --git a/configbit/language.action.varbase.bit.yml b/configbit/language.action.varbase.bit.yml index bfb5974..20ffa36 100644 --- a/configbit/language.action.varbase.bit.yml +++ b/configbit/language.action.varbase.bit.yml @@ -9,18 +9,18 @@ config_bit: when: enable_multilingual: false files: - - /profiles/varbase/modules/varbase_features/varbase_page/config/install/language.content_settings.node.page.yml - - /profiles/varbase/modules/varbase_features/varbase_landing/config/install/language.content_settings.node.landing_page.yml - - /profiles/varbase/modules/varbase_features/varbase_media/config/install/language.content_settings.media.document.yml - - /profiles/varbase/modules/varbase_features/varbase_media/config/install/language.content_settings.media.image.yml - - /profiles/varbase/modules/varbase_features/varbase_media/config/install/language.content_settings.media.video.yml + - modules/varbase_features/varbase_page/config/install/language.content_settings.node.page.yml + - modules/varbase_features/varbase_landing/config/install/language.content_settings.node.landing_page.yml + - modules/varbase_features/varbase_media/config/install/language.content_settings.media.document.yml + - modules/varbase_features/varbase_media/config/install/language.content_settings.media.image.yml + - modules/varbase_features/varbase_media/config/install/language.content_settings.media.video.yml unarchive_files: archive_extensiton: '.archive' when: enable_multilingual: true files: - - /profiles/varbase/modules/varbase_features/varbase_page/config/install/language.content_settings.node.page.yml - - /profiles/varbase/modules/varbase_features/varbase_landing/config/install/language.content_settings.node.landing_page.yml - - /profiles/varbase/modules/varbase_features/varbase_media/config/install/language.content_settings.media.document.yml - - /profiles/varbase/modules/varbase_features/varbase_media/config/install/language.content_settings.media.image.yml - - /profiles/varbase/modules/varbase_features/varbase_media/config/install/language.content_settings.media.video.yml + - modules/varbase_features/varbase_page/config/install/language.content_settings.node.page.yml + - modules/varbase_features/varbase_landing/config/install/language.content_settings.node.landing_page.yml + - modules/varbase_features/varbase_media/config/install/language.content_settings.media.document.yml + - modules/varbase_features/varbase_media/config/install/language.content_settings.media.image.yml + - modules/varbase_features/varbase_media/config/install/language.content_settings.media.video.yml diff --git a/configbit/varbase_landing.info.bit.yml b/configbit/varbase_landing.info.bit.yml index 78a6bdf..915aa31 100644 --- a/configbit/varbase_landing.info.bit.yml +++ b/configbit/varbase_landing.info.bit.yml @@ -3,7 +3,7 @@ # ============================================================================== config_bit: type: action - for: /profiles/varbase/modules/varbase_features/varbase_landing/varbase_landing.info.yml + for: modules/varbase_features/varbase_landing/varbase_landing.info.yml action: remove: when: diff --git a/configbit/varbase_media.info.bit.yml b/configbit/varbase_media.info.bit.yml index d051963..34cd3cf 100644 --- a/configbit/varbase_media.info.bit.yml +++ b/configbit/varbase_media.info.bit.yml @@ -3,7 +3,7 @@ # ============================================================================== config_bit: type: action - for: /profiles/varbase/modules/varbase_features/varbase_media/varbase_media.info.yml + for: modules/varbase_features/varbase_media/varbase_media.info.yml action: remove: when: diff --git a/configbit/varbase_page.info.bit.yml b/configbit/varbase_page.info.bit.yml index 6f77164..251df87 100644 --- a/configbit/varbase_page.info.bit.yml +++ b/configbit/varbase_page.info.bit.yml @@ -3,7 +3,7 @@ # ============================================================================== config_bit: type: action - for: /profiles/varbase/modules/varbase_features/varbase_page/varbase_page.info.yml + for: modules/varbase_features/varbase_page/varbase_page.info.yml action: remove: when: diff --git a/src/Config/ConfigBit.php b/src/Config/ConfigBit.php index 5586f2b..ae966b1 100644 --- a/src/Config/ConfigBit.php +++ b/src/Config/ConfigBit.php @@ -14,15 +14,23 @@ class ConfigBit { * * Load config bit file as an array, with full file name and path. * - * @param string $full_config_bit_file_name + * @param string $config_bit_file_name * Config bit file name in the root configbit folder. + * + * @param string $type + * Config bit file source type (profile / module). + * + * @param string $project + * Config bit file source eg. varbase. * * @return array|int * array of config bit. * FALSE if we do not have the config_bit in the config bit file. */ - public static function getConfigBit($full_config_bit_file_name) { + public static function getConfigBit($config_bit_file_name, $type = 'profile', $project = 'varbase') { + // Generate full path to config file + $full_config_bit_file_name = drupal_get_path($type, $project) . '/' . $config_bit_file_name; if (is_file($full_config_bit_file_name)) { // Pars the config bit file and have it as an array if it was not. $config_bit_data = (array) Yaml::parse(file_get_contents($full_config_bit_file_name)); @@ -53,8 +61,8 @@ class ConfigBit { * @return array * Get List config as an array. */ - public static function getList($config_bit_file_name, $condition_name, $condition_value, $sublist = NULL) { - $config_bit_data = ConfigBit::getConfigBit($config_bit_file_name); + public static function getList($config_bit_file_name, $condition_name, $condition_value, $sublist = NULL, $type = 'profile', $project = 'varbase') { + $config_bit_data = ConfigBit::getConfigBit($config_bit_file_name, $type, $project); if (isset($config_bit_data['type']) && $config_bit_data['type'] == 'list' diff --git a/src/Form/AssemblerForm.php b/src/Form/AssemblerForm.php index 4431cf3..306d4a9 100644 --- a/src/Form/AssemblerForm.php +++ b/src/Form/AssemblerForm.php @@ -141,7 +141,7 @@ class AssemblerForm extends FormBase { ]; // Configbit root folder for varbase profile. - $configbit_root = \Drupal::root() . '/profiles/varbase/configbit'; + $configbit_root = 'configbit'; foreach ($this->getExtraComponentsInfo($configbit_root) as $key => $info) { $form['extra_components']['#options'][$key] = $info['name']; diff --git a/varbase.profile b/varbase.profile index 7522dfc..cfe52a7 100644 --- a/varbase.profile +++ b/varbase.profile @@ -76,7 +76,7 @@ function varbase_install_tasks(&$install_state) { */ function varbase_assemble_extra_components(array &$install_state) { // Configbit root folder for varbase profile. - $configbit_root = \Drupal::root() . '/profiles/varbase/configbit'; + $configbit_root = 'configbit'; // Default Varbase components, which must be installed. $default_components = ConfigBit::getList($configbit_root . '/default.components.varbase.bit.yml', 'install_default_components', TRUE, 'dependencies'); @@ -192,7 +192,7 @@ function varbase_fix_entity_update($entity_update) { function varbase_config_bit_for_multilingual($enable_multilingual) { // Configbit root folder for varbase profile. - $configbit_root = \Drupal::root() . '/profiles/varbase/configbit'; + $configbit_root = 'configbit'; // Change configurations to work with enable_multilingual. if ($enable_multilingual) { -- 2.7.4