GObject Introspection for java-gnome

Link to proposal: GObject Introspection for java-gnome

Blog: GNOME GSoC reports

Code repository: Introspection branch on GitHub and also GWeather coverage branch on GitHub

Mentor: Serkan Kaba

Myself: Guillaume Mazoyer

Weekly reports

Some tracking about this project

The topic of GObject Introspection for java-gnome is not really new we discussed about it on IRC and on mailing lists (there is even a bug) for something like 2 or 3 years. It is still a tricky change to make because we needs to modify a well-working piece of code in java-gnome: the code generator.

The work for this Summer of Code is quite large. Here is list of what I have to do and what I have done until now.

What I have done

  • Choice between using GIR API or GIR XML data (we have chosen XML data).
  • Understanding XML format of GIR data.
  • Writing a GIR to .defs files parser.
  • Improvement of the XML parser to generate data structures that the code generator understands.
  • Handle dependencies for Debian/Ubuntu and locate dynamically XML .gir files.
  • Provide a way to override GIR data to make the code generator behave like we want to.
  • Implement whitelisting/blacklisting methods.
  • Write test cases.
  • Code polishing
  • Coverage of GWeather thanks to the new code generator.

  • Lots of comments in the code and how-to to help people add coverages for other libraries.

What I need to do

  • Nothing in here anymore :)

What about screenshots? This is a pure library re-engineering work so I have no screenshot to show. The work is focused on rewriting a part of the code generator so java-gnome can get rid of the .defs files and can eventually use GIR data.

You really want a screenshot? Here is the example of the libgweather coverage.

http://respawner.fr/blog/public/JavaGnome/java-gnome-gweather-example.png

Outreach/SummerOfCode/2013/Projects/GuillaumeMazoyer_JavaGnomeIntrospection (last edited 2013-12-03 18:34:15 by WilliamJonMcCann)