Page MenuHomePhabricator

Create a new phan config file to make usage for libraries easier
Closed, ResolvedPublic

Description

mediawiki-phan-config contains many MediaWiki specific settings which are only usable on core, extensions and skins, but not for the libraries.

Define a own config file for usage by the libaries to avoid specific override of settings on each library.

Points to take care:

  • Remove use of MW_INSTALL_PATH, which includes whole core into each run, making the list of classes very high
  • Remove use of MW_VENDOR_PATH and always use the local vendor
  • Remove suppression of PhanDeprecated*, libraries CI are stable for it scanned classes. The reason to exclude deprection notice on extension is to avoid that a new deprecation in core breaks all extensions, but library dependencies are handled by declaring new version of packages and on this patch set phan is running, so a new deprecation can be resolved when the new package is used.
  • Special config for phan-taint-check-plugin as well?

For use in:

  • at-ease
  • base-convert
  • cdb
  • CLDRPluralRuleParser
  • css-sanitizer
  • HtmlFormatter
  • integration/docroot - T334954: Raise version of PHP on integration.wikimedia.org from 7.3 to 7.4+
  • IPSet
  • mediawiki/libs/alea
  • mediawiki/libs/Assert
  • mediawiki/libs/Bcp47Code
  • mediawiki/libs/CloverDiff
  • mediawiki/libs/CommonPasswords
  • mediawiki/libs/Dodo
  • mediawiki/libs/Equivset
  • mediawiki/libs/IDLeDOM
  • mediawiki/libs/IPAValidator
  • mediawiki/libs/IPUtils
  • mediawiki/libs/LangConv
  • mediawiki/libs/less.php
  • mediawiki/libs/metrics-platform
  • mediawiki/libs/Minify
  • mediawiki/libs/NormalizedException
  • mediawiki/libs/ObjectFactory
  • mediawiki/libs/php-cssjanus
  • mediawiki/libs/RemexHtml
  • mediawiki/libs/RequestTimeout
  • mediawiki/libs/ScopedCallback
  • mediawiki/libs/Services
  • mediawiki/libs/Shellbox
  • mediawiki/libs/Timestamp
  • mediawiki/libs/WaitConditionLoop
  • mediawiki/libs/WebIDL
  • mediawiki/libs/XMPReader
  • mediawiki/libs/Zest
  • mediawiki/services/apple-search T333409: Archive the mediawiki/services/apple-search repository
  • mediawiki/services/parsoid
  • mediawiki/tools/codesniffer
  • mediawiki/tools/phpunit-patch-coverage
  • oojs/ui
  • php-session-serializer
  • purtle
  • RelPath
  • RunningStat
  • utfnormal
  • wikimedia/lucene-explain-parser
  • wikimedia/textcat
  • wikipeg
  • WrappedString

Similar request for our build tool codesniffer at T330014

Details

SubjectRepoBranchLines +/-
integration/docrootmaster+2 -2
mediawiki/coremaster+967 -272
mediawiki/vendormaster+186 -73
mediawiki/services/parsoidmaster+10 -6
mediawiki/libs/XMPReadermaster+4 -2
HtmlFormattermaster+7 -2
css-sanitizermaster+16 -2
mediawiki/tools/codesniffermaster+5 -2
mediawiki/libs/Equivsetmaster+4 -4
mediawiki/tools/phpunit-patch-coveragemaster+2 -7
mediawiki/libs/Shellboxmaster+177 -95
wikipegmaster+3 -7
mediawiki/libs/metrics-platformmaster+137 -49
mediawiki/libs/IDLeDOMmain+2 -2
mediawiki/libs/Servicesmaster+2 -3
php-session-serializermaster+2 -8
mediawiki/libs/WebIDLmain+3 -60
mediawiki/libs/Zestmaster+2 -2
RelPathmaster+2 -2
RunningStatmaster+2 -2
purtlemaster+2 -2
utfnormalmaster+2 -2
mediawiki/libs/RemexHtmlmaster+3 -10
mediawiki/libs/LangConvmaster+3 -8
mediawiki/libs/IPUtilsmaster+2 -6
mediawiki/libs/CloverDiffmaster+2 -8
WrappedStringmaster+2 -2
mediawiki/libs/Bcp47Codemain+3 -4
mediawiki/libs/IPAValidatormain+2 -2
wikimedia/lucene-explain-parsermaster+2 -2
wikimedia/textcatmaster+2 -2
mediawiki/libs/Timestampmaster+2 -2
mediawiki/libs/WaitConditionLoopmaster+2 -2
mediawiki/libs/Dodomaster+2 -2
mediawiki/libs/CommonPasswordsmaster+2 -2
mediawiki/libs/ObjectFactorymaster+2 -2
mediawiki/libs/NormalizedExceptionmaster+2 -2
mediawiki/libs/php-cssjanusmaster+2 -2
mediawiki/libs/ScopedCallbackmaster+2 -2
mediawiki/libs/RequestTimeoutmaster+2 -2
mediawiki/libs/Minifymaster+2 -2
mediawiki/libs/less.phpmaster+1 -1
oojs/uimaster+2 -2
at-easemaster+2 -2
base-convertmaster+2 -2
cdbmaster+2 -2
CLDRPluralRuleParsermaster+2 -2
IPSetmaster+2 -2
mediawiki/libs/Assertmaster+2 -2
mediawiki/libs/aleamaster+2 -2
at-easemaster+1 -1
mediawiki/tools/phanmaster+258 -145
Show related patches Customize query in gerrit

