MediaWiki  master
ComposerPackageModifier.php
Go to the documentation of this file.
1 <?php
2 
6 
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,
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( [ $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 Constraint(
54  '==',
55  $this->versionNormalizer->normalizeLevelCount( $mvVersion )
56  );
57  $version->setPrettyString( $mvVersion );
58 
59  return $version;
60  }
61 
62 }
Provides access to MediaWiki&#39;s version without requiring MediaWiki (or anything else) being loaded fi...
__construct(Package $package, ComposerVersionNormalizer $versionNormalizer, MediaWikiVersionFetcher $versionFetcher)