public function preAutoloadDumpEvent(Script\Event $event) { if ($event->isPropagationStopped()) { return; } $references = array(); // find current package reference $localPackageReference = $this->determineLocalPackageReference(); if ($localPackageReference !== null) { $references[$event->getComposer()->getPackage()->getName()] = $localPackageReference; } // enumerate local repository packages foreach ($event->getComposer()->getRepositoryManager()->getLocalRepository()->getCanonicalPackages() as $package) { if ($package->getSourceReference() !== null) { $references[$package->getName()] = $package->getSourceReference(); } else { if ($package->getDistReference() !== null) { $references[$package->getName()] = $package->getDistReference(); } } } $destination = $event->getComposer()->getConfig()->get('vendor-dir') . DIRECTORY_SEPARATOR . 'mcuelenaere' . DIRECTORY_SEPARATOR . 'composer-revision-plugin' . DIRECTORY_SEPARATOR . 'gen' . DIRECTORY_SEPARATOR . 'revisions.php'; $classGenerator = new ReferenceClassGenerator($event->getComposer()->getConfig()); $classGenerator->generate($destination, $references); }