本文整理匯總了PHP中Composer\Repository\InstalledRepositoryInterface::addPackage方法的典型用法代碼示例。如果您正苦於以下問題:PHP InstalledRepositoryInterface::addPackage方法的具體用法?PHP InstalledRepositoryInterface::addPackage怎麽用?PHP InstalledRepositoryInterface::addPackage使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Composer\Repository\InstalledRepositoryInterface
的用法示例。
在下文中一共展示了InstalledRepositoryInterface::addPackage方法的9個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: install
/**
* {@inheritDoc}
*/
public function install(InstalledRepositoryInterface $repo, PackageInterface $package)
{
$this->installCode($package);
if (!$repo->hasPackage($package)) {
$repo->addPackage(clone $package);
}
}
示例2: install
public function install(InstalledRepositoryInterface $repo, PackageInterface $package)
{
$this->initializeVendorDir();
$downloadPath = $this->getInstallPath($package);
// remove the binaries if it appears the package files are missing
if (!is_readable($downloadPath) && $repo->hasPackage($package)) {
$this->binaryInstaller->removeBinaries($package);
}
// Save .modman folder temporally to recover it after the source code is installed.
if ($package->getType() === MagentoInstaller::MAGENTO_SOURCE && is_dir($downloadPath . '/.modman')) {
$this->filesystem->copyThenRemove($downloadPath . '/.modman', $this->tmpModmanBackup);
}
$this->installCode($package);
$this->binaryInstaller->installBinaries($package, $this->vendorDir);
if (!$repo->hasPackage($package)) {
$repo->addPackage(clone $package);
}
if ($package->getType() === MagentoInstaller::MAGENTO_SOURCE) {
// remove git
$this->filesystem->removeDirectory($downloadPath . '/.git');
// Recover modman temporal backup after the magento source installation
if (is_dir($this->tmpModmanBackup)) {
$this->filesystem->copyThenRemove($this->tmpModmanBackup, $downloadPath . '/.modman');
}
// copy .modman directory from backup dir when exist
if (is_dir($this->backupPath . '/.modman')) {
$this->filesystem->copyThenRemove($this->backupPath . '/.modman', $downloadPath . '/.modman');
}
}
}
示例3: update
public function update(InstalledRepositoryInterface $repo, PackageInterface $initial, PackageInterface $target)
{
if (!$repo->hasPackage($initial)) {
throw new \InvalidArgumentException('Package is not installed: ' . $initial);
}
$repo->removePackage($initial);
$repo->addPackage(clone $target);
}
示例4: install
/**
* {@inheritDoc}
*/
public function install(InstalledRepositoryInterface $repo, PackageInterface $package)
{
$this->installCode($package);
if (!$repo->hasPackage($package)) {
$repo->addPackage(clone $package);
}
$this->filesystem->ensureDirectoryExists('data');
$this->filesystem->ensureDirectoryExists('local_data');
}
示例5: update
public function update(InstalledRepositoryInterface $repo, PackageInterface $initial, PackageInterface $target)
{
if (!$repo->hasPackage($initial)) {
throw new \InvalidArgumentException('Package is not installed: ' . $initial);
}
$this->initializeVendorDir();
$this->removeBinaries($initial);
$this->updateCode($initial, $target);
$this->installBinaries($target);
$repo->removePackage($initial);
if (!$repo->hasPackage($target)) {
$repo->addPackage(clone $target);
}
}
示例6: install
/**
* {@inheritDoc}
*/
public function install(InstalledRepositoryInterface $repo, PackageInterface $package)
{
// Debug
$this->debug = $this->isDebug($package);
// Composer stuff
$this->initializeVendorDir();
$downloadPath = $this->getInstallPath($package);
if (!is_readable($downloadPath) && $repo->hasPackage($package)) {
$this->removeBinaries($package);
}
if (!$repo->hasPackage($package)) {
$repo->addPackage(clone $package);
}
$this->downloadAndExtractFile($package);
}
開發者ID:azt3k,項目名稱:non-destructive-archive-installer,代碼行數:18,代碼來源:NonDestructiveArchiveInstallerInstaller.php
示例7: updateCode
public function updateCode(InstalledRepositoryInterface $repo, PackageInterface $initial, PackageInterface $target)
{
if (!$repo->hasPackage($initial)) {
throw new \InvalidArgumentException('Package is not installed: ' . $initial);
}
if ($initial->getInstallationSource() == 'source' && $initial->getSourceType() == 'git' && $target->getSourceType() == 'git') {
$this->downloadManager->update($initial, $target, $this->getInstallPath($target));
} else {
$this->installCode($target);
}
$repo->removePackage($initial);
if (!$repo->hasPackage($target)) {
$repo->addPackage(clone $target);
}
}
示例8: update
/**
* Updates a package
*
* @param \Composer\Repository\InstalledRepositoryInterface $repo
* @param \Composer\Package\PackageInterface $initial
* @param \Composer\Package\PackageInterface $target
* @throws \InvalidArgumentException
*/
public function update(InstalledRepositoryInterface $repo, PackageInterface $initial, PackageInterface $target)
{
if (!$repo->hasPackage($initial)) {
throw new CoreInstaller\PackageNotInstalledException($initial);
}
$this->getDriver()->update($initial, $target);
$repo->removePackage($initial);
if (!$repo->hasPackage($target)) {
$repo->addPackage(clone $target);
}
}
示例9: update
/**
* Updates specific package.
*
* @param \Composer\Repository\InstalledRepositoryInterface $repo repository in which to check
* @param \Composer\Package\PackageInterface $initial already installed package version
* @param \Composer\Package\PackageInterface $target updated version
*/
public function update(\Composer\Repository\InstalledRepositoryInterface $repo, \Composer\Package\PackageInterface $initial, \Composer\Package\PackageInterface $target)
{
$this->getTypo3OrgService->addDistToPackage($initial);
$this->getTypo3OrgService->addDistToPackage($target);
if ($this->filesystem->someFilesExist($this->symlinks)) {
$this->filesystem->removeSymlinks($this->symlinks);
}
$this->updateCode($initial, $target);
$this->filesystem->establishSymlinks($this->symlinks);
$repo->removePackage($initial);
if (!$repo->hasPackage($target)) {
$repo->addPackage(clone $target);
}
}