/**
* {@inheritdoc}
*/
public function execute()
{
if (!$this->mapping->isLoaded()) {
return;
}
$this->containingModule = $this->mapping->getContainingModule();
// Remember the conflicts that will be adjusted during unload()
foreach ($this->mapping->getConflicts() as $conflict) {
$this->conflicts[$conflict->getRepositoryPath()] = $conflict;
$this->conflictingMappings[$conflict->getRepositoryPath()] = $conflict->getMappings();
}
$moduleName = $this->containingModule->getName();
$this->mappings->remove($this->mapping->getRepositoryPath(), $moduleName);
foreach ($this->mapping->listRepositoryPaths() as $repositoryPath) {
$this->mappingsByResource->remove($repositoryPath, $moduleName);
$this->conflictDetector->release($repositoryPath, $moduleName);
}
// Unload after iterating, otherwise the paths are gone
$this->mapping->unload();
}