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 hidden or 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 hidden or 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 hidden or 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 hidden or 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 hidden or 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 hidden or 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 hidden or 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 hidden or 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 hidden or 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 hidden or 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 hidden or 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 hidden or 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:
providemakes the adapter behave like a polyfill, meaning "require this class in caseext-mongois 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-mongois installed.replaceadheres more strictly to the "composer way of life": ifext-mongois installed the user will be informed that there is a conflict and all is well.The
replacedirective would have to be changed to replace all versions ofext-mongothat can be possibly replaced; in this case I'd actually use the followingreplaceinmongo-php-adapter:Also, the error message that comes up in case
ext-mongois already installed is quite confusing:This can be confusing for users since it may seem that
ext-mongohas to be installed when it already is installed.