class OxidInstaller
Hierarchy
- class \Composer\Installers\BaseInstaller
- class \Composer\Installers\OxidInstaller extends \Composer\Installers\BaseInstaller
Expanded class hierarchy of OxidInstaller
File
-
vendor/
composer/ installers/ src/ Composer/ Installers/ OxidInstaller.php, line 7
Namespace
Composer\InstallersView source
class OxidInstaller extends BaseInstaller {
const VENDOR_PATTERN = '/^modules\\/(?P<vendor>.+)\\/.+/';
/** @var array<string, string> */
protected $locations = array(
'module' => 'modules/{$name}/',
'theme' => 'application/views/{$name}/',
'out' => 'out/{$name}/',
);
public function getInstallPath(PackageInterface $package, string $frameworkType = '') : string {
$installPath = parent::getInstallPath($package, $frameworkType);
$type = $this->package
->getType();
if ($type === 'oxid-module') {
$this->prepareVendorDirectory($installPath);
}
return $installPath;
}
/**
* Makes sure there is a vendormetadata.php file inside
* the vendor folder if there is a vendor folder.
*/
protected function prepareVendorDirectory(string $installPath) : void {
$matches = '';
$hasVendorDirectory = preg_match(self::VENDOR_PATTERN, $installPath, $matches);
if (!$hasVendorDirectory) {
return;
}
$vendorDirectory = $matches['vendor'];
$vendorPath = getcwd() . '/modules/' . $vendorDirectory;
if (!file_exists($vendorPath)) {
mkdir($vendorPath, 0755, true);
}
$vendorMetaDataPath = $vendorPath . '/vendormetadata.php';
touch($vendorMetaDataPath);
}
}
Members
Title Sort descending | Modifiers | Object type | Summary | Overriden Title | Overrides |
---|---|---|---|---|---|
BaseInstaller::$composer | protected | property | @var Composer | ||
BaseInstaller::$io | protected | property | @var IOInterface | ||
BaseInstaller::$package | protected | property | @var PackageInterface | ||
BaseInstaller::getLocations | public | function | Gets the installer's locations | 2 | |
BaseInstaller::inflectPackageVars | public | function | For an installer to override to modify the vars per installer. | 35 | |
BaseInstaller::mapCustomInstallPaths | protected | function | Search through a passed paths array for a custom install path. | ||
BaseInstaller::pregReplace | protected | function | |||
BaseInstaller::templatePath | protected | function | Replace vars in a path | 1 | |
BaseInstaller::__construct | public | function | Initializes base installer. | ||
OxidInstaller::$locations | protected | property | @var array<string, string> | Overrides BaseInstaller::$locations | |
OxidInstaller::getInstallPath | public | function | Return the install path based on package type. | Overrides BaseInstaller::getInstallPath | |
OxidInstaller::prepareVendorDirectory | protected | function | Makes sure there is a vendormetadata.php file inside the vendor folder if there is a vendor folder. |
||
OxidInstaller::VENDOR_PATTERN | constant |