Skip to content

Commit e6adde8

Browse files
authored
Modernize for MediaWiki 1.43+ baseline (#82)
* Drop EOL MW versions from CI matrix * Bump MW requirement to 1.43 and use composer phpunit on master * Fetch phpunit.xml.template before running composer phpunit on master * Use namespaced Title class for MW master compatibility * Migrate to namespaced MediaWiki classes for 1.43+ * Fix runOutputPipeline args and revert WikiPage namespace (not in REL1_43) * Use getContentHolderText (works on REL1_43 and master)
1 parent e0f178f commit e6adde8

14 files changed

Lines changed: 41 additions & 42 deletions

.github/workflows/ci.yml

Lines changed: 9 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -13,18 +13,6 @@ jobs:
1313
fail-fast: false
1414
matrix:
1515
include:
16-
- mw: 'REL1_39'
17-
php: 8.1
18-
experimental: false
19-
- mw: 'REL1_40'
20-
php: 8.1
21-
experimental: false
22-
- mw: 'REL1_41'
23-
php: 8.2
24-
experimental: false
25-
- mw: 'REL1_42'
26-
php: 8.2
27-
experimental: false
2816
- mw: 'REL1_43'
2917
php: 8.3
3018
experimental: false
@@ -83,16 +71,18 @@ jobs:
8371
- name: Run update.php
8472
run: php maintenance/update.php --quick
8573

86-
- name: Run PHPUnit
74+
- name: Run PHPUnit (MW < master)
75+
if: matrix.mw != 'master'
8776
run: php tests/phpunit/phpunit.php -c extensions/ExternalContent/
8877

89-
- name: Run PHPUnit with code coverage
90-
run: php tests/phpunit/phpunit.php -c extensions/ExternalContent/ --coverage-clover coverage.xml
91-
if: matrix.mw == 'master'
92-
93-
- name: Upload code coverage
94-
run: bash <(curl -s https://codecov.io/bash)
78+
- name: Run PHPUnit (MW master)
9579
if: matrix.mw == 'master'
80+
run: |
81+
# phpunit.xml.template is export-ignored from the GitHub tarball, fetch it separately
82+
if [ ! -f phpunit.xml.template ]; then
83+
wget -q -O phpunit.xml.template "https://raw.githubusercontent.com/wikimedia/mediawiki/${{ matrix.mw }}/phpunit.xml.template"
84+
fi
85+
composer phpunit -- extensions/ExternalContent/tests/
9686
9787
- name: Run parser tests
9888
run: php tests/parser/parserTests.php --file=extensions/ExternalContent/tests/parser/parserTests.txt

extension.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
"descriptionmsg": "external-content-desc",
1414

1515
"requires": {
16-
"MediaWiki": ">= 1.39.0",
16+
"MediaWiki": ">= 1.43.0",
1717
"platform": {
1818
"php": ">= 8.0"
1919
}

src/Adapters/EmbedPresenter/CategoryUsageTracker.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
namespace ProfessionalWiki\ExternalContent\Adapters\EmbedPresenter;
66

7-
use Parser;
7+
use MediaWiki\Parser\Parser;
88

99
class CategoryUsageTracker implements UsageTracker {
1010

src/Adapters/EmbedPresenter/ParserFunctionEmbedPresenter.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
namespace ProfessionalWiki\ExternalContent\Adapters\EmbedPresenter;
66

7-
use Html;
7+
use MediaWiki\Html\Html;
88
use MessageLocalizer;
99
use ProfessionalWiki\ExternalContent\UseCases\Embed\EmbedPresenter;
1010

src/Adapters/EmbedResourceLoader/ParserFunctionEmbedResourceLoader.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
namespace ProfessionalWiki\ExternalContent\Adapters\EmbedResourceLoader;
66

7-
use ParserOutput;
7+
use MediaWiki\Parser\ParserOutput;
88
use ProfessionalWiki\ExternalContent\Domain\ContentRenderer;
99
use ProfessionalWiki\ExternalContent\Domain\ContentRenderer\CodeRenderer;
1010
use ProfessionalWiki\ExternalContent\UseCases\Embed\EmbedResourceLoader;

src/Domain/ContentRenderer/CodeRenderer.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
namespace ProfessionalWiki\ExternalContent\Domain\ContentRenderer;
66

7-
use Html;
7+
use MediaWiki\Html\Html;
88
use ProfessionalWiki\ExternalContent\Domain\ContentRenderer;
99

1010
class CodeRenderer implements ContentRenderer {

src/EmbedExtensionFactory.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
use FileFetcher\FileFetcher;
88
use MediaWiki\MediaWikiServices;
9-
use Message;
9+
use MediaWiki\Message\Message;
1010
use MessageLocalizer;
1111
use ProfessionalWiki\ExternalContent\Adapters\FileFetcher\DomainCredentials;
1212
use ProfessionalWiki\ExternalContent\Adapters\FileFetcher\MediaWikiFileFetcher;

src/EntryPoints/BitbucketFunction.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
namespace ProfessionalWiki\ExternalContent\EntryPoints;
66

7-
use Parser;
7+
use MediaWiki\Parser\Parser;
88
use ProfessionalWiki\ExternalContent\Adapters\EmbedPresenter\CategoryUsageTracker;
99
use ProfessionalWiki\ExternalContent\Adapters\EmbedPresenter\ParserFunctionEmbedPresenter;
1010
use ProfessionalWiki\ExternalContent\Adapters\EmbedResourceLoader\ParserFunctionEmbedResourceLoader;

src/EntryPoints/EmbedFunction.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
namespace ProfessionalWiki\ExternalContent\EntryPoints;
66

7-
use Parser;
7+
use MediaWiki\Parser\Parser;
88
use ProfessionalWiki\ExternalContent\Adapters\EmbedPresenter\CategoryUsageTracker;
99
use ProfessionalWiki\ExternalContent\Adapters\EmbedPresenter\ParserFunctionEmbedPresenter;
1010
use ProfessionalWiki\ExternalContent\Adapters\EmbedResourceLoader\ParserFunctionEmbedResourceLoader;

src/EntryPoints/MediaWikiHooks.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@
44

55
namespace ProfessionalWiki\ExternalContent\EntryPoints;
66

7-
use ContentHandler;
7+
use MediaWiki\Content\ContentHandler;
88
use MediaWiki\MediaWikiServices;
9+
use MediaWiki\Parser\Parser;
10+
use MediaWiki\Parser\ParserOutput;
911
use MediaWiki\Revision\RevisionRecord;
10-
use Parser;
11-
use ParserOutput;
1212
use ProfessionalWiki\ExternalContent\EmbedExtensionFactory;
1313
use SearchEngine;
1414
use WikiPage;

0 commit comments

Comments
 (0)