After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 615136 - doc extraction scripts could support GObjectIntrospection annotations
doc extraction scripts could support GObjectIntrospection annotations
Status: RESOLVED FIXED
Product: pygobject
Classification: Bindings
Component: codegen
unspecified
Other Linux
: Normal enhancement
: ---
Assigned To: Nobody's working on this now (help wanted and appreciated)
Python bindings maintainers
Depends on:
Blocks: 606183
 
 
Reported: 2010-04-08 04:20 UTC by José Alburquerque
Modified: 2010-04-12 02:13 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Patch extending doc extraction scripts (33.64 KB, patch)
2010-04-08 04:20 UTC, José Alburquerque
none Details | Review
difference between glibmm's documentation xml (314.95 KB, patch)
2010-04-08 04:22 UTC, José Alburquerque
none Details | Review
difference between giomm's documentation xml (145.55 KB, patch)
2010-04-08 04:23 UTC, José Alburquerque
none Details | Review
difference between gtkmm's documentation xml (260.58 KB, application/x-compressed-tar)
2010-04-08 04:27 UTC, José Alburquerque
  Details
difference between gdkmm's documentation xml (84.58 KB, patch)
2010-04-08 04:28 UTC, José Alburquerque
none Details | Review
difference between atkmm's documentation xml (4.13 KB, patch)
2010-04-08 04:29 UTC, José Alburquerque
none Details | Review

Description José Alburquerque 2010-04-08 04:20:09 UTC
Created attachment 158165 [details] [review]
Patch extending doc extraction scripts

With the new gir annotations, sometimes the annotations are included in the generated docs xml.  The attached patch modifies the doc extraction scripts to deal with the new annotations[1].

[1] http://live.gnome.org/GObjectIntrospection/Annotations

The patch also enhances the documentation generation by modularizing the code and tweaking the regular expressions to handle special cases so that, for example, the function descriptions are not replaced by return descriptions among other improvements.

Also, the scripts now handle signal and property comment blocks somewhat better than before generating appropriate xml (like <signal name="Class::a-signal">...</signal>) and including to the entire name of the signal/property so it is clear as to which signal/property is being dealt with.

The code may be more, but I think the modularity makes it easier to know what is happening.

Following the patch, I'll attach some differences so that the original output can be compared to the new one.
Comment 1 José Alburquerque 2010-04-08 04:22:57 UTC
Created attachment 158166 [details] [review]
difference between glibmm's documentation xml
Comment 2 José Alburquerque 2010-04-08 04:23:43 UTC
Created attachment 158167 [details] [review]
difference between giomm's documentation xml
Comment 3 José Alburquerque 2010-04-08 04:27:24 UTC
Created attachment 158168 [details]
difference between gtkmm's documentation xml
Comment 4 José Alburquerque 2010-04-08 04:28:28 UTC
Created attachment 158169 [details] [review]
difference between gdkmm's documentation xml
Comment 5 José Alburquerque 2010-04-08 04:29:30 UTC
Created attachment 158170 [details] [review]
difference between atkmm's documentation xml
Comment 6 Krzesimir Nowak 2010-04-08 19:23:01 UTC
Are there plans to add parsing of enum documentation?
Comment 7 José Alburquerque 2010-04-08 19:45:00 UTC
Absolutely, if it is useful.  At this point it would be fairly trivial to add.
Comment 8 Murray Cumming 2010-04-10 07:55:34 UTC
Many thanks, Jose, this seems like a big improvement. I think I maintain this particular file, so please commit, and please apply the changes for the XML files. Thanks again.
Comment 9 José Alburquerque 2010-04-12 02:13:31 UTC
Committed the changes to the doc generation scripts with a couple of other minor enhancements.  Also saved the generated XML doc files in the master branches of the relevant modules (glibmm and gtkmm).  Glad to be useful.