Page MenuHomePhabricator

https://doc.wikimedia.org/Wikibase/master/php/namespaces.html doesnt list a Client namespace, but Wikibase does have one
Closed, ResolvedPublic

Description

https://doc.wikimedia.org/Wikibase/master/php/namespaces.html lists a very odd selection of our namespaces.
We have hundreds of Client classes, but they are not in this namespace list.

Event Timeline

Heading to docs/php/namespaces.html that shows:

Wikibase	
  Lib	-file-suppress PhanTypeInvalidThrowsIsInterface
  Repo
    Specials	
      HTMLForm	-file-suppress PhanParamSignatureMismatch The point of this class is to change signatures

When deleting the file repo/includes/Specials/HTMLForm/HTMLAliasesField.php the Repo namespace disappear entirely.

And the file has:

repo/includes/Specials/HTMLForm/HTMLAliasesField.php
<?php                                                                                                                                        
/**                                                                                                                                          
 * @phan-file-suppress PhanParamSignatureMismatch The point of this class is to change signatures                                            
 */                                                                                                                                          
namespace Wikibase\Repo\Specials\HTMLForm;

Which mean that the namespace statement is documented, albeit that is just a Phan related comment. So I guess what happens is that Doxygen does not document the namespaces unless they have a document block ;]

I guess we want:

# If the EXTRACT_ALL tag is set to YES, doxygen will assume all entities in
# documentation are documented, even if no documentation was available. Private
# class members and static file members will be hidden unless the
# EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES.
# Note: This will also disable the warnings about undocumented members that are
# normally produced when WARNINGS is set to YES.
# The default value is: NO.

EXTRACT_ALL = YES

That drops the warning about undocumented member.

mediawiki/core has:

maintenance/Doxyfile
EXTRACT_ALL            = YES
EXTRACT_PRIVATE        = YES
EXTRACT_PACKAGE        = NO
EXTRACT_STATIC         = YES
EXTRACT_LOCAL_CLASSES  = YES
EXTRACT_LOCAL_METHODS  = NO
EXTRACT_ANON_NSPACES   = NO

Which also process private and static members even if undocumented. So I guess we want to align with MediaWiki core?

Note: some other extensions are using Doxygen and would need to be inspected as well.

Yes, I think we should be the same as core

Addshore added a project: User-Addshore.
Addshore moved this task from Unsorted 💣 to Watching 👀 on the User-Addshore board.

Change 553760 had a related patch set uploaded (by Addshore; owner: Addshore):
[mediawiki/extensions/Wikibase@master] Doxygen, extract all namespaces (using core settings)

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

Change 553760 merged by jenkins-bot:
[mediawiki/extensions/Wikibase@master] Doxygen, extract all namespaces (using core settings)

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