diff --git a/phpBB/phpbb/composer/installer.php b/phpBB/phpbb/composer/installer.php index 3a03e29ef5..1bc2c8e6b4 100644 --- a/phpBB/phpbb/composer/installer.php +++ b/phpBB/phpbb/composer/installer.php @@ -471,13 +471,18 @@ class installer $composer = Factory::create($io, null, false); $core_packages = $this->get_core_packages($composer); + + // The composer/installers package must be installed on his own and not provided by the existing autoloader + $core_replace = $core_packages; + unset($core_replace['composer/installers']); + $ext_json_data = [ 'require' => array_merge( ['php' => $this->get_core_php_requirement($composer)], $core_packages, $this->get_extra_dependencies(), $packages), - 'replace' => $core_packages, + 'replace' => $core_replace, 'repositories' => $this->get_composer_repositories(), 'config' => [ 'vendor-dir'=> $this->packages_vendor_dir, diff --git a/phpBB/phpbb/db/migration/data/v330/extensions_composer_2.php b/phpBB/phpbb/db/migration/data/v330/extensions_composer_2.php new file mode 100644 index 0000000000..c6ea7f4c13 --- /dev/null +++ b/phpBB/phpbb/db/migration/data/v330/extensions_composer_2.php @@ -0,0 +1,33 @@ + +* @license GNU General Public License, version 2 (GPL-2.0) +* +* For full copyright and license information, please see +* the docs/CREDITS.txt file. +* +*/ + +namespace phpbb\db\migration\data\v330; + +class extensions_composer_2 extends \phpbb\db\migration\migration +{ + public function update_data() + { + $repositories = json_decode($this->config('exts_composer_repositories'), true); + $repositories[] = 'https://satis.phpbb.com'; + $repositories = array_unique($repositories); + + return array( + array('config.update', array('exts_composer_repositories', json_encode($repositories, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES))), + ); + } + + static public function depends_on() + { + return array('\phpbb\db\migration\data\v330\extensions_composer'); + } +}