if ($pluginBaseClass->
executeComposerCommands()) { $didRunComposerRequire =
$this->
executeComposerRequireWhenNeeded($plugin,
$pluginBaseClass,
$pluginVersion,
$shopwareContext);
} else { $this->requirementValidator->
validateRequirements($plugin,
$shopwareContext, 'install'
);
} try { $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));