Related Objects

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes

Change 909360 had a related patch set uploaded (by Jforrester; author: Jforrester):

[mediawiki/libs/IPUtils@master] build: Switch phan to special library mode

https://gerrit.wikimedia.org/r/909360

Change 909361 had a related patch set uploaded (by Jforrester; author: Jforrester):

[mediawiki/libs/LangConv@master] build: Switch phan to special library mode

https://gerrit.wikimedia.org/r/909361

Change 909362 had a related patch set uploaded (by Jforrester; author: Jforrester):

[mediawiki/libs/less.php@master] build: Switch phan to special library mode

https://gerrit.wikimedia.org/r/909362

Change 909363 had a related patch set uploaded (by Jforrester; author: Jforrester):

[mediawiki/libs/metrics-platform@master] build: Switch phan to special library mode

https://gerrit.wikimedia.org/r/909363

Change 909341 merged by jenkins-bot:

[oojs/ui@master] build: Switch phan to special library mode

https://gerrit.wikimedia.org/r/909341

Change 909364 had a related patch set uploaded (by Jforrester; author: Jforrester):

[mediawiki/libs/Minify@master] build: Switch phan to special library mode

https://gerrit.wikimedia.org/r/909364

Change 909365 had a related patch set uploaded (by Jforrester; author: Jforrester):

[mediawiki/libs/NormalizedException@master] build: Switch phan to special library mode

https://gerrit.wikimedia.org/r/909365

Change 909366 had a related patch set uploaded (by Jforrester; author: Jforrester):

[mediawiki/libs/ObjectFactory@master] build: Switch phan to special library mode

https://gerrit.wikimedia.org/r/909366

Change 909367 had a related patch set uploaded (by Jforrester; author: Jforrester):

[mediawiki/libs/php-cssjanus@master] build: Switch phan to special library mode

https://gerrit.wikimedia.org/r/909367

Change 909368 had a related patch set uploaded (by Jforrester; author: Jforrester):

[mediawiki/libs/RemexHtml@master] build: Switch phan to special library mode

https://gerrit.wikimedia.org/r/909368

Change 909369 had a related patch set uploaded (by Jforrester; author: Jforrester):

[mediawiki/libs/RequestTimeout@master] build: Switch phan to special library mode

https://gerrit.wikimedia.org/r/909369

Change 909370 had a related patch set uploaded (by Jforrester; author: Jforrester):

[mediawiki/libs/ScopedCallback@master] build: Switch phan to special library mode

https://gerrit.wikimedia.org/r/909370

Change 909371 had a related patch set uploaded (by Jforrester; author: Jforrester):

[mediawiki/libs/Services@master] build: Switch phan to special library mode

https://gerrit.wikimedia.org/r/909371

Change 909372 had a related patch set uploaded (by Jforrester; author: Jforrester):

[mediawiki/libs/Shellbox@master] build: Switch phan to special library mode

