[libvirt] [PATCH v3 06/13] docs: only generate function argument info for args with a description

Eric Blake eblake at redhat.com
Wed Feb 6 16:43:40 UTC 2013


On 02/06/2013 09:13 AM, Claudio Bley wrote:

>>> Note, however, that I have no deep understanding about what it means
>>> when a function ought to be "ignored" by apibuild.py.
>>>
>>> Should we skip this function from the generated HTML documentation
>>> perhaps?
>>
>> Indeed, when you frame the question that way, it seems like the smartest
>> thing is to omit all output during apibuild.py for any function in the
>> ignored_functions list; then the XSL processing wouldn't have anything
>> to process in the first place.
>>
>> Hmm, I think this points out a bigger problem.  Looking at
>> ignored_functions, I see it starts with:
>>
>>   "virDomainMigrateFinish": "private function for migration",
>>
>> Tracking down that function, it exists in src/libvirt.c, but is NOT in
>> libvirt.h.in (just libvirt_internal.h), and is only exported in
>> libvirt_private.syms.  So not documenting it is the right thing to do.
>> On the other hand, virEventUpdateHandle is a public entry point since
>> libvirt 0.9.3, and declared in libvirt.h.in, so it is a public entry
>> point.
> 
> As you determined this easily by looking at which file a function is
> declared in, would it make sense to employ the same logic in
> apibuild.py when deciding which function is public or not?

I'm no python expert, but if you want to write a patch, it sounds
reasonable.  Anything in a .h[.in] file under include/libvirt is public,
anything else is ignored when it comes to documenting public functionality.

> 
> Say, all functions found in libvirt.h (or libvirt.h.in for that
> matter), plus virterror.h are public, everything else is not.

Well, there's also libvirt-qemu.h and libvirt-lxc.h, but yes, that's the
idea.

> 
>> So, we may not need this patch after all; instead, we need a patch that
>> fixes the list of ignored_functions to be accurate to what is really
>> private, when snarfing in all files that contain documentation for
>> public functions.
> 
> And another one which actually omits generating entries for /ignored/
> functions in libvirt-api.xml et. al., right?

Correct.  Again, I won't be the person writing it, but I don't mind
reviewing (it will help me learn more python).

> 
> But, apparently, there are no ignored functions in libvirt-api.xml
> (et. al.). Probably because of some refactoring which put those
> functions out of the way into internal headers...
> 
> So, we could just as well ditch the ignored_functions dictionary in
> apibuild.py because it only confuses people than being of any help or
> use.

Sure, if it works.

> 

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 621 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20130206/9cea2500/attachment-0001.sig>


More information about the libvir-list mailing list