]> scripts.mit.edu Git - autoinstalls/mediawiki.git/blob - includes/composer/ComposerHookHandler.php
MediaWiki 1.30.2
[autoinstalls/mediawiki.git] / includes / composer / ComposerHookHandler.php
1 <?php
2
3 use Composer\Package\Package;
4 use Composer\Script\Event;
5
6 $GLOBALS['IP'] = __DIR__ . '/../../';
7 require_once __DIR__ . '/../AutoLoader.php';
8
9 /**
10  * @licence GNU GPL v2+
11  * @author Jeroen De Dauw < jeroendedauw@gmail.com >
12  */
13 class ComposerHookHandler {
14
15         public static function onPreUpdate( Event $event ) {
16                 self::handleChangeEvent( $event );
17         }
18
19         public static function onPreInstall( Event $event ) {
20                 self::handleChangeEvent( $event );
21         }
22
23         private static function handleChangeEvent( Event $event ) {
24                 $package = $event->getComposer()->getPackage();
25
26                 if ( $package instanceof Package ) {
27                         $packageModifier = new ComposerPackageModifier(
28                                 $package,
29                                 new ComposerVersionNormalizer(),
30                                 new MediaWikiVersionFetcher()
31                         );
32
33                         $packageModifier->setProvidesMediaWiki();
34                 }
35         }
36
37 }