I've published the first step of that MediaWiki Extension tool. So far it's only a script that can populate a database with extension metadata from extensions in Gerrit.
So, if you have any use for your own sqlite database of extension metadata, here's how to get one (assuming you have node and git installed).
$ git clone -b v0.1.1 https://github.com/redwerks/mediawiki-extensionservice.git $ cd mediawiki-extensionservice/ $ npm install $ npm install -g sequelize-cli $ npm install sqlite3 $ mkdir storage/ $ echo "STORAGE_DIR=./storage" >> .env $ echo "DATABASE_TYPE=sqlite" >> .env $ echo "DATABASE_STORAGE=./storage/db.sqlite" >> .env $ sequelize db:migrate $ bin/cron.js
You'll have to wait a few minutes for it to finish. But at the end you can use whatever sqlite tools you have to look at the database in `./storage/db.sqlite`.
The Extensions table will contain a list of extensions, besides the extid and composerName indexes each row will have a data column containing JSON with data on the extension.
Some of this data is only available for extensions containing an extension.json file (The .php file is not parsed). - name: The name of the extension (English text for "namemsg" -> "name" -> final fallback to the extension's dirname) - description: The extension description (English text for "descriptionmsg" -> "description" -> empty) - versionHint: The "version" in extension.json.
This data will always be available: - repository: The git repository url. - composerName: The "name" in composer.json if present. - sources: An array of some of the possible ways to install the extension. - git-master if the repository has a master branch (basically everything) - git-stable if the repository has a HEAD that points to something other than master (in this case a "stableBranch" will also be present) - git-rel if the repository has REL#_## branches (basically everything) - git-tag if the repository has #.#.# or v#.#.# tags - composer if the repository has a valid composer.json with a name.
wikitext-l@lists.wikimedia.org