$pluginData['id'
] =
$plugin->
getId();
// Makes sure the version is updated in the db after a re-installation
$updateVersion =
$plugin->
getUpgradeVersion();
if ($updateVersion !== null &&
$this->
hasPluginUpdate($updateVersion,
$pluginVersion)) { $pluginData['version'
] =
$updateVersion;
$plugin->
setVersion($updateVersion);
$pluginData['upgradeVersion'
] = null;
$plugin->
setUpgradeVersion(null
);
$upgradeDate =
new \
DateTime();
$pluginData['upgradedAt'
] =
$upgradeDate->
format(Defaults::STORAGE_DATE_TIME_FORMAT
);
$plugin->
setUpgradedAt($upgradeDate);
} $this->eventDispatcher->
dispatch(new PluginPreInstallEvent($plugin,
$installContext));
$this->systemConfigService->
savePluginConfiguration($pluginBaseClass, true
);
$pluginBaseClass->
install($installContext);
$this->customEntityLifecycleService->
updatePlugin($plugin->
getId(),
$plugin->
getPath() ?? ''
);
$this->
runMigrations($installContext);