1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
<?php
namespace ICanBoogie\Autoconfig;
use Composer\Script\Event;
class Hooks
{
static public function on_autoload_dump(Event $event)
{
$composer = $event->getComposer();
$package = $composer->getPackage();
$generator = $composer->getAutoloadGenerator();
$packages = $composer->getRepositoryManager()->getLocalRepository()->getCanonicalPackages();
$packageMap = $generator->buildPackageMap($composer->getInstallationManager(), $package, $packages);
$sorted = FakeAutoloadGenerator::sort_package_map($generator, $packageMap);
$vendor_dir = $composer->getConfig()->get('vendor-dir');
$destination = realpath($vendor_dir) . "/icanboogie/autoconfig.php";
$config = new Config($sorted, $destination);
$config();
}
static public function filter_autoconfig(array &$autoconfig)
{
foreach ($autoconfig['app-paths'] as $directory)
{
if (file_exists($directory . 'config'))
{
$autoconfig['config-path'][$directory . 'config'] = 20;
}
}
}
}