Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow symfony/service-contracts 3 #1436

Merged
merged 1 commit into from
Dec 1, 2021

Conversation

virp
Copy link
Contributor

@virp virp commented Dec 1, 2021

In PR #1434 was allowed deprecation-contracts 3 but now fresh symfony 6 installation need also service-contracts 3

Problem 1
    - doctrine/doctrine-bundle 2.5.0 requires symfony/deprecation-contracts ^2.1 -> found symfony/deprecation-contracts[v2.1.0, ..., v2.5.0] but the package is fixed to v3.0.0 (lock file version) by a partial update and that version does not match. Make sure you list it as an argument for the update command.
    - doctrine/doctrine-bundle 2.5.1 requires symfony/service-contracts ^1.1.1|^2.0 -> found symfony/service-contracts[v1.1.1, ..., v1.1.11, v2.0.0, ..., v2.5.0] but the package is fixed to v3.0.0 (lock file version) by a partial update and that version does not match. Make sure you list it as an argument for the update command.

@ostrolucky ostrolucky added this to the 2.5.2 milestone Dec 1, 2021
@ostrolucky
Copy link
Member

How urgent is to release this now and why wasn't this issue spotted while working on #1434?

@ostrolucky ostrolucky merged commit 5b77477 into doctrine:2.5.x Dec 1, 2021
@virp
Copy link
Contributor Author

virp commented Dec 1, 2021

How urgent is to release this now and why wasn't this issue spotted while working on #1434?

Now i can't install orm pack in fresh symfony 6, i think it's criticall

@ostrolucky
Copy link
Member

You don't need orm pack, require doctrine/doctrine-bundle and doctrine/orm explicitly.

@virp
Copy link
Contributor Author

virp commented Dec 1, 2021

