/**
* Add vendor classes to Composer's static classmap.
*
* @param \Composer\Script\Event $event
* The event.
*/
public static function preAutoloadDump(Event
$event) { // Get the configured vendor directory.
$vendor_dir =
$event->
getComposer()->
getConfig()->
get('vendor-dir'
);
// We need the root package so we can add our classmaps to its loader.
$package =
$event->
getComposer()->
getPackage();
// We need the local repository so that we can query and see if it's likely
// that our files are present there.
$repository =
$event->
getComposer()->
getRepositoryManager()->
getLocalRepository();
// This is, essentially, a null constraint. We only care whether the package
// is present in the vendor directory yet, but findPackage() requires it.
$constraint =
new Constraint('>', ''
);
// It's possible that there is no classmap specified in a custom project
// composer.json file. We need one so we can optimize lookup for some of our
// dependencies.
$autoload =
$package->
getAutoload();
if (!
isset($autoload['classmap'
])) {