https://gerrit.wikimedia.org/r/909372

Change 909362 merged by jenkins-bot:

[mediawiki/libs/less.php@master] build: Switch phan to special library mode

https://gerrit.wikimedia.org/r/909362

Change 909373 had a related patch set uploaded (by Jforrester; author: Jforrester):

[mediawiki/libs/Timestamp@master] build: Switch phan to special library mode

https://gerrit.wikimedia.org/r/909373

Change 909364 merged by jenkins-bot:

[mediawiki/libs/Minify@master] build: Switch phan to special library mode

https://gerrit.wikimedia.org/r/909364

Change 909369 merged by jenkins-bot:

[mediawiki/libs/RequestTimeout@master] build: Switch phan to special library mode

https://gerrit.wikimedia.org/r/909369

Change 909374 had a related patch set uploaded (by Jforrester; author: Jforrester):

[mediawiki/libs/WaitConditionLoop@master] build: Switch phan to special library mode

https://gerrit.wikimedia.org/r/909374

Change 909370 merged by jenkins-bot:

[mediawiki/libs/ScopedCallback@master] build: Switch phan to special library mode

https://gerrit.wikimedia.org/r/909370

Change 909367 merged by jenkins-bot:

[mediawiki/libs/php-cssjanus@master] build: Switch phan to special library mode

https://gerrit.wikimedia.org/r/909367

Change 909365 merged by jenkins-bot:

[mediawiki/libs/NormalizedException@master] build: Switch phan to special library mode

https://gerrit.wikimedia.org/r/909365

Change 909375 had a related patch set uploaded (by Jforrester; author: Jforrester):

[mediawiki/libs/WebIDL@main] build: Switch phan to special library mode

https://gerrit.wikimedia.org/r/909375

Change 909366 merged by jenkins-bot:

[mediawiki/libs/ObjectFactory@master] build: Switch phan to special library mode

https://gerrit.wikimedia.org/r/909366

Change 909376 had a related patch set uploaded (by Jforrester; author: Jforrester):

[mediawiki/libs/XMPReader@master] build: Switch phan to special library mode

https://gerrit.wikimedia.org/r/909376

Change 909377 had a related patch set uploaded (by Jforrester; author: Jforrester):

[mediawiki/libs/Zest@master] build: Switch phan to special library mode

https://gerrit.wikimedia.org/r/909377

Change 909378 had a related patch set uploaded (by Jforrester; author: Jforrester):

[php-session-serializer@master] build: Switch phan to special library mode

https://gerrit.wikimedia.org/r/909378

Change 909379 had a related patch set uploaded (by Jforrester; author: Jforrester):

[RelPath@master] build: Switch phan to special library mode

https://gerrit.wikimedia.org/r/909379

Change 909381 had a related patch set uploaded (by Jforrester; author: Jforrester):

[RunningStat@master] build: Switch phan to special library mode

https://gerrit.wikimedia.org/r/909381

Change 909382 had a related patch set uploaded (by Jforrester; author: Jforrester):

[purtle@master] build: Switch phan to special library mode

https://gerrit.wikimedia.org/r/909382

Change 909383 had a related patch set uploaded (by Jforrester; author: Jforrester):

[utfnormal@master] build: Switch phan to special library mode

https://gerrit.wikimedia.org/r/909383

Change 909384 had a related patch set uploaded (by Jforrester; author: Jforrester):

[wikimedia/textcat@master] build: Switch phan to special library mode

https://gerrit.wikimedia.org/r/909384

Change 909385 had a related patch set uploaded (by Jforrester; author: Jforrester):

[wikipeg@master] build: Switch phan to special library mode

https://gerrit.wikimedia.org/r/909385

Change 909386 had a related patch set uploaded (by Jforrester; author: Jforrester):

[WrappedString@master] build: Switch phan to special library mode

https://gerrit.wikimedia.org/r/909386

Change 909387 had a related patch set uploaded (by Jforrester; author: Jforrester):

[wikimedia/lucene-explain-parser@master] build: Switch phan to special library mode

https://gerrit.wikimedia.org/r/909387

