Created
February 23, 2016 17:34
-
-
Save dzuelke/4cc18791e439afe99183 to your computer and use it in GitHub Desktop.
Composer replace ext test cases
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"repositories": [ | |
{ | |
"packagist": false | |
}, | |
{ | |
"type": "package", | |
"package": [ | |
{ | |
"type": "metapackage", | |
"name": "alcaeus\/mongo-php-adapter", | |
"version": "dev-master", | |
"require": { | |
"ext-hash": "*", | |
"php": "^5.5 || ^7.0" | |
}, | |
"replace": { | |
"ext-mongo": "1.6.12" | |
}, | |
"provide": [], | |
"conflict": [] | |
}, | |
{ | |
"type": "metapackage", | |
"name": "doctrine\/mongodb", | |
"version": "dev-master", | |
"require": { | |
"ext-mongo": "^1.5", | |
"php": "^5.5 || ^7.0" | |
}, | |
"replace": [], | |
"provide": [], | |
"conflict": [] | |
} | |
] | |
} | |
], | |
"require": { | |
"alcaeus\/mongo-php-adapter": "dev-master", | |
"doctrine\/mongodb": "dev-master" | |
}, | |
"config": { | |
"platform": { | |
"php": "5.6" | |
} | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"repositories": [ | |
{ | |
"packagist": false | |
}, | |
{ | |
"type": "package", | |
"package": [ | |
{ | |
"type": "metapackage", | |
"name": "alcaeus\/mongo-php-adapter", | |
"version": "dev-master", | |
"require": { | |
"ext-hash": "*", | |
"php": "^5.5 || ^7.0" | |
}, | |
"replace": { | |
"ext-mongo": "1.6.12" | |
}, | |
"provide": [], | |
"conflict": [] | |
}, | |
{ | |
"type": "metapackage", | |
"name": "doctrine\/mongodb", | |
"version": "dev-master", | |
"require": { | |
"ext-mongo": "^1.5", | |
"php": "^5.5 || ^7.0" | |
}, | |
"replace": [], | |
"provide": [], | |
"conflict": [] | |
} | |
] | |
} | |
], | |
"require": { | |
"alcaeus\/mongo-php-adapter": "dev-master", | |
"doctrine\/mongodb": "dev-master" | |
}, | |
"config": { | |
"platform": { | |
"php": "5.6", | |
"ext-mongo": "1.6.12" | |
} | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"repositories": [ | |
{ | |
"packagist": false | |
}, | |
{ | |
"type": "package", | |
"package": [ | |
{ | |
"type": "metapackage", | |
"name": "alcaeus\/mongo-php-adapter", | |
"version": "dev-master", | |
"require": { | |
"ext-hash": "*", | |
"php": "^5.5 || ^7.0" | |
}, | |
"replace": { | |
"ext-mongo": "1.6.12" | |
}, | |
"provide": [], | |
"conflict": [] | |
}, | |
{ | |
"type": "metapackage", | |
"name": "doctrine\/mongodb", | |
"version": "dev-master", | |
"require": { | |
"ext-mongo": "^1.5", | |
"php": "^5.5 || ^7.0" | |
}, | |
"replace": [], | |
"provide": [], | |
"conflict": [] | |
} | |
] | |
} | |
], | |
"require": { | |
"alcaeus\/mongo-php-adapter": "dev-master", | |
"ext-mongo": "1.6.12" | |
}, | |
"config": { | |
"platform": { | |
"php": "5.6" | |
} | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"repositories": [ | |
{ | |
"packagist": false | |
}, | |
{ | |
"type": "package", | |
"package": [ | |
{ | |
"type": "metapackage", | |
"name": "alcaeus\/mongo-php-adapter", | |
"version": "dev-master", | |
"require": { | |
"ext-hash": "*", | |
"php": "^5.5 || ^7.0" | |
}, | |
"replace": { | |
"ext-mongo": "1.6.12" | |
}, | |
"provide": [], | |
"conflict": [] | |
}, | |
{ | |
"type": "metapackage", | |
"name": "doctrine\/mongodb", | |
"version": "dev-master", | |
"require": { | |
"ext-mongo": "^1.5", | |
"php": "^5.5 || ^7.0" | |
}, | |
"replace": [], | |
"provide": [], | |
"conflict": [] | |
} | |
] | |
} | |
], | |
"require": { | |
"alcaeus\/mongo-php-adapter": "dev-master", | |
"ext-mongo": "1.6.12" | |
}, | |
"config": { | |
"platform": { | |
"php": "5.6", | |
"ext-mongo": "1.6.12" | |
} | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"repositories": [ | |
{ | |
"packagist": false | |
}, | |
{ | |
"type": "package", | |
"package": [ | |
{ | |
"type": "metapackage", | |
"name": "alcaeus\/mongo-php-adapter", | |
"version": "dev-master", | |
"require": { | |
"ext-hash": "*", | |
"php": "^5.5 || ^7.0" | |
}, | |
"replace": [], | |
"provide": { | |
"ext-mongo": "1.6.12" | |
}, | |
"conflict": [] | |
}, | |
{ | |
"type": "metapackage", | |
"name": "doctrine\/mongodb", | |
"version": "dev-master", | |
"require": { | |
"ext-mongo": "^1.5", | |
"php": "^5.5 || ^7.0" | |
}, | |
"replace": [], | |
"provide": [], | |
"conflict": [] | |
} | |
] | |
} | |
], | |
"require": { | |
"alcaeus\/mongo-php-adapter": "dev-master", | |
"doctrine\/mongodb": "dev-master" | |
}, | |
"config": { | |
"platform": { | |
"php": "5.6" | |
} | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"repositories": [ | |
{ | |
"packagist": false | |
}, | |
{ | |
"type": "package", | |
"package": [ | |
{ | |
"type": "metapackage", | |
"name": "alcaeus\/mongo-php-adapter", | |
"version": "dev-master", | |
"require": { | |
"ext-hash": "*", | |
"php": "^5.5 || ^7.0" | |
}, | |
"replace": [], | |
"provide": { | |
"ext-mongo": "1.6.12" | |
}, | |
"conflict": [] | |
}, | |
{ | |
"type": "metapackage", | |
"name": "doctrine\/mongodb", | |
"version": "dev-master", | |
"require": { | |
"ext-mongo": "^1.5", | |
"php": "^5.5 || ^7.0" | |
}, | |
"replace": [], | |
"provide": [], | |
"conflict": [] | |
} | |
] | |
} | |
], | |
"require": { | |
"alcaeus\/mongo-php-adapter": "dev-master", | |
"doctrine\/mongodb": "dev-master" | |
}, | |
"config": { | |
"platform": { | |
"php": "5.6", | |
"ext-mongo": "1.6.12" | |
} | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"repositories": [ | |
{ | |
"packagist": false | |
}, | |
{ | |
"type": "package", | |
"package": [ | |
{ | |
"type": "metapackage", | |
"name": "alcaeus\/mongo-php-adapter", | |
"version": "dev-master", | |
"require": { | |
"ext-hash": "*", | |
"php": "^5.5 || ^7.0" | |
}, | |
"replace": [], | |
"provide": { | |
"ext-mongo": "1.6.12" | |
}, | |
"conflict": [] | |
}, | |
{ | |
"type": "metapackage", | |
"name": "doctrine\/mongodb", | |
"version": "dev-master", | |
"require": { | |
"ext-mongo": "^1.5", | |
"php": "^5.5 || ^7.0" | |
}, | |
"replace": [], | |
"provide": [], | |
"conflict": [] | |
} | |
] | |
} | |
], | |
"require": { | |
"alcaeus\/mongo-php-adapter": "dev-master", | |
"ext-mongo": "1.6.12" | |
}, | |
"config": { | |
"platform": { | |
"php": "5.6" | |
} | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"repositories": [ | |
{ | |
"packagist": false | |
}, | |
{ | |
"type": "package", | |
"package": [ | |
{ | |
"type": "metapackage", | |
"name": "alcaeus\/mongo-php-adapter", | |
"version": "dev-master", | |
"require": { | |
"ext-hash": "*", | |
"php": "^5.5 || ^7.0" | |
}, | |
"replace": [], | |
"provide": { | |
"ext-mongo": "1.6.12" | |
}, | |
"conflict": [] | |
}, | |
{ | |
"type": "metapackage", | |
"name": "doctrine\/mongodb", | |
"version": "dev-master", | |
"require": { | |
"ext-mongo": "^1.5", | |
"php": "^5.5 || ^7.0" | |
}, | |
"replace": [], | |
"provide": [], | |
"conflict": [] | |
} | |
] | |
} | |
], | |
"require": { | |
"alcaeus\/mongo-php-adapter": "dev-master", | |
"ext-mongo": "1.6.12" | |
}, | |
"config": { | |
"platform": { | |
"php": "5.6", | |
"ext-mongo": "1.6.12" | |
} | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"repositories": [ | |
{ | |
"packagist": false | |
}, | |
{ | |
"type": "package", | |
"package": [ | |
{ | |
"type": "metapackage", | |
"name": "my-custom-sys/php", | |
"version": "5.6.18", | |
"replace": { | |
"my-custom-sys/ext-hash": "self.version" | |
} | |
}, | |
{ | |
"type": "metapackage", | |
"name": "alcaeus\/mongo-php-adapter", | |
"version": "dev-master", | |
"require": { | |
"my-custom-sys/ext-hash": "*", | |
"my-custom-sys/php": "^5.5 || ^7.0" | |
}, | |
"replace": { | |
"my-custom-sys/ext-mongo": "1.6.12" | |
}, | |
"provide": [], | |
"conflict": [] | |
}, | |
{ | |
"type": "metapackage", | |
"name": "doctrine\/mongodb", | |
"version": "dev-master", | |
"require": { | |
"my-custom-sys/ext-mongo": "^1.5", | |
"my-custom-sys/php": "^5.5 || ^7.0" | |
}, | |
"replace": [], | |
"provide": [], | |
"conflict": [] | |
} | |
] | |
} | |
], | |
"require": { | |
"alcaeus\/mongo-php-adapter": "dev-master", | |
"doctrine\/mongodb": "dev-master" | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"repositories": [ | |
{ | |
"packagist": false | |
}, | |
{ | |
"type": "package", | |
"package": [ | |
{ | |
"type": "metapackage", | |
"name": "my-custom-sys/php", | |
"version": "5.6.18", | |
"replace": { | |
"my-custom-sys/ext-hash": "self.version" | |
} | |
}, | |
{ | |
"type": "metapackage", | |
"name": "alcaeus\/mongo-php-adapter", | |
"version": "dev-master", | |
"require": { | |
"my-custom-sys/ext-hash": "*", | |
"my-custom-sys/php": "^5.5 || ^7.0" | |
}, | |
"replace": { | |
"my-custom-sys/ext-mongo": "1.6.12" | |
}, | |
"provide": [], | |
"conflict": [] | |
}, | |
{ | |
"type": "metapackage", | |
"name": "doctrine\/mongodb", | |
"version": "dev-master", | |
"require": { | |
"my-custom-sys/ext-mongo": "^1.5", | |
"my-custom-sys/php": "^5.5 || ^7.0" | |
}, | |
"replace": [], | |
"provide": [], | |
"conflict": [] | |
} | |
] | |
} | |
], | |
"require": { | |
"alcaeus\/mongo-php-adapter": "dev-master", | |
"my-custom-sys/ext-mongo": "1.6.12" | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"repositories": [ | |
{ | |
"packagist": false | |
}, | |
{ | |
"type": "package", | |
"package": [ | |
{ | |
"type": "metapackage", | |
"name": "my-custom-sys/php", | |
"version": "5.6.18", | |
"replace": { | |
"my-custom-sys/ext-hash": "self.version" | |
} | |
}, | |
{ | |
"type": "metapackage", | |
"name": "alcaeus\/mongo-php-adapter", | |
"version": "dev-master", | |
"require": { | |
"my-custom-sys/ext-hash": "*", | |
"my-custom-sys/php": "^5.5 || ^7.0" | |
}, | |
"replace": [], | |
"provide": { | |
"my-custom-sys/ext-mongo": "1.6.12" | |
}, | |
"conflict": [] | |
}, | |
{ | |
"type": "metapackage", | |
"name": "doctrine\/mongodb", | |
"version": "dev-master", | |
"require": { | |
"my-custom-sys/ext-mongo": "^1.5", | |
"my-custom-sys/php": "^5.5 || ^7.0" | |
}, | |
"replace": [], | |
"provide": [], | |
"conflict": [] | |
} | |
] | |
} | |
], | |
"require": { | |
"alcaeus\/mongo-php-adapter": "dev-master", | |
"doctrine\/mongodb": "dev-master" | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"repositories": [ | |
{ | |
"packagist": false | |
}, | |
{ | |
"type": "package", | |
"package": [ | |
{ | |
"type": "metapackage", | |
"name": "my-custom-sys/php", | |
"version": "5.6.18", | |
"replace": { | |
"my-custom-sys/ext-hash": "self.version" | |
} | |
}, | |
{ | |
"type": "metapackage", | |
"name": "alcaeus\/mongo-php-adapter", | |
"version": "dev-master", | |
"require": { | |
"my-custom-sys/ext-hash": "*", | |
"my-custom-sys/php": "^5.5 || ^7.0" | |
}, | |
"replace": [], | |
"provide": { | |
"my-custom-sys/ext-mongo": "1.6.12" | |
}, | |
"conflict": [] | |
}, | |
{ | |
"type": "metapackage", | |
"name": "doctrine\/mongodb", | |
"version": "dev-master", | |
"require": { | |
"my-custom-sys/ext-mongo": "^1.5", | |
"my-custom-sys/php": "^5.5 || ^7.0" | |
}, | |
"replace": [], | |
"provide": [], | |
"conflict": [] | |
} | |
] | |
} | |
], | |
"require": { | |
"alcaeus\/mongo-php-adapter": "dev-master", | |
"my-custom-sys/ext-mongo": "1.6.12" | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
From what I can tell, examples 3, 4, 5 and 6 are the ones we actually want. There are two different approaches though:
provide
makes the adapter behave like a polyfill, meaning "require this class in caseext-mongo
is missing but don't do anything if it's there". This may seem desirable but users may not be aware that the adapter is not being used becauseext-mongo
is installed.replace
adheres more strictly to the "composer way of life": ifext-mongo
is installed the user will be informed that there is a conflict and all is well.The
replace
directive would have to be changed to replace all versions ofext-mongo
that can be possibly replaced; in this case I'd actually use the followingreplace
inmongo-php-adapter
:Also, the error message that comes up in case
ext-mongo
is already installed is quite confusing:This can be confusing for users since it may seem that
ext-mongo
has to be installed when it already is installed.