PHPCSStandards / composer-installer

Composer installer for PHP_CodeSniffer coding standards
https://packagist.org/packages/dealerdirect/phpcodesniffer-composer-installer
MIT License
549 stars 36 forks source link

Plugin is [NOT] incompatible with PHP 8 #129

Closed Potherca closed 3 years ago

Potherca commented 3 years ago
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - dealerdirect/phpcodesniffer-composer-installer v0.6.2 requires php ^5.3|^7 -> your PHP version (8.0.0) does not satisfy that requirement.
    - dealerdirect/phpcodesniffer-composer-installer v0.6.1 requires php ^5.3|^7 -> your PHP version (8.0.0) does not satisfy that requirement.
    - dealerdirect/phpcodesniffer-composer-installer v0.6.0 requires php ^5.3|^7 -> your PHP version (8.0.0) does not satisfy that requirement.
    - dealerdirect/phpcodesniffer-composer-installer v0.5.0 requires php ^5.3|^7 -> your PHP version (8.0.0) does not satisfy that requirement.

How is this invalid?

This suddenly broke a CI for me. 🤷‍♀️

Originally posted by @lilithebowman in https://github.com/Dealerdirect/phpcodesniffer-composer-installer/issues/119#issuecomment-745424644

Potherca commented 3 years ago

The solution is the same as #119 : update the allowed version of this plugin to ^0.7.0.

Background: Any version of the plugin prior to 0.7.0 only allowed installation on PHP 5.x and 7.x. Version 0.6.2 (the last version before 0.7.0) was released in January this year, well before it was clear what would change in PHP 8, so there was no way it could be guaranteed that the plugin would work on PHP 8.x.

Once the first alpha release for PHP 8.0 came out, the plugin was tested on PHP 8.0 and the PHP version constraints widened to allow installation on PHP 8.0. This change was included in the 0.7.0 release.

And as Composer treats minors below 1.0 as majors, you need to explicitly update your version constraints to allow for version 0.7.x of this plugin.

Originally posted by @jrfnl in https://github.com/Dealerdirect/phpcodesniffer-composer-installer/issues/119#issuecomment-745433416

Potherca commented 3 years ago

@jrfnl Should we maybe tag a 0.8.0 with explicit composer 2 / php 8 support to make it easier for people to see/understand?

jrfnl commented 3 years ago

Should we maybe tag a 0.8.0 with explicit composer 2 / php 8 support to make it easier for people to see/understand?

@Potherca What do you mean by "explicit composer 2 / php 8" ?

Version 0.7.0 already has everything needed for Composer 2 as well as PHP 8 support and both are mentioned in the release changelog.

I think more than anything, people get confused because they don't realize that minors below 1.0 are treated as majors. Releasing an 0.8.0 is not going to help with that.

Potherca commented 3 years ago

With "explicit" I mean "add something in big letter to the README".

We already say

Note: This plugin is compatible with both version 2.x and 3.x of PHP_CodeSniffer

We might as well add a mention which Composer and PHP versions are(n't) supported.

Releasing an 0.8.0 is not going to help with that.

Yeah. There is that. We'll have that issue until we put out a 1.0 release but we're not there 100%, yet...

jrfnl commented 3 years ago

With "explicit" I mean "add something in big letter to the README".

That's a good idea, but doesn't require a release. As soon as the commit is merged, it will show up in the README here in the repo.

Potherca commented 3 years ago

The release was meant more as a clear marker but I suppose you are correct, and it isn't really needed.

I've got time this weekend for this (and the other documentation task). If the README.md has not been updated by Monday, feel free to holler encouragement/insults at my at me :grin:

jrfnl commented 3 years ago

@Potherca Is it time yet to start hollering insults ? 😝

Potherca commented 3 years ago

Derp.

I seem to have been severely sidetracked with my work for @pipeline-components and @pdsinterop before Xmas and completely forgot to return to this issue afterward :facepalm:

I'll put it on my worklist and try to bump it to this weekend... Thanks for the reminder!

Potherca commented 3 years ago

A first draft has been added in #132

Potherca commented 3 years ago

Changes based on review have been added.