I meant that I cannot install the orm-pack because it requires a doctrine/doctrine-bundle, which cannot be installed just for the reason that is fixed in this pull request (it's possible only with downgrade symfony/service-contracts to 2.5)

@ostrolucky
Copy link
Member

Could someone enlighten me why was this never an issue in our CI? https://github.com/doctrine/DoctrineBundle/runs/4365437825?check_suite_focus=true, concretely in "Install dependencies with Composer" step. This is what it installs:

- Installing composer/package-versions-deprecated (dev-master 1927b0a): Extracting archive
  - Installing squizlabs/php_codesniffer (dev-master 0ed1d8c): Extracting archive
  - Installing dealerdirect/phpcodesniffer-composer-installer (v0.7.1): Extracting archive
  - Installing psr/cache (dev-master 0a7c67d): Extracting archive
  - Installing doctrine/lexer (1.3.x-dev 59bfb3b): Extracting archive
  - Installing doctrine/annotations (1.14.x-dev 2da982a): Extracting archive
  - Installing phpstan/phpdoc-parser (1.2.0): Extracting archive
  - Installing slevomat/coding-standard (dev-master 3c38ab6): Extracting archive
  - Installing doctrine/coding-standard (9.0.x-dev f86c16a): Extracting archive
  - Installing symfony/polyfill-php80 (dev-main 57b712b): Extracting archive
  - Installing symfony/polyfill-php72 (dev-main 9a14221): Extracting archive
  - Installing symfony/polyfill-mbstring (dev-main 11b9acb): Extracting archive
  - Installing symfony/polyfill-intl-normalizer (dev-main 8590a5f): Extracting archive
  - Installing symfony/polyfill-intl-grapheme (dev-main 81b86b5): Extracting archive
  - Installing symfony/polyfill-ctype (dev-main 3088518): Extracting archive
  - Installing symfony/string (6.0.x-dev ba72779): Extracting archive
  - Installing symfony/deprecation-contracts (dev-main c726b64): Extracting archive
  - Installing psr/container (1.x-dev 513e066): Extracting archive
  - Installing symfony/service-contracts (2.5.x-dev 034c73d): Extracting archive
  - Installing symfony/console (6.1.x-dev 675a4e6): Extracting archive
  - Installing doctrine/event-manager (1.2.x-dev e70ba7c): Extracting archive
  - Installing doctrine/deprecations (v0.5.3): Extracting archive
  - Installing doctrine/collections (1.7.x-dev 0163afb): Extracting archive
  - Installing doctrine/cache (2.1.x-dev 331b4d5): Extracting archive
  - Installing doctrine/persistence (2.3.x-dev d22ea92): Extracting archive
  - Installing doctrine/instantiator (1.5.x-dev 6410c4b): Extracting archive
  - Installing doctrine/inflector (2.1.x-dev 3249de5): Extracting archive
  - Installing psr/log (dev-master fe5ea30): Extracting archive
  - Installing doctrine/dbal (3.3.x-dev 59f914f): Extracting archive
  - Installing doctrine/common (3.2.x-dev 6d970a1): Extracting archive
  - Installing doctrine/orm (2.11.x-dev 6857a2e): Extracting archive
  - Installing doctrine/sql-formatter (1.2.x-dev 0f6fcf6): Extracting archive
  - Installing laminas/laminas-code (4.5.x-dev fbdaecd): Extracting archive
  - Installing webmozart/assert (dev-master b419d64): Extracting archive
  - Installing phpdocumentor/reflection-common (dev-master a0eeab5): Extracting archive
  - Installing phpdocumentor/type-resolver (1.x-dev f8ec4ab): Extracting archive
  - Installing phpdocumentor/reflection-docblock (dev-master 622548b): Extracting archive
  - Installing sebastian/version (3.0.x-dev c6c1022): Extracting archive
  - Installing sebastian/type (2.3.x-dev f24cbc5): Extracting archive
  - Installing sebastian/resource-operations (dev-master 0f4443c): Extracting archive
  - Installing sebastian/recursion-context (4.0.4): Extracting archive
  - Installing sebastian/object-reflector (2.0.4): Extracting archive
  - Installing sebastian/object-enumerator (4.0.4): Extracting archive
  - Installing sebastian/global-state (5.0.3): Extracting archive
  - Installing sebastian/exporter (4.0.x-dev 65e8b7d): Extracting archive
  - Installing sebastian/environment (5.1.3): Extracting archive
  - Installing sebastian/diff (4.0.4): Extracting archive
  - Installing sebastian/comparator (4.0.6): Extracting archive
  - Installing sebastian/code-unit (1.0.8): Extracting archive
  - Installing sebastian/cli-parser (1.0.1): Extracting archive
  - Installing phpunit/php-timer (5.0.3): Extracting archive
  - Installing phpunit/php-text-template (2.0.4): Extracting archive
  - Installing phpunit/php-invoker (3.1.1): Extracting archive
  - Installing phpunit/php-file-iterator (3.0.x-dev d7e633e): Extracting archive
  - Installing theseer/tokenizer (1.2.1): Extracting archive
  - Installing nikic/php-parser (v4.13.1): Extracting archive
  - Installing sebastian/lines-of-code (1.0.3): Extracting archive
  - Installing sebastian/complexity (2.0.2): Extracting archive
  - Installing sebastian/code-unit-reverse-lookup (2.0.3): Extracting archive
  - Installing phpunit/php-code-coverage (9.2.x-dev f301eb1): Extracting archive
  - Installing phpspec/prophecy (dev-master d86dfc2): Extracting archive
  - Installing phar-io/version (3.1.0): Extracting archive
  - Installing phar-io/manifest (dev-master 97803ec): Extracting archive
  - Installing myclabs/deep-copy (1.x-dev 776f831): Extracting archive
  - Installing phpunit/phpunit (9.5.x-dev 02eb251): Extracting archive
  - Installing webmozart/path-util (2.3.0): Extracting archive
  - Installing openlss/lib-array2xml (1.0.0): Extracting archive
  - Installing netresearch/jsonmapper (v4.0.0): Extracting archive
  - Installing felixfbecker/language-server-protocol (dev-master 9d846d1): Extracting archive
  - Installing felixfbecker/advanced-json-rpc (v3.2.1): Extracting archive
  - Installing dnoegel/php-xdg-base-dir (v0.1.1): Extracting archive
  - Installing composer/xdebug-handler (2.0.2): Extracting archive
  - Installing composer/semver (dev-main 83e511e): Extracting archive
  - Installing amphp/amp (dev-master 5c29da0): Extracting archive
  - Installing amphp/byte-stream (dev-master 77decf1): Extracting archive
  - Installing vimeo/psalm (dev-master 466137a): Extracting archive
  - Installing psalm/plugin-phpunit (0.16.1): Extracting archive
  - Installing symfony/routing (6.1.x-dev 8d9fd70): Extracting archive
  - Installing symfony/polyfill-php81 (dev-main 5de4ba2): Extracting archive
  - Installing symfony/http-foundation (6.1.x-dev 4c4b5be): Extracting archive
  - Installing psr/event-dispatcher (dev-master aa4f89e): Extracting archive
  - Installing symfony/event-dispatcher-contracts (dev-main aa54222): Extracting archive
  - Installing symfony/event-dispatcher (6.1.x-dev 2774908): Extracting archive
  - Installing symfony/var-dumper (6.1.x-dev 18d9a17): Extracting archive
  - Installing symfony/error-handler (6.1.x-dev 0e8f0c1): Extracting archive
  - Installing symfony/http-kernel (6.1.x-dev 4e504d1): Extracting archive
  - Installing symfony/finder (6.1.x-dev 07debda): Extracting archive
  - Installing symfony/filesystem (6.1.x-dev 52b3c9c): Extracting archive
  - Installing symfony/dependency-injection (6.1.x-dev 4dae086): Extracting archive
  - Installing symfony/config (6.1.x-dev df48719): Extracting archive
  - Installing symfony/var-exporter (6.1.x-dev 32cf62f): Extracting archive
  - Installing symfony/cache-contracts (dev-main 2f7463f): Extracting archive
  - Installing symfony/cache (6.1.x-dev 7b336d2): Extracting archive
  - Installing symfony/framework-bundle (5.4.x-dev 4e3b721): Extracting archive
  - Installing psalm/plugin-symfony (v3.0.4): Extracting archive
  - Installing symfony/doctrine-bridge (6.1.x-dev 565a86a): Extracting archive
  - Installing symfony/phpunit-bridge (6.1.x-dev 5d6cc67): Extracting archive
  - Installing symfony/property-info (6.1.x-dev 56e98f4): Extracting archive
  - Installing friendsofphp/proxy-manager-lts (1.x-dev b6c4815): Extracting archive
  - Installing symfony/proxy-manager-bridge (6.1.x-dev 2d09532): Extracting archive
  - Installing symfony/password-hasher (6.1.x-dev 6f11fb2): Extracting archive
  - Installing symfony/security-core (6.1.x-dev 7ae7dda): Extracting archive
  - Installing symfony/property-access (6.1.x-dev e0b6697): Extracting archive
  - Installing symfony/security-http (6.1.x-dev 6530589): Extracting archive
  - Installing symfony/security-csrf (6.1.x-dev 3c88825): Extracting archive
  - Installing symfony/security-bundle (6.1.x-dev adeb9b2): Extracting archive
  - Installing twig/twig (3.x-dev 31629a6): Extracting archive
  - Installing symfony/translation-contracts (dev-main 1b6ea5a): Extracting archive
  - Installing symfony/twig-bridge (6.1.x-dev 2c2d1fb): Extracting archive
  - Installing symfony/validator (6.1.x-dev ba04b96): Extracting archive
  - Installing symfony/twig-bundle (6.1.x-dev 3adc8ba): Extracting archive
  - Installing symfony/web-profiler-bundle (6.1.x-dev a2007ca): Extracting archive
  - Installing symfony/yaml (6.1.x-dev f3064a2): Extracting archive

This lead me to think there are no issues with compatibility. Only dependency it's still using symfony 5.x for is framework-bundle (because of psalm/psalm-plugin-symfony#227) and this one doesn't require service-contracts. I would like to improve our CI.

@stof
Copy link
Member

stof commented Dec 1, 2021

Our CI does not try to install doctrine-bundle in an existing Symfony project by performing a partial update (as done by composer require) and so composer will happily select the existing solver solution that uses v2 of the contracts package, even if we were using framework-bundle 6.0 (as Symfony 6 supports both v2 and v3 of the contracts package).
The problem only happens when doing partial updates with symfony/service-contracts 3.0 already locked (and not added in the allow-list of the partial update).

@derrabus
Copy link
Member

derrabus commented Dec 1, 2021

why wasn't this issue spotted while working on #1434?

Because I solved a problem for 5.4 and not 6.0. Sorry, I did not investigate further. I probably should've. 😓

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants