Jordi Boggiano
0a9abeef88
Merge branch '1.5'
2017-12-17 15:05:08 +01:00
Alessandro Lai
54adf0b61e
Add regression test about VersionGuesser pretty_version handling
2017-12-17 13:49:07 +01:00
Gabriel Caruso
afc9a7643e
Use PHPUnit\Framework\TestCase instead of PHPUnit_Framework_TestCase
2017-11-30 13:44:43 -02:00
Jordi Boggiano
5ba6d7d436
Fix pretty guessed versions to show nicely on numeric branches, refs #6845
2017-11-30 15:19:11 +01:00
Jérôme Vasseur
71c2ecbace
Fix platform package detection in VersionParser
2017-11-03 19:48:52 +01:00
Jordi Boggiano
b07be842a0
Remove feature-branches option as it is misnamed and duplicates the non-feature-branches option, refs #6475
2017-08-07 18:14:04 +02:00
Claus Due
965f1f42d1
Add support for feature-branches setting
...
A negative list of non-feature-branches names
is already supported - this patch adds a list of
branches names which *will* be considered as
feature branches.
Allows changing the currently hardcoded set of
expected feature branch names, from:
* master|trunk|default|develop
To any set of names or patterns that you desire.
2017-06-11 19:02:51 +02:00
Nicole Cordes
d834fcfac5
Change commitHash to match real life examples
2017-04-03 12:00:31 +01:00
Nicole Cordes
c0f5a64e81
Use long array sysntax for PHP 5.3 compatibility
2017-03-31 17:09:04 +02:00
Nicole Cordes
c2fe198ebc
Re-add unit test for FETCH_HEAD parsing
2017-03-31 15:37:39 +02:00
Nicole Cordes
313e6b914d
Fix Git branch parsing for detached HEAD on a commit
...
Current versions of Git output the commit hash as detached HEAD instead
of FETCH_HEAD. The VersionGuesser should be able to handle commit hashes
as well as FETCH_HEAD to detect the correct branch of a commit.
2017-03-31 15:02:50 +02:00
Jordi Boggiano
843877cd6d
Fix hg version guessing, fixes #6236 , fixes #6235
2017-03-08 17:12:13 +01:00
Filippo Tessarotto
04b1ddb79f
VersionGuesser test for HG
2017-03-08 16:10:12 +01:00
Jordi Boggiano
e54c7478ee
Attempt at fixing support for git 2.11, refs #5942
2016-12-07 01:02:55 +01:00
Rob Bast
873f17261c
try to fix test instead of guarding implementation
2016-12-01 14:03:20 +01:00
Rob Bast
9f2bd34c87
test copied from #5724
2016-09-27 17:39:44 +02:00
Jordi Boggiano
6146f7aded
Take into account prefer-stable and dev packages when computing outdated, refs #5251
2016-04-28 22:38:38 +01:00
Jordi Boggiano
2dcd76aa43
Fix test suite
2016-02-25 14:24:27 +00:00
Sash
582e361a88
Fixing array accessing
2016-02-22 21:47:33 +00:00
Sash
f6899e5c38
#4828 Using version guesser to pull out the commit has for git repositories. The return value is now an array with version and commit values.
2016-02-22 21:19:01 +00:00
Jordi Boggiano
966a982738
CS fixes
2015-11-21 19:28:10 +00:00
Jordi Boggiano
4b269f4ded
Follow stability option in create-project to select the best possible version, refs #4563
2015-11-14 15:04:04 +00:00
Jordi Boggiano
507415e404
Make VersionSelector prefer stable by default and allow specifying a PHP version that must be matched, fixes #4318
2015-10-27 14:43:04 +00:00
Rob Bast
a1427d7fd6
replace all occurences in code and comments
2015-09-24 16:32:36 +02:00
Rob Bast
1ccfc8eb96
add semver, deprecated existing classes
2015-09-24 16:28:28 +02:00
Jordi Boggiano
89c6a68a76
Updates to path repository and path downloader, refs #4365
2015-09-12 22:28:03 +01:00
Samuel ROZE
bb81e3721a
Move the `proc_open` test in setUp
2015-08-25 09:19:10 +01:00
Samuel ROZE
dfccb686ce
Replace usage of brackets by legacy array notation
2015-08-18 15:16:15 +01:00
Samuel ROZE
5261a5fa03
Move version guessing in `VersionGuesser` class
2015-08-18 14:58:18 +01: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
f634c6946d
Update callers of VersionParser::formatVersion()
...
Tests were moved to BasePackageTest.
2015-07-02 00:06:56 -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
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
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
a256f3dfca
Added one failing testcase and one successful
...
Demonstrates that it handles x.y.z properly as long as z !== 0
2015-06-02 14:03:45 +02:00
Jordi Boggiano
4ce0adb23c
Use the caret operator for all require operations
2015-04-29 23:53:40 +01:00
Jordi Boggiano
43c1caad0d
Merge remote-tracking branch 'Seldaek/caret-op-for-semver'
...
Conflicts:
tests/Composer/Test/Package/Version/VersionSelectorTest.php
2015-04-29 23:49:27 +01: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
d4523119ea
Use caret operator for 0.x releases when guessing versions, fixes #3518
2014-12-08 17:05:50 +00:00
Jordi Boggiano
06e96a78e2
Update ranges for 0.N versions, refs #3518
2014-12-08 17:04:59 +00:00
Jordi Boggiano
9438f3a58f
Use better semver ranges for 0.x versions, fixes #3518
2014-12-08 16:57:27 +00: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
95d49ce638
Add additional test for beta without dash separator support, fixes #3331
2014-10-06 12:42:19 +01:00
Jordi Boggiano
e6165e6495
Tweak rules to allow guessing based on branch aliases and avoid greedy constraints on alpha/beta/RC packages, refs #3096
2014-09-23 15:19:23 +01:00
Jordi Boggiano
cf75ec7763
Merge remote-tracking branch 'weaverryan/require-version-select'
2014-09-22 17:48:13 +01:00
François Pluchino
6c6a623229
Fix invalid version format
2014-09-22 11:58:26 +02:00
Ryan Weaver
895e62e859
Refactoring selection of the "recommended" version (e.g ~1.2) and adding some tests
...
This also modifies the behavior slightly (from a recommendation by seldaek) to always
propose the minor version of the recommendation (e.g. ~1.2 instead of ~1.2.1).
2014-09-12 11:26:51 -04:00
Ryan Weaver
aea2e901a9
Extracting logic into a new class related to selecting the latest version
...
Also refactored InitCommand slightly so that you can use this "latest version"
functionality when searching for a package as well.
2014-09-12 11:26:51 -04:00
Jordi Boggiano
ac497feaba
CS fixes
2014-06-10 16:13:12 +02:00
Jordi Boggiano
80499bb024
Detect ~> misuse and suggest fix, fixes #2476
2013-12-06 13:32:19 +01:00
Jordi Boggiano
f59f443fce
CS fixes and one more test for safety, fixes #1855
2013-08-12 02:22:32 +02:00
Sam Minnee
324ef0f9bb
Fixed upper bound of wildcard matches.
...
Follow-on from 95b4348afa
2013-05-20 19:10:04 +12:00
Sam Minnee
95b4348afa
Fixed lower bound of tilde and wildcard matches.
...
The lower bound of ~1.2 and 1.2.* style version requirements now uses >= 1.2.0.0-dev instead of
> 1.1.9999999.9999999. This is more straightforward to read, and behaves equivalently.
2013-05-20 19:03:21 +12:00
Sam Minnee
34a21516c8
Fix tilde constraints without a stability suffix to work like wildcard constraints.
...
With this fix, a tilde constraint such as ~3.1 won't match unstable versions of 3.1,
but a wildcard constraint such as 3.1.* would. This seems like a confusing
inconsistency, and so I have corrected it.
2013-05-13 11:04:15 +12:00
Jordi Boggiano
9d948eb795
Merge branch 'disjunctive'
2013-05-04 10:48:14 +02:00
Jordi Boggiano
0cccafbe81
Add disjunctive multi-constraints with |, refs #643 , fixes #1342
2013-04-27 15:20:35 +02:00
Jordi Boggiano
e16caa9bd7
Add EmptyConstraint
2013-04-27 14:32:22 +02:00
Jordi Boggiano
1f79f36227
Add a couple version parser tests
2013-04-04 17:35:55 +02:00
Christian Riesen
6f5ab3ed5c
Add other valid versions to test for stability
2013-02-25 16:51:01 +01:00
Jordi Boggiano
97dfbefa72
Add support for arbitrary values for the references in version constraints
2013-02-13 13:26:27 +01:00
Jordi Boggiano
908d2d91da
Fix case insensitive matching
2013-02-11 11:52:50 +01:00
Jordi Boggiano
cea4c05021
Fix parsing of ~ version constraint with unstable versions, fixes #1476
2013-01-13 16:36:40 +01:00
Jordi Boggiano
a59a5c4581
Merge remote-tracking branch 'simensen/sem-version-support'
2012-10-19 13:55:47 +02:00
Beau Simensen
081ead1635
Version Parsing: Consider <x.y.z to be <x.y.z-dev
...
> Consider `<x.y.z` to be `<x.y.z-dev.` Because in 99%
> of the cases that's what the intent is. Could be
> overriden with `<x.y.z-stable`.
- @Seldaek
refs #643
2012-10-08 10:44:37 -07:00
Beau Simensen
96a76eeffc
Semantic Version Parsing: ~version
...
Implemented `~` according to #643 and used the following versions
as a test case as defined by @Seldaek:
* "~1.2.3.4" = ">=1.2.3.4 <1.2.4.0-dev"
* "~1.2.3" = ">=1.2.3 <1.3.0-dev"
* "~1.2" = ">=1.2.0 <2.0.0-dev"
* "~1" = ">=1.0.0 <2.0.0-dev"
Refs #643
2012-10-06 07:49:11 -07:00
Jordi Boggiano
62bb5b339b
Allow parsing of stability modifiers combined with multi-constraints
2012-10-05 19:05:39 +02:00
Jordi Boggiano
0932f65a17
Return 7 chars and not 6 for short git hashes, formatting fixes
2012-09-04 16:27:22 +02:00
Jordi Boggiano
338730b19b
Merge remote-tracking branch 'zczapran/issue/1043_wrong_output_for_versions_when_updating'
2012-09-04 16:22:29 +02:00
Jordi Boggiano
e01a9c564d
Fix parsing of stability for lowercased RC versions
2012-09-04 15:59:44 +02:00
Zbigniew Czapran
730f206cea
removed unneccesary PackageMock and trailing whitespaces
2012-08-30 23:44:54 +01:00
Zbigniew Czapran
80c2736021
in VersionParser only truncate the version if hash
2012-08-30 22:01:21 +01:00
Jordi Boggiano
fe15c6a827
Make dev version matches preserve the proper case, fixes #935
2012-08-11 18:34:01 +02:00
Alexey Prilipko
75d3d57117
Version parser stability regexp update
2012-07-10 21:50:58 +11:00
Alexey Prilipko
e130386612
Add '<>' operator for Version Parser
2012-06-19 12:11:11 +11:00
Nils Adermann
41215a0e47
Require first version of a root package alias, rather than alias
...
This makes sure that the alias will always be installed, even if it isn't
technically needed.
2012-05-24 23:29:08 +02:00
Jordi Boggiano
c10eb66ac4
Ignore references when parsing dev versions
2012-05-17 04:07:15 +02:00
Jordi Boggiano
ef28f3b067
Basic handling of stability flags
2012-05-09 19:10:06 +02:00
Jordi Boggiano
70a3c68f73
Add package stability
2012-05-09 19:10:01 +02:00
Jordi Boggiano
595182aec0
Add/fix tests
2012-04-13 02:47:55 +02:00
Jordi Boggiano
8654c43c62
Fix version parser regression, fixes #550
2012-04-09 16:00:02 +02:00
Jordi Boggiano
f604ca5762
Allow .x in version constraints as alias for .*
2012-04-08 17:02:43 +02:00
Martin Hasoň
736ea800e3
Added isDev method to the VersionParser class
2012-03-03 19:49:24 +01:00
Jordi Boggiano
1213067d96
Add test
2012-02-22 09:40:15 +01:00
Jordi Boggiano
59d2b1145c
Add lock file alias support and a bunch of fixes
2012-02-21 16:44:49 +01:00
Jordi Boggiano
82054f2060
Add aliasing: `foo as bar` will require foo and automatically make it replace the bar version
2012-02-21 14:03:24 +01:00
Jordi Boggiano
ae7107fc22
Add more test requirements
2012-02-19 16:57:28 +01:00
Jordi Boggiano
882496b926
Adjust version parser tests
2012-02-19 16:57:27 +01:00
Jordi Boggiano
22858e81ef
Fix .* version constraints parsing to include nonstable versions
2011-11-23 16:41:27 +01:00
Jordi Boggiano
deb6ecd49b
Fix tests
2011-11-20 21:20:03 +01:00
Jordi Boggiano
e09f6900da
Fix up version parsing
2011-10-11 11:49:32 +02:00
Jordi Boggiano
19f89069a4
Add some more version normalization and support for branch names
2011-10-11 09:30:10 +02:00