[ Index ]

PHP Cross Reference of MediaWiki-1.24.0

title

Body

[close]

/includes/composer/ -> ComposerPackageModifier.php (source)

   1  <?php
   2  
   3  use Composer\Package\Link;
   4  use Composer\Package\LinkConstraint\VersionConstraint;
   5  use Composer\Package\Package;
   6  
   7  /**
   8   * @licence GNU GPL v2+
   9   * @author Jeroen De Dauw < [email protected] >
  10   */
  11  class ComposerPackageModifier {
  12  
  13      const MEDIAWIKI_PACKAGE_NAME = 'mediawiki/mediawiki';
  14  
  15      protected $package;
  16      protected $versionNormalizer;
  17      protected $versionFetcher;
  18  
  19  	public function __construct( Package $package,
  20          ComposerVersionNormalizer $versionNormalizer, MediaWikiVersionFetcher $versionFetcher
  21      ) {
  22          $this->package = $package;
  23          $this->versionNormalizer = $versionNormalizer;
  24          $this->versionFetcher = $versionFetcher;
  25      }
  26  
  27  	public function setProvidesMediaWiki() {
  28          $this->setLinkAsProvides( $this->newMediaWikiLink() );
  29      }
  30  
  31  	private function setLinkAsProvides( Link $link ) {
  32          $this->package->setProvides( array( $link ) );
  33      }
  34  
  35  	private function newMediaWikiLink() {
  36          $version = $this->getMediaWikiVersionConstraint();
  37  
  38          $link = new Link(
  39              '__root__',
  40              self::MEDIAWIKI_PACKAGE_NAME,
  41              $version,
  42              'provides',
  43              $version->getPrettyString()
  44          );
  45  
  46          return $link;
  47      }
  48  
  49  	private function getMediaWikiVersionConstraint() {
  50          $mvVersion = $this->versionFetcher->fetchVersion();
  51          $mvVersion = $this->versionNormalizer->normalizeSuffix( $mvVersion );
  52  
  53          $version = new VersionConstraint(
  54              '==',
  55              $this->versionNormalizer->normalizeLevelCount( $mvVersion )
  56          );
  57          $version->setPrettyString( $mvVersion );
  58  
  59          return $version;
  60      }
  61  
  62  }


Generated: Fri Nov 28 14:03:12 2014 Cross-referenced by PHPXref 0.7.1