Allow providers which are selected to be installed in place of existing packages which do not satisfy requirements, fixes #6753
parent
2901995fc8
commit
8a41f1a5ca
@ -0,0 +1,36 @@
|
||||
--TEST--
|
||||
Test that providers can be installed if they are selected and the package they provide is not installable
|
||||
--COMPOSER--
|
||||
{
|
||||
"repositories": [
|
||||
{
|
||||
"type": "package",
|
||||
"package": [
|
||||
{
|
||||
"name": "foo/polyfill",
|
||||
"provide": {
|
||||
"foo/standard": "1.0.0"
|
||||
},
|
||||
"version": "1.0.0"
|
||||
},
|
||||
{
|
||||
"name": "foo/standard",
|
||||
"require": {
|
||||
"foo/does-not-exist": "1.0.0"
|
||||
},
|
||||
"version": "1.0.0"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"require": {
|
||||
"foo/standard": "1.0.0",
|
||||
"foo/polyfill": "1.0.0"
|
||||
}
|
||||
}
|
||||
|
||||
--RUN--
|
||||
update
|
||||
|
||||
--EXPECT--
|
||||
Installing foo/polyfill (1.0.0)
|
@ -0,0 +1,34 @@
|
||||
--TEST--
|
||||
Test that providers can be installed in conjunction with the package they provide if they are selected and the package they provide is also installable
|
||||
--COMPOSER--
|
||||
{
|
||||
"repositories": [
|
||||
{
|
||||
"type": "package",
|
||||
"package": [
|
||||
{
|
||||
"name": "foo/polyfill",
|
||||
"provide": {
|
||||
"foo/standard": "1.0.0"
|
||||
},
|
||||
"version": "1.0.0"
|
||||
},
|
||||
{
|
||||
"name": "foo/standard",
|
||||
"version": "1.0.0"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"require": {
|
||||
"foo/standard": "1.0.0",
|
||||
"foo/polyfill": "1.0.0"
|
||||
}
|
||||
}
|
||||
|
||||
--RUN--
|
||||
update
|
||||
|
||||
--EXPECT--
|
||||
Installing foo/standard (1.0.0)
|
||||
Installing foo/polyfill (1.0.0)
|
@ -0,0 +1,55 @@
|
||||
--TEST--
|
||||
Test that providers can not be installed if they are not selected
|
||||
--COMPOSER--
|
||||
{
|
||||
"repositories": [
|
||||
{
|
||||
"type": "package",
|
||||
"package": [
|
||||
{
|
||||
"name": "foo/polyfill",
|
||||
"provide": {
|
||||
"foo/standard": "1.0.0"
|
||||
},
|
||||
"version": "1.0.0"
|
||||
},
|
||||
{
|
||||
"name": "foo/standard",
|
||||
"require": {
|
||||
"foo/does-not-exist": "1.0.0"
|
||||
},
|
||||
"version": "1.0.0"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"require": {
|
||||
"foo/standard": "1.0.0"
|
||||
}
|
||||
}
|
||||
|
||||
--RUN--
|
||||
update
|
||||
|
||||
--EXPECT-EXIT-CODE--
|
||||
2
|
||||
|
||||
--EXPECT-OUTPUT--
|
||||
Loading composer repositories with package information
|
||||
Updating dependencies
|
||||
Your requirements could not be resolved to an installable set of packages.
|
||||
|
||||
Problem 1
|
||||
- Root composer.json requires foo/standard 1.0.0 -> satisfiable by foo/standard[1.0.0].
|
||||
- foo/standard 1.0.0 requires foo/does-not-exist 1.0.0 -> no matching package found.
|
||||
|
||||
Potential causes:
|
||||
- A typo in the package name
|
||||
- The package is not available in a stable-enough version according to your minimum-stability setting
|
||||
see <https://getcomposer.org/doc/04-schema.md#minimum-stability> for more details.
|
||||
- It's a private package and you forgot to add a custom repository to find it
|
||||
|
||||
Read <https://getcomposer.org/doc/articles/troubleshooting.md> for further common problems.
|
||||
|
||||
--EXPECT--
|
||||
|
Loading…
Reference in New Issue