1. 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
1.1. Weekly reports
1.2. 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.
1.2.1. 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.
1.2.2. 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.