mirror of
https://github.com/composer/composer
synced 2025-05-10 09:02:59 +00:00
Add PackageRepository to define inline packages
Example: { "repositories": { "Monolog": { "package": { "source": { "url": "git://github.com/Seldaek/monolog.git", "type": "git", "reference": "1.0.1" }, "version": "1.0.1", "name": "monolog/monolog" } } } }
This commit is contained in:
parent
9b24734c9d
commit
aeab3c16fd
2 changed files with 57 additions and 0 deletions
56
src/Composer/Repository/PackageRepository.php
Normal file
56
src/Composer/Repository/PackageRepository.php
Normal file
|
@ -0,0 +1,56 @@
|
|||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of Composer.
|
||||
*
|
||||
* (c) Nils Adermann <naderman@naderman.de>
|
||||
* Jordi Boggiano <j.boggiano@seld.be>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Composer\Repository;
|
||||
|
||||
use Composer\Json\JsonFile;
|
||||
use Composer\Package\PackageInterface;
|
||||
use Composer\Package\Loader\ArrayLoader;
|
||||
use Composer\Package\Dumper\ArrayDumper;
|
||||
|
||||
/**
|
||||
* Package repository.
|
||||
*
|
||||
* @author Jordi Boggiano <j.boggiano@seld.be>
|
||||
*/
|
||||
class PackageRepository extends ArrayRepository
|
||||
{
|
||||
private $config;
|
||||
|
||||
/**
|
||||
* Initializes filesystem repository.
|
||||
*
|
||||
* @param array $config package definition
|
||||
*/
|
||||
public function __construct(array $config)
|
||||
{
|
||||
$this->config = $config;
|
||||
}
|
||||
|
||||
/**
|
||||
* Initializes repository (reads file, or remote address).
|
||||
*/
|
||||
protected function initialize()
|
||||
{
|
||||
parent::initialize();
|
||||
|
||||
if (!is_numeric(key($this->config))) {
|
||||
$this->config = array($this->config);
|
||||
}
|
||||
|
||||
foreach ($this->config as $package) {
|
||||
$loader = new ArrayLoader($this->repositoryManager);
|
||||
$package = $loader->load($package);
|
||||
$this->addPackage($package);
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue