1
0
Fork 0
Commit Graph

116 Commits (e9d405ff18f33da06e858c9e09c6faccf6390d9a)

Author SHA1 Message Date
Jordi Boggiano e9d405ff18
Avoid using str_replace for dev-master replacement as that may be a valid part of a branch name, fixes #9739 2021-03-09 12:08:38 +01:00
Simon Berger bae227ec2d Changed all substr calls used to compare fragments of text to strpos
Some additional code cleanups in those classes

Reverted change causing issues
2020-09-07 21:08:34 +02:00
Yanick Witschi bd6f62c535 Consistently reuse the new PlatformRepository::isPlatformPackage() method 2020-09-01 17:19:19 +02:00
Jordi Boggiano 05dacbdabb
Rename DEV_MASTER_ALIAS to DEFAULT_BRANCH_ALIAS 2020-06-25 08:56:14 +02:00
Markus Staab c30925e68d
extracted `VersionParser::DEV_MASTER_ALIAS` (#8742) 2020-04-07 15:49:07 +02:00
Jordi Boggiano a7a975ec1c
Alias dev-master/trunk/default to 9999999-dev instead of normalizing the version to that, fixes #8323 2020-03-11 15:04:18 +01:00
Jordi Boggiano ef7252b358 Avoid relying on internal usort behavior 2018-04-13 14:09:00 +02:00
Jordi Boggiano c917865fe9 Fix handling of dev versions and consolidate logic, refs #7119 2018-04-13 13:55:02 +02:00
闫兴茂 1c0a494c72 Update findBestVersionForPackage method to support return package name 2017-12-19 22:17:24 +08:00
闫兴茂 354bd7f7e2 Update parse name version parirs name to lower 2017-12-18 14:55:03 +08:00
Jérôme Vasseur 71c2ecbace Fix platform package detection in VersionParser 2017-11-03 19:48:52 +01:00
Jordi Boggiano c9436438ff Add memoization to parseConstraints, saves some (6-7% here) RAM and marginal CPU time 2016-02-24 17:27:42 +00:00
Rob Bast 1328d9c3b2 rename baseversionparser to semverversionparser
and fix docblock as per @stof request
2015-09-25 11:05:38 +02:00
Rob Bast 1ccfc8eb96 add semver, deprecated existing classes 2015-09-24 16:28:28 +02:00
Jordi Boggiano c36d2a2e50 Merge pull request #4214 from legoktm/parse-links
Move VersionParser::parseLinks() to ArrayLoader::parseLinks()
2015-07-13 14:28:10 +01:00
Nils Adermann 3fd4672382 VersionParser: Append elements directly instead of array_merge 2015-07-09 12:57:34 +02:00
Nils Adermann e88df7429f Remove a few hundred/thousand array_merge calls 2015-07-08 13:36:19 +02:00
Kunal Mehta 14d1f0f3f6 Move VersionParser::parseLinks() to ArrayLoader::parseLinks()
Working towards #3545.

parseLinks is a wrapper around VersionParser::parseConstraints() that
creates Link objects, and better belongs in ArrayLoader.
2015-07-03 19:35:54 -07:00
Kunal Mehta 0ad9e98a59 Don't use BasePackage::$stabilities in VersionParser
Working towards #3545.

This adds VersionParser::$stabilities, which is an array of the
supported stability levels. This adds a little bit of duplication,
however we were already hardcoding the various stabilities in regular
expressions and functions like parseStability().
2015-07-03 17:54:30 -07:00
Kunal Mehta c5afb8f23a Mark VersionParser::formatVersion() as deprecated
With 1753c275ff, this will be handled nicely.
2015-07-02 00:07:04 -07:00
Kunal Mehta 99dab8aebd Move VersionParser::formatVersion() to BasePackage::getFullPrettyVersion()
Working towards #3545.

formatVersion() does not belong in VersionParser since it depends upon a
Package object, and is creating a more complete pretty formatted
version, not parsing anything.

The new getFullPrettyVersion() method can be seen as an extension to
getPrettyVersion(), and is located in BasePackage as a result.

Callers to VersionParser::formatVersion() were not updated in this
commit to demonstrate that no functionality was changed in this
refactor. They will be updated in a follow up commit.
2015-07-01 23:54:08 -07:00
Jordi Boggiano 6a64041055 CS fixes 2015-06-30 15:38:32 +01:00
Sam Minnee 2cd698874f Include pre-releases in >=2.3.0 comparison. Fixes #4080.
This is a change to the >=2.3.0 comparison. Without this change, such a
comparison will exclude pre-release versions.

The rationale is that this makes the comparison more consistent with
<2.3.0 (which excludes all pre-releases) and ~2.3.0 (which includes
pre-releases).
2015-06-30 13:10:20 +01:00
nevvermind 12c833864c Revert converting `1.0.0` to `^1.0`. 2015-06-08 22:45:20 +01:00
nevvermind 4fd9a3ceee compare against correct format 2015-06-02 19:59:38 +01:00
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
2015-06-02 17:40:32 +01:00
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.
2015-06-02 14:10:09 +01:00
Rob Bast 46e0a506b9 Added another testcase + fix 2015-06-02 14:20:48 +02:00
Rob Bast a0ca1d4d96 Consider 0 as part of a version 2015-06-02 14:14:29 +02:00
Hannes Van De Vreken b85cb7df82 Remove unused variable 2015-04-07 10:36:11 +02:00
Chris Brand 87b7de4d0a Add the P character to the regex pattern
According to http://php.net/manual/en/function.preg-match.php and some other sources named groups should contain a 'P' character after the '?'

Without this, I receive the following error when running an update:

[ErrorException]
  preg_match(): Compilation failed: unrecognized character after (?< at offset 4

Exception trace:
 () at phar:///var/www/git/smmqa/app/admin/composer.phar/src/Composer/Package/Version/VersionParser.php:181
2015-01-28 18:41:54 +02:00
Jordi Boggiano cd38d1e096 Tweaks to also support 1.0-dev style aliases, refs #3480 2015-01-20 10:26:10 +00:00
Damian Mooyman 7bb85ff21e Support aliases for numeric branches. Fixes #3461 2015-01-20 17:42:01 +13:00
Jordi Boggiano 92f4c1fb35 Allow and ignore semver build metadata, fixes #2422 2014-12-08 15:52:32 +00:00
Jordi Boggiano f363f9d370 Add support for caret (^) operator 2014-12-08 15:39:52 +00:00
Jordi Boggiano ebab9db27a Add support for hyphen ranges 2014-12-08 13:44:42 +00:00
Jordi Boggiano 69ef80124f Add support for capital X in 3.X and || for OR 2014-12-08 12:59:01 +00:00
Jordi Boggiano 4c713978e9 Add more tests and validate that there is only one comma 2014-12-07 18:07:30 +00:00
Jordi Boggiano ca168d478b Spaces are now equivalent to comma in constraints and mean AND 2014-12-07 18:07:29 +00:00
Jordi Boggiano 029f709300 Fix parsing stability suffixes in multi constraints, fixes #1732 2014-12-07 17:46:04 +00:00
Jordi Boggiano 94926218e8 CS fixes 2014-10-17 18:57:27 +01:00
François Pluchino 6c6a623229 Fix invalid version format 2014-09-22 11:58:26 +02:00
François Pluchino 8b5c00bff0 Fix phpdoc 2014-07-16 15:17:38 +02:00
Pascal Borreli 2f4df9d459 Fixed typos 2013-12-27 11:51:01 +00:00
Jordi Boggiano 80499bb024 Detect ~> misuse and suggest fix, fixes #2476 2013-12-06 13:32:19 +01:00
Jordi Boggiano 11a0d16ccc CS fixes 2013-10-11 20:12:45 -03:00
Jordi Boggiano f59f443fce CS fixes and one more test for safety, fixes #1855 2013-08-12 02:22:32 +02:00
Jordi Boggiano 533512879e Merge remote-tracking branch 'sminnee/fix-tilde-constraint-stabililty' 2013-08-12 02:17:00 +02:00
Jordi Boggiano 8d0b7f278e CS fixes 2013-06-13 13:28:24 +02:00
Pavel Savinov 831bd844bd Almost PHPDoc problems fixed 2013-06-13 11:05:44 +11:00