/** * {@inheritdoc} */ public static function create(RepositoryManager $rm, VcsPackageFilter $filter, array $extra) { foreach (Assets::getDefaultRegistries() as $assetType => $registryClass) { $config = AssetPlugin::createRepositoryConfig($rm, $filter, $extra, $assetType); $rm->setRepositoryClass($assetType, $registryClass); $rm->addRepository($rm->createRepository($assetType, $config)); } }
/** * {@inheritdoc} */ public static function create(RepositoryManager $rm, VcsPackageFilter $filter, array $extra) { if (!array_key_exists('asset-private-bower-registries', $extra) || !is_array($extra['asset-private-bower-registries'])) { return; } $registries = $extra['asset-private-bower-registries']; foreach ($registries as $registryName => $registryUrl) { $config = AssetPlugin::createRepositoryConfig($rm, $filter, $extra, $registryName); $config['private-registry-url'] = $registryUrl; $rm->setRepositoryClass($registryName, 'Fxp\\Composer\\AssetPlugin\\Repository\\BowerPrivateRepository'); $rm->addRepository($rm->createRepository($registryName, $config)); } }
/** * {@inheritDoc} */ public function activate(Composer $composer, IOInterface $io) { /* @var InstalledFilesystemRepository $installedRepository */ $installedRepository = $composer->getRepositoryManager()->getLocalRepository(); $this->composer = $composer; $this->io = $io; $this->packageFilter = new VcsPackageFilter($composer->getPackage(), $composer->getInstallationManager(), $installedRepository); $extra = $composer->getPackage()->getExtra(); $rm = $composer->getRepositoryManager(); AssetPlugin::addRegistryRepositories($rm, $this->packageFilter, $extra); AssetPlugin::setVcsTypeRepositories($rm); if (isset($extra['asset-repositories']) && is_array($extra['asset-repositories'])) { $this->addRepositories($rm, $extra['asset-repositories']); } AssetPlugin::addInstallers($composer, $io); }
/** * @dataProvider getAssetMainFiles */ public function testMainFiles(array $mainFiles) { /* @var RootPackageInterface $rootPackage */ $rootPackage = $this->createRootPackageMock($mainFiles); $this->composer->setPackage($rootPackage); $package = new Package('foo-asset/bar', '1.0.0', '1.0.0'); $package = AssetPlugin::addMainFiles($this->composer, $package); $extra = $package->getExtra(); if (isset($mainFiles['asset-main-files'])) { $this->assertEquals($extra['bower-asset-main'], $mainFiles['asset-main-files']['foo-asset/bar']); } else { $this->assertEquals($extra, array()); } }
/** * {@inheritdoc} */ protected function updateCode(PackageInterface $initial, PackageInterface $target) { $target = AssetPlugin::addMainFiles($this->composer, $target); parent::updateCode($initial, $target); $this->deleteIgnoredFiles($target); }