70 Commits (597f834ae998ea80797879f4259e8e6accff4a4b)

Author SHA1 Message Date
Jordi Boggiano 1c34248022 Check that PHP_ZTS is defined 8 years ago
Jordi Boggiano 9b08ee48db Update platform package regex 8 years ago
David Zuelke 19126d76a6 unify php-* package description grammar 8 years ago
David Zuelke a26c03eef0 add php-zts virtual platform package 8 years ago
David Zuelke 0f68c01094 add php-debug virtual platform package 8 years ago
Jordi Boggiano a2b3e89d56 Make sure php-ipv6 is recognized as a platform package as well 8 years ago
Richard Fussenegger 560f09cf3c Changed error suppression to Silencer 8 years ago
Richard Fussenegger 14224a1f02
Reduced to single requirement 8 years ago
Richard Fussenegger a155f4e7ea
Removed unused Silencer import 8 years ago
Richard Fussenegger 45e998c1d5
Reverted to initial version 8 years ago
Jordi Boggiano 301ea66371 Use silencer and check the function exists, refs #5317 8 years ago
Jordi Boggiano a7bbdcb794 Merge remote-tracking branch 'Fleshgrinder/ipv6-platform-requirement' 8 years ago
Jordi Boggiano 0cca4d1a44 Fix extension parsing to take the most usable data instead of just using 0 in case of parsing failure, fixes #5331, fixes #5264 8 years ago
Richard Fussenegger b68921ce8f
Provide IPv6 requirement via ext 8 years ago
Richard Fussenegger 132c37ab44
Added support for IPv6 requirement
I decided to add two additional PHP interpreter packages instead of an additional extension key. IPv6 support is part of PHP core (if enabled) and is not part of any optional extension.
8 years ago
Jordi Boggiano c9436438ff Add memoization to parseConstraints, saves some (6-7% here) RAM and marginal CPU time 8 years ago
Rob Bast baabc612f6 adjust message, skip test
currently we have no way to put dynamic values or wildcards in EXPECT-OUTPUT
9 years ago
Chris Smith 0818a6ed54 Previous attempt would cause 0.9.8aa == 0.9.8b 9 years ago
Chris Smith f6f273c4b6 Improve OpenSSL library description 9 years ago
Chris Smith e9e2514b5e Handle OpenSSL version after 26 patch releases
e.g. https://github.com/openssl/openssl/blob/OpenSSL_0_9_8zh/crypto/opensslv.h#L33
9 years ago
Jordi Boggiano 1818b95149 CS fixes 9 years ago
Jordi Boggiano fd7267e4ad Show overridden versions (as well as original) in composer show -p 9 years ago
Rob Bast a1427d7fd6 replace all occurences in code and comments 9 years ago
Jordi Boggiano cdcc99e73d Merge pull request #4088 from nevvermind/override_init_array
Fix "Invalid argument supplied for foreach()" on a new PlaformRepository obj
9 years ago
nevvermind ec00a4dbfa Set the platform overrides first 9 years ago
nevvermind 3032f0a538 Refactor based on code review
- Move the version api getter to the PluginManager And make it such that it can be mocked, but not pollute the public interface. That means "protected" visibility.
- The plugin api version constant should still be used throughout the code.
- Use different fixtures class names
- Use regex possessive quantifiers for performance
- Use full words for readability
9 years ago
nevvermind eb2aa14830 Make plugins have actual constraints instead of fixed versions
Instead of developing plugins against a single, fixed Plugin API version - `"composer-plugin-api": "1.0.0"`, this change will allow plugin developers to use versions like `"composer-plugin-api": "~1.1"` or `"composer-plugin-api": ">=2.1 <3.0"`, aka actual Composer-compatible constraints.

Only the "1.0", "1.0.0" and "1.0.0" Plugin API versions will be regarded as BC versions, and internally converted to "^1.0"; every other declared version string will be kept as it is.

Because of this new constraint flexibility, plugin version mismatches will be skipped, which means those plugin will NOT be registered to the system. Previously, a mismatch triggered a warning, but plugins were still registered.
9 years ago
nevvermind 8c0d4857ef Fix "Invalid argument supplied for foreach()" on a new PlaformRepository obj
This happens on "new PlatformRepository(array($somePackage))".
The parent constructor calls "\Composer\Repository\ArrayRepository::addPackage()",
which, on a brand new repo object, further calls "\Composer\Repository\PlatformRepository::initialize()"
and finally this iterates over a NULLd "$this->overrides", triggering the error.
9 years ago
Jordi Boggiano a57c51e8d7 Finalize platform override feature
- Added tests, docs
- Persist to lock file
- Add support in config command
- Added to json schema
9 years ago
Joakim Israelsson 19b3955022 Throw InvalidArgumentException on invalid platform packages in config.
It's a user provided configuration value that's wrong so
it makes more sense.
10 years ago
Joakim Israelsson ac89a5bb3b Only allow platform packages to be overridden.
As defined by the PlatformRepository::PLATFORM_PACKAGE_REGEX pattern.
10 years ago
Joakim Israelsson f76685ce4f PlatformRepository now takes an array of packages to override.
These overrides are on the form
array($packageName => $version)

These "virtual" packages are added instead of the real ones,
with the version specified. Note that it is a version and not
a constraint so you cannot pass array('ext-mongo' => '*').

Also there is currently no limit what packages can be overriden.
10 years ago
Paul Tarjan ddec582ca1 use HHVM_VERSION
this one is better (they are the same)
10 years ago
Jordi Boggiano e7b82cdd88 Only check in require and for non-platform packages, add flag to make this warning optional, refs #2320 10 years ago
Glen Mailer 3620796b7d Ensure detected extensions have valid package names 11 years ago
Nils Adermann 4f51db72f8 hhvm version constant still called HPHP on older versions so use it for bc 11 years ago
Nils Adermann 4c8e8ca702 Allow specifying HHVM as a dependency 11 years ago
Jordi Boggiano 11a0d16ccc CS fixes 11 years ago
Nils Adermann 92b1ee2f7a Add a composer-plugin-api platform package and plugins must require it 11 years ago
Jordi Boggiano d38eb244fa Add PlatformRepository::PLATFORM_PACKAGE_REGEX to remove duplication 11 years ago
Jordi Boggiano f69418427f Add lib-ICU platform package 12 years ago
Jordi Boggiano 8904888a74 Add php-64bit package if the php version has 64bit ints, fixes #1506, fixes #1511 12 years ago
Jordi Boggiano 172414a1f0 Add support for ~/+ in addition to - as separator between PHP version and build details, fixes #1322 12 years ago
Jordi Boggiano d6de4a0036 Rename Package interfaces to reduce BC issues 12 years ago
Jordi Boggiano 74c2fd5f06 Merge pull request #824 from beryllium/bug823
PECL-UUID does not define a version constant, use phpversion() instead
12 years ago
Jordi Boggiano 66e9dcddf4 CS fixes 12 years ago
Kevin Boyd 09be4ed936 PECL-UUID does not define a version constant, so we should use phpversion() to fetch the required information 12 years ago
Jordi Boggiano 95bc5c4898 Fix openssl/pcre matches, and skip other exts properly 12 years ago
Christian Riesen 70e7194b07 Changes after excellent feedback from Jordi 12 years ago
Christian Riesen 432815df67 Added more libraries to PlatformRepository 12 years ago