Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
project
drupal
Commits
b834fcda
Commit
b834fcda
authored
Oct 06, 2015
by
alexpott
Browse files
Issue
#2575469
by hussainweb, borisson_: Require the composer/semver library to do version checking
parent
d4e25f52
Changes
16
Hide whitespace changes
Inline
Side-by-side
composer.lock
View file @
b834fcda
...
...
@@ -102,6 +102,67 @@
],
"time": "2015-02-18 17:17:01"
},
{
"name": "composer/semver",
"version": "1.0.0",
"source": {
"type": "git",
"url": "https://github.com/composer/semver.git",
"reference": "d0e1ccc6d44ab318b758d709e19176037da6b1ba"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/composer/semver/zipball/d0e1ccc6d44ab318b758d709e19176037da6b1ba",
"reference": "d0e1ccc6d44ab318b758d709e19176037da6b1ba",
"shasum": ""
},
"require": {
"php": ">=5.3.2"
},
"require-dev": {
"phpunit/phpunit": "~4.5",
"phpunit/phpunit-mock-objects": "~2.3"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "0.1-dev"
}
},
"autoload": {
"psr-4": {
"Composer\\Semver\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Rob Bast",
"email": "rob.bast@gmail.com"
},
{
"name": "Nils Adermann",
"email": "naderman@naderman.de",
"homepage": "http://www.naderman.de"
},
{
"name": "Jordi Boggiano",
"email": "j.boggiano@seld.be",
"homepage": "http://seld.be"
}
],
"description": "Semver library that offers utilities, version constraint parsing and validation.",
"keywords": [
"semantic",
"semver",
"validation",
"versioning"
],
"time": "2015-09-21 09:42:36"
},
{
"name": "doctrine/annotations",
"version": "v1.2.7",
...
...
@@ -3550,6 +3611,7 @@
"masterminds/html5": 0,
"symfony/psr-http-message-bridge": 0,
"zendframework/zend-diactoros": 0,
"composer/semver": 0,
"behat/mink": 0,
"behat/mink-goutte-driver": 0,
"mikey179/vfsstream": 0,
...
...
core/composer.json
View file @
b834fcda
...
...
@@ -28,7 +28,8 @@
"egulias/email-validator"
:
"1.2.*"
,
"masterminds/html5"
:
"~2.1"
,
"symfony/psr-http-message-bridge"
:
"v0.2"
,
"zendframework/zend-diactoros"
:
"~1.1"
"zendframework/zend-diactoros"
:
"~1.1"
,
"composer/semver"
:
"~1.0"
},
"require-dev"
:
{
"behat/mink"
:
"~1.6"
,
...
...
vendor/composer/autoload_psr4.php
View file @
b834fcda
...
...
@@ -40,6 +40,7 @@
'Drupal\\Core\\'
=>
array
(
$baseDir
.
'/core/lib/Drupal/Core'
),
'Drupal\\Component\\'
=>
array
(
$baseDir
.
'/core/lib/Drupal/Component'
),
'Doctrine\\Instantiator\\'
=>
array
(
$vendorDir
.
'/doctrine/instantiator/src/Doctrine/Instantiator'
),
'Composer\\Semver\\'
=>
array
(
$vendorDir
.
'/composer/semver/src'
),
'Behat\\Mink\\Driver\\'
=>
array
(
$vendorDir
.
'/behat/mink-browserkit-driver/src'
,
$vendorDir
.
'/behat/mink-goutte-driver/src'
),
'Behat\\Mink\\'
=>
array
(
$vendorDir
.
'/behat/mink/src'
),
);
vendor/composer/installed.json
View file @
b834fcda
...
...
@@ -3634,5 +3634,68 @@
],
"description"
:
"Symfony BrowserKit Component"
,
"homepage"
:
"https://symfony.com"
},
{
"name"
:
"composer/semver"
,
"version"
:
"1.0.0"
,
"version_normalized"
:
"1.0.0.0"
,
"source"
:
{
"type"
:
"git"
,
"url"
:
"https://github.com/composer/semver.git"
,
"reference"
:
"d0e1ccc6d44ab318b758d709e19176037da6b1ba"
},
"dist"
:
{
"type"
:
"zip"
,
"url"
:
"https://api.github.com/repos/composer/semver/zipball/d0e1ccc6d44ab318b758d709e19176037da6b1ba"
,
"reference"
:
"d0e1ccc6d44ab318b758d709e19176037da6b1ba"
,
"shasum"
:
""
},
"require"
:
{
"php"
:
">=5.3.2"
},
"require-dev"
:
{
"phpunit/phpunit"
:
"~4.5"
,
"phpunit/phpunit-mock-objects"
:
"~2.3"
},
"time"
:
"2015-09-21 09:42:36"
,
"type"
:
"library"
,
"extra"
:
{
"branch-alias"
:
{
"dev-master"
:
"0.1-dev"
}
},
"installation-source"
:
"dist"
,
"autoload"
:
{
"psr-4"
:
{
"Composer\\Semver\\"
:
"src"
}
},
"notification-url"
:
"https://packagist.org/downloads/"
,
"license"
:
[
"MIT"
],
"authors"
:
[
{
"name"
:
"Rob Bast"
,
"email"
:
"rob.bast@gmail.com"
},
{
"name"
:
"Nils Adermann"
,
"email"
:
"naderman@naderman.de"
,
"homepage"
:
"http://www.naderman.de"
},
{
"name"
:
"Jordi Boggiano"
,
"email"
:
"j.boggiano@seld.be"
,
"homepage"
:
"http://seld.be"
}
],
"description"
:
"Semver library that offers utilities, version constraint parsing and validation."
,
"keywords"
:
[
"semantic"
,
"semver"
,
"validation"
,
"versioning"
]
}
]
vendor/composer/semver/CHANGELOG.md
0 → 100644
View file @
b834fcda
# Change Log
All notable changes to this project will be documented in this file.
This project adheres to
[
Semantic Versioning
](
http://semver.org/
)
.
### [1.0.0] 2015-09-21
*
Break:
`VersionConstraint`
renamed to
`Constraint`
.
*
Break:
`SpecificConstraint`
renamed to
`AbstractConstraint`
.
*
Break:
`LinkConstraintInterface`
renamed to
`ConstraintInterface`
.
*
Break:
`VersionParser::parseNameVersionPairs`
was removed.
*
Changed:
`VersionParser::parseConstraints`
allows (but ignores) build metadata now.
*
Changed:
`VersionParser::parseConstraints`
allows (but ignores) prefixing numeric versions with a 'v' now.
*
Changed: Fixed namespace(s) of test files.
*
Changed:
`Comparator::compare`
no longer throws
`InvalidArgumentException`
.
*
Changed:
`VersionConstraint`
now throws
`InvalidArgumentException`
.
### [0.1.0] 2015-07-23
*
Added:
`Composer\Semver\Comparator`
, various methods to compare versions.
*
Added: various documents such as README.md, LICENSE, etc.
*
Added: configuration files for Git, Travis, php-cs-fixer, phpunit.
*
Break: the following namespaces were renamed:
-
Namespace:
`Composer\Package\Version`
->
`Composer\Semver`
-
Namespace:
`Composer\Package\LinkConstraint`
->
`Composer\Semver\Constraint`
-
Namespace:
`Composer\Test\Package\Version`
->
`Composer\Test\Semver`
-
Namespace:
`Composer\Test\Package\LinkConstraint`
->
`Composer\Test\Semver\Constraint`
*
Changed: code style using php-cs-fixer.
vendor/composer/semver/LICENSE
0 → 100644
View file @
b834fcda
Copyright (C) 2015 Composer
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
of the Software, and to permit persons to whom the Software is furnished to do
so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
vendor/composer/semver/README.md
0 → 100644
View file @
b834fcda
composer/semver
===============
Semver library that offers utilities, version constraint parsing and validation.
Originally written as part of
[
composer/composer
](
https://github.com/composer/composer
)
,
now extracted and made available as a stand-alone library.
[

](https://travis-ci.org/composer/semver)
Installation
------------
Install the latest version with:
```
bash
$
composer require composer/semver
```
Requirements
------------
*
PHP 5.3.2 is required but using the latest version of PHP is highly recommended.
Version Comparison
------------------
For details on how versions are compared, refer to the
[
Versions
](
https://getcomposer.org/doc/articles/versions.md
)
article in the documentation section of the
[
getcomposer.org
](
https://getcomposer.org
)
website.
Basic usage
-----------
### Comparator
The
`Composer\Semver\Comparator`
class provides the following methods for comparing versions:
*
greaterThan($v1, $v2)
*
greaterThanOrEqualTo($v1, $v2)
*
lessThan($v1, $v2)
*
lessThanOrEqualTo($v1, $v2)
*
equalTo($v1, $v2)
*
notEqualTo($v1, $v2)
Each function takes two version strings as arguments. For example:
```
php
use
Composer\Semver\Comparator
;
Comparator
::
greaterThan
(
'1.25.0'
,
'1.24.0'
);
// 1.25.0 > 1.24.0
```
### Semver
The
`Composer\Semver\Semver`
class providers the following methods:
*
satisfies($version, $constraints)
*
satisfiedBy($constraint, array $versions)
*
sort($versions)
*
rsort($versions)
License
-------
composer/semver is licensed under the MIT License, see the LICENSE file for details.
vendor/composer/semver/composer.json
0 → 100644
View file @
b834fcda
{
"name"
:
"composer/semver"
,
"description"
:
"Semver library that offers utilities, version constraint parsing and validation."
,
"type"
:
"library"
,
"license"
:
"MIT"
,
"keywords"
:
[
"semver"
,
"semantic"
,
"versioning"
,
"validation"
],
"authors"
:
[
{
"name"
:
"Nils Adermann"
,
"email"
:
"naderman@naderman.de"
,
"homepage"
:
"http://www.naderman.de"
},
{
"name"
:
"Jordi Boggiano"
,
"email"
:
"j.boggiano@seld.be"
,
"homepage"
:
"http://seld.be"
},
{
"name"
:
"Rob Bast"
,
"email"
:
"rob.bast@gmail.com"
}
],
"support"
:
{
"irc"
:
"irc://irc.freenode.org/composer"
,
"issues"
:
"https://github.com/composer/semver/issues"
},
"require"
:
{
"php"
:
">=5.3.2"
},
"require-dev"
:
{
"phpunit/phpunit"
:
"~4.5"
,
"phpunit/phpunit-mock-objects"
:
"~2.3"
},
"autoload"
:
{
"psr-4"
:
{
"Composer\\Semver\\"
:
"src"
}
},
"autoload-dev"
:
{
"psr-4"
:
{
"Composer\\Semver\\Test\\"
:
"tests"
}
},
"extra"
:
{
"branch-alias"
:
{
"dev-master"
:
"0.1-dev"
}
},
"scripts"
:
{
"test"
:
"phpunit"
}
}
vendor/composer/semver/src/Comparator.php
0 → 100644
View file @
b834fcda
<?php
/*
* This file is part of composer/semver.
*
* (c) Composer <https://github.com/composer>
*
* For the full copyright and license information, please view
* the LICENSE file that was distributed with this source code.
*/
namespace
Composer\Semver
;
use
Composer\Semver\Constraint\Constraint
;
class
Comparator
{
/**
* Evaluates the expression: $version1 > $version2.
*
* @param string $version1
* @param string $version2
*
* @return bool
*/
public
static
function
greaterThan
(
$version1
,
$version2
)
{
return
self
::
compare
(
$version1
,
'>'
,
$version2
);
}
/**
* Evaluates the expression: $version1 >= $version2.
*
* @param string $version1
* @param string $version2
*
* @return bool
*/
public
static
function
greaterThanOrEqualTo
(
$version1
,
$version2
)
{
return
self
::
compare
(
$version1
,
'>='
,
$version2
);
}
/**
* Evaluates the expression: $version1 < $version2.
*
* @param string $version1
* @param string $version2
*
* @return bool
*/
public
static
function
lessThan
(
$version1
,
$version2
)
{
return
self
::
compare
(
$version1
,
'<'
,
$version2
);
}
/**
* Evaluates the expression: $version1 <= $version2.
*
* @param string $version1
* @param string $version2
*
* @return bool
*/
public
static
function
lessThanOrEqualTo
(
$version1
,
$version2
)
{
return
self
::
compare
(
$version1
,
'<='
,
$version2
);
}
/**
* Evaluates the expression: $version1 == $version2.
*
* @param string $version1
* @param string $version2
*
* @return bool
*/
public
static
function
equalTo
(
$version1
,
$version2
)
{
return
self
::
compare
(
$version1
,
'=='
,
$version2
);
}
/**
* Evaluates the expression: $version1 != $version2.
*
* @param string $version1
* @param string $version2
*
* @return bool
*/
public
static
function
notEqualTo
(
$version1
,
$version2
)
{
return
self
::
compare
(
$version1
,
'!='
,
$version2
);
}
/**
* Evaluates the expression: $version1 $operator $version2.
*
* @param string $version1
* @param string $operator
* @param string $version2
*
* @return bool
*/
public
static
function
compare
(
$version1
,
$operator
,
$version2
)
{
$constraint
=
new
Constraint
(
$operator
,
$version2
);
return
$constraint
->
matches
(
new
Constraint
(
'=='
,
$version1
));
}
}
vendor/composer/semver/src/Constraint/AbstractConstraint.php
0 → 100644
View file @
b834fcda
<?php
/*
* This file is part of composer/semver.
*
* (c) Composer <https://github.com/composer>
*
* For the full copyright and license information, please view
* the LICENSE file that was distributed with this source code.
*/
namespace
Composer\Semver\Constraint
;
/**
* Base constraint class.
*/
abstract
class
AbstractConstraint
implements
ConstraintInterface
{
/** @var string */
protected
$prettyString
;
/**
* @param ConstraintInterface $provider
*
* @return bool
*/
public
function
matches
(
ConstraintInterface
$provider
)
{
if
(
$provider
instanceof
MultiConstraint
)
{
// turn matching around to find a match
return
$provider
->
matches
(
$this
);
}
if
(
$provider
instanceof
$this
)
{
// see note at bottom of this class declaration
return
$this
->
matchSpecific
(
$provider
);
}
return
true
;
}
/**
* @param string $prettyString
*/
public
function
setPrettyString
(
$prettyString
)
{
$this
->
prettyString
=
$prettyString
;
}
/**
* @return string
*/
public
function
getPrettyString
()
{
if
(
$this
->
prettyString
)
{
return
$this
->
prettyString
;
}
return
$this
->
__toString
();
}
// implementations must implement a method of this format:
// not declared abstract here because type hinting violates parameter coherence (TODO right word?)
// public function matchSpecific(<SpecificConstraintType> $provider);
}
vendor/composer/semver/src/Constraint/Constraint.php
0 → 100644
View file @
b834fcda
<?php
/*
* This file is part of composer/semver.
*
* (c) Composer <https://github.com/composer>
*
* For the full copyright and license information, please view
* the LICENSE file that was distributed with this source code.
*/
namespace
Composer\Semver\Constraint
;
/**
* Defines a constraint.
*/
class
Constraint
extends
AbstractConstraint
{
/* operator integer values */
const
OP_EQ
=
0
;
const
OP_LT
=
1
;
const
OP_LE
=
2
;
const
OP_GT
=
3
;
const
OP_GE
=
4
;
const
OP_NE
=
5
;
/**
* Operator to integer translation table.
*
* @var array
*/
private
static
$transOpStr
=
array
(
'='
=>
self
::
OP_EQ
,
'=='
=>
self
::
OP_EQ
,
'<'
=>
self
::
OP_LT
,
'<='
=>
self
::
OP_LE
,
'>'
=>
self
::
OP_GT
,
'>='
=>
self
::
OP_GE
,
'<>'
=>
self
::
OP_NE
,
'!='
=>
self
::
OP_NE
,
);
/**
* Integer to operator translation table.
*
* @var array
*/
private
static
$transOpInt
=
array
(
self
::
OP_EQ
=>
'=='
,
self
::
OP_LT
=>
'<'
,
self
::
OP_LE
=>
'<='
,
self
::
OP_GT
=>
'>'
,
self
::
OP_GE
=>
'>='
,
self
::
OP_NE
=>
'!='
,
);
/** @var string */
private
$operator
;
/** @var string */
private
$version
;
/**
* Get all supported comparison operators.
*
* @return array
*/
public
static
function
getSupportedOperators
()
{
return
array_keys
(
self
::
$transOpStr
);
}
/**
* Sets operator and version to compare with.
*
* @param string $operator
* @param string $version
*
* @throws \InvalidArgumentException if invalid operator is given.
*/
public
function
__construct
(
$operator
,
$version
)
{
if
(
!
isset
(
self
::
$transOpStr
[
$operator
]))
{
throw
new
\
InvalidArgumentException
(
sprintf
(
'Invalid operator "%s" given, expected one of: %s'
,
$operator
,
implode
(
', '
,
self
::
getSupportedOperators
())
));
}
$this
->
operator
=
self
::
$transOpStr
[
$operator
];
$this
->
version
=
$version
;
}
/**
* @param string $a
* @param string $b
* @param string $operator
* @param bool $compareBranches