joomlatools / joomlatools-composer

Composer extension installer for Joomla.
https://www.joomlatools.com/developer/tools/composer/
GNU General Public License v3.0
52 stars 13 forks source link

Support Joomla 4 #47

Open stevenrombauts opened 3 years ago

stevenrombauts commented 3 years ago

Update the bootstrapping logic for Joomla 4

yiendos commented 3 years ago

@johanjanssens okie we have some composer conflicts when trying to install Joomla 4:

First J4 has upgraded to Symfony 5, where as we (framework) only supports up to v4.0.0

"symfony/console": "~5.0",
"symfony/error-handler": "~5.0",
"symfony/ldap": "~5.0",
"symfony/options-resolver": "~5.0",
"symfony/polyfill-php73": "^1.10",
"symfony/web-link": "~5.0",
"symfony/yaml": "~5.0",

Which generates:

  Problem 1
- Root composer.json requires joomlatools/framework ~3.4.10 -> satisfiable by joomlatools/framework[v3.4.11].
- joomlatools/framework v3.4.11 requires symfony/yaml ^2.8|^3.0|^4.0 -> found symfony/yaml[v2.8.0, ..., v2.8.52, v3.0.0, ..., v3.4.47, v4.0.0, ..., v4.4.17] but it conflicts with your root composer.json require (~5.0).
Problem 2
- joomlatools/framework v3.4.11 requires symfony/yaml ^2.8|^3.0|^4.0 -> found symfony/yaml[v2.8.0, ..., v2.8.52, v3.0.0, ..., v3.4.47, v4.0.0, ..., v4.4.17] but it conflicts with your root composer.json require (~5.0).
- joomlatools/pages v0.19.1 requires joomlatools/framework ~3.4.10 -> satisfiable by joomlatools/framework[v3.4.11].
- Root composer.json requires joomlatools/pages ~0.19.1 -> satisfiable by joomlatools/pages[v0.19.1].

Probably less serious, have no idea what dealerdirect/phpcodesniffer-composer-installer" does but it won't be installed properly because we moved onto composer-api v2.0

"require-dev": {
    "phpunit/phpunit": "~8.0",
    "joomla/cms-coding-standards": "~2.0.0-alpha2@dev",
    "joomla/coding-standards": "~3.0@dev",
    "joomla/mediawiki": "dev-master",
    "friendsofphp/php-cs-fixer": "~2.12",
    "squizlabs/php_codesniffer": "~3.0",
    "joomla-projects/joomla-browser": "~4.0@dev",
    "codeception/codeception": "~4.0",
    "dealerdirect/phpcodesniffer-composer-installer": "^0.6.0",
    "joomla/test": "~2.0@beta",
    "codeception/module-asserts": "^1.0",
    "codeception/module-db": "^1.0",
    "codeception/module-rest": "^1.0",
    "codeception/module-webdriver": "^1.0",
    "codeception/module-phpbrowser": "^1.0"
}

Which generates:

The "dealerdirect/phpcodesniffer-composer-installer" plugin was skipped because it requires a Plugin API version ("^1.0") that does not match your Composer installation ("2.0.0"). You may need to run composer update with the "--no-plugins" option.

How would you like to handle this?

working-up-to-install-composer.json.zip

johanjanssens commented 3 years ago

@yiendos To solve this we need to update the dependency in framework and in pages, lets put this on hold for now.