Problem/Motivation
This is a blocker for #3249553: Create package_manager validator to ensure the project to be installed is not already installed by Composer.
Project Browser sends package names to its installer without any version constraints, but RequireEventTrait::getKeyedPackages() expects that all the packages will be passed explicit constraints. That leads to brokenness.
Since project browser now sends package names without constraints RequireEventTrait needs to be updated to default to '*' when no constraint is found. We are now using PreRequireEvent in the Validator #3249553: Create package_manager validator to ensure the project to be installed is not already installed by Composer which will use RequireEventTrait.
Proposed resolution
RequireEventTrait::getKeyedPackages() should default any unspecified version constraints to *.
API changes
The behavior of RequireEventTrait's public methods will change to be more consistent.
Issue fork automatic_updates-3310000
Show commands
Start within a Git clone of the project using the version control instructions.
Or, if you do not have SSH keys set up on git.drupalcode.org:
Comments
Comment #3
omkar.podey commentedComment #4
tim.plunkettComment #5
phenaproximaComment #6
tedbowCan we get more info about why this issue was create? thanks
Comment #7
omkar.podey commentedComment #8
omkar.podey commentedComment #9
phenaproximaI think we could make a few upgrades to the test, but overall this looks great. No objections to how the method has been implemented.
Comment #10
phenaproximaSelf-assigning because this is a blocker for #3249553: Create package_manager validator to ensure the project to be installed is not already installed by Composer.
Comment #11
phenaproximaI'm gonna merge this.
Comment #13
phenaproximaMerged into 8.x-2.x. Thanks!
Comment #15
tedbow