1
0
Fork 0

Merge branch '1.1'

pull/5360/head
Jordi Boggiano 2016-05-17 12:06:36 +01:00
commit 57ae6d97b6
4 changed files with 16 additions and 1 deletions

View File

@ -97,6 +97,7 @@ EOT
} }
// Update packages // Update packages
$this->resetComposer();
$composer = $this->getComposer(true, $input->getOption('no-plugins')); $composer = $this->getComposer(true, $input->getOption('no-plugins'));
$composer->getDownloadManager()->setOutputProgress(!$input->getOption('no-progress')); $composer->getDownloadManager()->setOutputProgress(!$input->getOption('no-progress'));

View File

@ -189,7 +189,7 @@ class Application extends BaseApplication
} }
// Check system temp folder for usability as it can cause weird runtime issues otherwise // Check system temp folder for usability as it can cause weird runtime issues otherwise
Silencer::call(function() { Silencer::call(function () use ($io) {
$tempfile = sys_get_temp_dir() . '/temp-' . md5(microtime()); $tempfile = sys_get_temp_dir() . '/temp-' . md5(microtime());
if (!(file_put_contents($tempfile, __FILE__) && (file_get_contents($tempfile) == __FILE__) && unlink($tempfile) && !file_exists($tempfile))) { if (!(file_put_contents($tempfile, __FILE__) && (file_get_contents($tempfile) == __FILE__) && unlink($tempfile) && !file_exists($tempfile))) {
$io->writeError(sprintf('<error>PHP temp directory (%s) does not exist or is not writable to Composer. Set sys_temp_dir in your php.ini</error>', sys_get_temp_dir())); $io->writeError(sprintf('<error>PHP temp directory (%s) does not exist or is not writable to Composer. Set sys_temp_dir in your php.ini</error>', sys_get_temp_dir()));

View File

@ -151,6 +151,7 @@ class ValidatingArrayLoader implements LoaderInterface
} }
$unboundConstraint = new Constraint('=', $this->versionParser->normalize('dev-master')); $unboundConstraint = new Constraint('=', $this->versionParser->normalize('dev-master'));
$stableConstraint = new Constraint('=', '1.0.0');
foreach (array_keys(BasePackage::$supportedLinkTypes) as $linkType) { foreach (array_keys(BasePackage::$supportedLinkTypes) as $linkType) {
if ($this->validateArray($linkType) && isset($this->config[$linkType])) { if ($this->validateArray($linkType) && isset($this->config[$linkType])) {
@ -183,6 +184,7 @@ class ValidatingArrayLoader implements LoaderInterface
($this->flags & self::CHECK_STRICT_CONSTRAINTS) ($this->flags & self::CHECK_STRICT_CONSTRAINTS)
&& 'require' === $linkType && 'require' === $linkType
&& substr($linkConstraint, 0, 1) === '=' && substr($linkConstraint, 0, 1) === '='
&& $stableConstraint->versionCompare($stableConstraint, $linkConstraint, '<=')
) { ) {
$this->warnings[] = $linkType.'.'.$package.' : exact version constraints ('.$constraint.') should be avoided if the package follows semantic versioning'; $this->warnings[] = $linkType.'.'.$package.' : exact version constraints ('.$constraint.') should be avoided if the package follows semantic versioning';
} }

View File

@ -327,6 +327,18 @@ class ValidatingArrayLoaderTest extends \PHPUnit_Framework_TestCase
), ),
false, false,
), ),
array(
array(
'name' => 'foo/bar',
'require' => array(
'bar/unstable' => '0.3.0',
),
),
array(
// using an exact version constraint for an unstable version should not trigger a warning
),
false,
),
array( array(
array( array(
'name' => 'foo/bar', 'name' => 'foo/bar',