Codesearch

From MediaWiki.org
Jump to navigation Jump to search
Eggbeater stencil narrow.svg
Codesearch
2019 Coolest Tool Award Winner
in the category
Developer

MediaWiki code search is a fully free software tool that lets you easily search through all of MediaWiki core, extensions, and skins that are hosted on Gerrit. You can limit your search to specific repositories, or types of repositories too. Regular expressions are supported in both the search string, and when filtering by path.

Try it out: https://codesearch.wmflabs.org/

Implementation[edit]

codesearch uses hound as the search implementation. It indexes the origin/master branch of all specified repositories, and updates them every hour. Each search profile is backed by a different instance of hound. A small Python Flask server acts as the proxy for the web frontend, backed by gunicorn, to the individual hound instances.

Included repositories[edit]

  • MediaWiki core
  • Any extension in Gerrit that is not marked as read only and those included in the MWStake list
  • Any skin in Gerrit that is not marked as read only
  • Milkshake repositories from GitHub
  • OOUI (oojs/ui in Gerrit)
  • translatewiki configuration (from Gerrit)
  • operations/puppet, operations/dns and operations/mediawiki-config in Gerrit
  • ArmchairGM (this is currently hidden by default; you can access it through https://codesearch.wmflabs.org/armchairgm/)
  • Pywikibot core (from Gerrit)

Additional repositories can be added upon request. Any submodules will need to be added manually (T188023). codesearch's configuration uses <https://www.mediawiki.org/w/api.php?action=query&format=jsonfm&formatversion=2&list=extdistrepos>.

Administration[edit]

The current project administrators are Addshore, Derick Alangi, Ladsgroup, Legoktm, MaxSem, Andrew Bogott, Rush and Prtksxna. Documentation on the operation/administration of codesearch is available at /Admin.

Source[edit]

  • codesearch, available under the terms of the GPL, v3 or any later version.
  • hound, available under the terms of the MIT license.

Bugs and feature requests[edit]

Please file them in the Phabricator project.