Clone requirements from ext dependencies
Basic reader for MediaWiki registration system. When extension.json or
skin.json is present, read requires.extensions and requires.skins then
return the list of corresponding Gerrit repositories.
The list of projects to clone is obtained from:
- EXT_DEPENDENCIES (legacy)
- SKIN_DEPENDENCIES (legacy)
- projects passed as argument to Quibble
Once they have been cloned, when --resolve-requires is passed, read
the registration informations and recursively clone any requirements
we might have missed.
With the addition of --fail-on-extra-requires, if repositories have been
cloned due to --resolve-requires but were not in the list of arguments,
logginglevel context manager is a convenience function to raise the
level of zuul.cloneMapper when resolving the path of a given repository.
When it the repo is cloned immediately after, zuul.Cloner would lookup
the path causing logging to be duplicated. It is similar to PHP
with logginglevel('root', logging.ERROR): # do some stuff that emits debug/info/warning