Fix lock file generation with dev-master aliases to be compatible with Composer 1, fixes #9337
parent
44dc3c27aa
commit
ff74d0e686
|
@ -19,6 +19,7 @@ use Composer\Repository\RepositoryManager;
|
||||||
use Composer\Util\ProcessExecutor;
|
use Composer\Util\ProcessExecutor;
|
||||||
use Composer\Package\Dumper\ArrayDumper;
|
use Composer\Package\Dumper\ArrayDumper;
|
||||||
use Composer\Package\Loader\ArrayLoader;
|
use Composer\Package\Loader\ArrayLoader;
|
||||||
|
use Composer\Package\Version\VersionParser;
|
||||||
use Composer\Plugin\PluginInterface;
|
use Composer\Plugin\PluginInterface;
|
||||||
use Composer\Util\Git as GitUtil;
|
use Composer\Util\Git as GitUtil;
|
||||||
use Composer\IO\IOInterface;
|
use Composer\IO\IOInterface;
|
||||||
|
@ -309,6 +310,15 @@ class Locker
|
||||||
*/
|
*/
|
||||||
public function setLockData(array $packages, $devPackages, array $platformReqs, $platformDevReqs, array $aliases, $minimumStability, array $stabilityFlags, $preferStable, $preferLowest, array $platformOverrides, $write = true)
|
public function setLockData(array $packages, $devPackages, array $platformReqs, $platformDevReqs, array $aliases, $minimumStability, array $stabilityFlags, $preferStable, $preferLowest, array $platformOverrides, $write = true)
|
||||||
{
|
{
|
||||||
|
// keep old default branch names normalized to DEFAULT_BRANCH_ALIAS for BC as that is how Composer 1 outputs the lock file
|
||||||
|
// when loading the lock file the version is anyway ignored in Composer 2, so it has no adverse effect
|
||||||
|
$aliases = array_map(function ($alias) {
|
||||||
|
if (in_array($alias['version'], array('dev-master', 'dev-trunk', 'dev-default'), true)) {
|
||||||
|
$alias['version'] = VersionParser::DEFAULT_BRANCH_ALIAS;
|
||||||
|
}
|
||||||
|
return $alias;
|
||||||
|
}, $aliases);
|
||||||
|
|
||||||
$lock = array(
|
$lock = array(
|
||||||
'_readme' => array('This file locks the dependencies of your project to a known state',
|
'_readme' => array('This file locks the dependencies of your project to a known state',
|
||||||
'Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies',
|
'Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies',
|
||||||
|
@ -343,7 +353,6 @@ class Locker
|
||||||
if (!$isLocked || $lock !== $this->getLockData()) {
|
if (!$isLocked || $lock !== $this->getLockData()) {
|
||||||
if ($write) {
|
if ($write) {
|
||||||
$this->lockFile->write($lock);
|
$this->lockFile->write($lock);
|
||||||
// $this->lockDataCache = JsonFile::parseJson(JsonFile::encode($lock, 448 & JsonFile::JSON_PRETTY_PRINT));
|
|
||||||
$this->lockDataCache = null;
|
$this->lockDataCache = null;
|
||||||
$this->virtualFileWritten = false;
|
$this->virtualFileWritten = false;
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -45,7 +45,7 @@ update
|
||||||
"packages-dev": [],
|
"packages-dev": [],
|
||||||
"aliases": [{
|
"aliases": [{
|
||||||
"package": "a/aliased",
|
"package": "a/aliased",
|
||||||
"version": "dev-master",
|
"version": "9999999-dev",
|
||||||
"alias": "1.0.0",
|
"alias": "1.0.0",
|
||||||
"alias_normalized": "1.0.0.0"
|
"alias_normalized": "1.0.0.0"
|
||||||
}],
|
}],
|
||||||
|
|
|
@ -44,7 +44,7 @@ Verify that a partial update with deps correctly keeps track of all aliases.
|
||||||
{
|
{
|
||||||
"alias": "1.1.0",
|
"alias": "1.1.0",
|
||||||
"alias_normalized": "1.1.0.0",
|
"alias_normalized": "1.1.0.0",
|
||||||
"version": "dev-master",
|
"version": "9999999-dev",
|
||||||
"package": "current/dep"
|
"package": "current/dep"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
@ -70,13 +70,13 @@ update new/pkg --with-all-dependencies
|
||||||
{
|
{
|
||||||
"alias": "1.1.0",
|
"alias": "1.1.0",
|
||||||
"alias_normalized": "1.1.0.0",
|
"alias_normalized": "1.1.0.0",
|
||||||
"version": "dev-master",
|
"version": "9999999-dev",
|
||||||
"package": "current/dep"
|
"package": "current/dep"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"alias": "1.1.2",
|
"alias": "1.1.2",
|
||||||
"alias_normalized": "1.1.2.0",
|
"alias_normalized": "1.1.2.0",
|
||||||
"version": "dev-master",
|
"version": "9999999-dev",
|
||||||
"package": "current/dep2"
|
"package": "current/dep2"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|
Loading…
Reference in New Issue