Done: https://gerrit.wikimedia.org/r/c/labs/libraryupgrader/config/+/909334 LibUp doesn't know that it should also change the config to use the new file, though. I'm wondering what the best way to do that would be. Since it's a one-off change to a couple dozens of repos, writing a nice migration script might be unnecessarily complicated.

FWIW, my "nice migration script" is: git fetch; git checkout -B T334492 -t origin/master; composer update; composer require --dev mediawiki/mediawiki-phan-config 0.12.1; sed -i.bu 's/config\.php/config-library\.php/' .phan/config.php; git add composer.json; git add .phan/config.php; git add -p; git commit -m "build: Switch phan to special library mode\n\nBug: T334492"; git review with fixes where repos have jumped the gun and moved to main or have other oddities. Some failures, though. :-(

Change 909355 merged by jenkins-bot:

[mediawiki/libs/CommonPasswords@master] build: Switch phan to special library mode

https://gerrit.wikimedia.org/r/909355

Change 909356 merged by jenkins-bot:

[mediawiki/libs/Dodo@master] build: Switch phan to special library mode

https://gerrit.wikimedia.org/r/909356

Change 909374 merged by jenkins-bot:

[mediawiki/libs/WaitConditionLoop@master] build: Switch phan to special library mode

https://gerrit.wikimedia.org/r/909374

Change 909373 merged by jenkins-bot:

[mediawiki/libs/Timestamp@master] build: Switch phan to special library mode

https://gerrit.wikimedia.org/r/909373

Change 909359 merged by jenkins-bot:

[mediawiki/libs/IPAValidator@main] build: Switch phan to special library mode

https://gerrit.wikimedia.org/r/909359

Change 909384 merged by jenkins-bot:

[wikimedia/textcat@master] build: Switch phan to special library mode

https://gerrit.wikimedia.org/r/909384

Change 909387 merged by jenkins-bot:

[wikimedia/lucene-explain-parser@master] build: Switch phan to special library mode

https://gerrit.wikimedia.org/r/909387

Change 909353 merged by jenkins-bot:

[mediawiki/libs/Bcp47Code@main] build: Switch phan to special library mode

https://gerrit.wikimedia.org/r/909353

Change 909386 merged by jenkins-bot:

[WrappedString@master] build: Switch phan to special library mode

https://gerrit.wikimedia.org/r/909386

Change 909354 merged by jenkins-bot:

[mediawiki/libs/CloverDiff@master] build: Switch phan to special library mode

https://gerrit.wikimedia.org/r/909354

Change 909360 merged by jenkins-bot:

[mediawiki/libs/IPUtils@master] build: Switch phan to special library mode

https://gerrit.wikimedia.org/r/909360

Change 909361 merged by jenkins-bot:

[mediawiki/libs/LangConv@master] build: Switch phan to special library mode

https://gerrit.wikimedia.org/r/909361

Change 909368 merged by jenkins-bot:

[mediawiki/libs/RemexHtml@master] build: Switch phan to special library mode

https://gerrit.wikimedia.org/r/909368

Change 909383 merged by jenkins-bot:

[utfnormal@master] build: Switch phan to special library mode

https://gerrit.wikimedia.org/r/909383

Change 909382 merged by jenkins-bot:

[purtle@master] build: Switch phan to special library mode

https://gerrit.wikimedia.org/r/909382

Change 909381 merged by jenkins-bot:

[RunningStat@master] build: Switch phan to special library mode

https://gerrit.wikimedia.org/r/909381

Change 909379 merged by jenkins-bot:

[RelPath@master] build: Switch phan to special library mode

https://gerrit.wikimedia.org/r/909379

Change 909377 merged by jenkins-bot:

[mediawiki/libs/Zest@master] build: Switch phan to special library mode

https://gerrit.wikimedia.org/r/909377

Change 909375 merged by jenkins-bot:

[mediawiki/libs/WebIDL@main] build: Switch phan to special library mode

https://gerrit.wikimedia.org/r/909375

Change 909378 merged by jenkins-bot:

[php-session-serializer@master] build: Switch phan to special library mode

https://gerrit.wikimedia.org/r/909378

Change 909371 merged by jenkins-bot:

[mediawiki/libs/Services@master] build: Switch phan to special library mode

https://gerrit.wikimedia.org/r/909371

Change 909358 merged by jenkins-bot:

[mediawiki/libs/IDLeDOM@main] build: Switch phan to special library mode

https://gerrit.wikimedia.org/r/909358

Change 909363 merged by jenkins-bot:

[mediawiki/libs/metrics-platform@master] build: Switch phan to special library mode

https://gerrit.wikimedia.org/r/909363

Change 909372 merged by jenkins-bot:

[mediawiki/libs/Shellbox@master] build: Switch phan to special library mode

https://gerrit.wikimedia.org/r/909372

Change 909385 merged by jenkins-bot:

[wikipeg@master] build: Switch phan to special library mode

https://gerrit.wikimedia.org/r/909385

Change 909391 had a related patch set uploaded (by Jforrester; author: Jforrester):

[mediawiki/tools/phpunit-patch-coverage@master] build: Switch phan to special library mode

https://gerrit.wikimedia.org/r/909391

Change 909392 had a related patch set uploaded (by Jforrester; author: Jforrester):

[mediawiki/tools/codesniffer@master] build: Switch phan to special library mode

https://gerrit.wikimedia.org/r/909392

Change 909393 had a related patch set uploaded (by Jforrester; author: Jforrester):

[mediawiki/services/parsoid@master] build: Switch phan to special library mode

https://gerrit.wikimedia.org/r/909393

Change 909391 merged by jenkins-bot:

[mediawiki/tools/phpunit-patch-coverage@master] build: Switch phan to special library mode

https://gerrit.wikimedia.org/r/909391

Change 909357 merged by jenkins-bot:

[mediawiki/libs/Equivset@master] build: Switch phan to special library mode

https://gerrit.wikimedia.org/r/909357

Change 909392 merged by jenkins-bot:

[mediawiki/tools/codesniffer@master] build: Switch phan to special library mode

https://gerrit.wikimedia.org/r/909392

Change 909347 merged by jenkins-bot:

[css-sanitizer@master] build: Switch phan to special library mode

https://gerrit.wikimedia.org/r/909347

Change 909348 merged by jenkins-bot:

[HtmlFormatter@master] build: Switch phan to special library mode

https://gerrit.wikimedia.org/r/909348

Change 909376 merged by jenkins-bot:

[mediawiki/libs/XMPReader@master] build: Switch phan to special library mode

https://gerrit.wikimedia.org/r/909376

Jdforrester-WMF updated the task description. (Show Details)

OK, I think we can call this Resolved. The last remaining switcher will have to wait for an infrastructure change, but this work itself is very much done. Thank you!

Change 909393 merged by jenkins-bot:

[mediawiki/services/parsoid@master] build: Switch phan to special library mode in standalone mode

https://gerrit.wikimedia.org/r/909393

Change 911253 had a related patch set uploaded (by Isabelle Hurbain-Palatin; author: Isabelle Hurbain-Palatin):

[mediawiki/vendor@master] Bump parsoid to 0.18.0-a6

https://gerrit.wikimedia.org/r/911253

Change 911253 merged by jenkins-bot:

[mediawiki/vendor@master] Bump parsoid to 0.18.0-a6

https://gerrit.wikimedia.org/r/911253

Change 921070 had a related patch set uploaded (by VolkerE; author: VolkerE):

[mediawiki/core@master] Update OOUI to v0.47.0

https://gerrit.wikimedia.org/r/921070

Change 921070 merged by jenkins-bot:

[mediawiki/core@master] Update OOUI to v0.47.0

https://gerrit.wikimedia.org/r/921070

Change 909349 merged by jenkins-bot:

[integration/docroot@master] build: Switch phan to special library mode

https://gerrit.wikimedia.org/r/909349

Mentioned in SAL (#wikimedia-operations) [2023-06-05T23:10:56Z] <jforrester@deploy1002> Started deploy [integration/docroot@6eefe56]: I5c1b92322ae59bfe8a9233ad23c3c89b844f5fb7 for T334492

Mentioned in SAL (#wikimedia-operations) [2023-06-05T23:11:02Z] <jforrester@deploy1002> Finished deploy [integration/docroot@6eefe56]: I5c1b92322ae59bfe8a9233ad23c3c89b844f5fb7 for T334492 (duration: 00m 05s)