blob: f951205e6f42f81865b9ccc2dab8c16978177adc (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
Notes to developers hacking on GObjectIntrospection
===================================================
debugging
---------
* You can use the GI_SCANNER_DEBUG environment variable; see utils.py
for a list of debug flags.
giscanner
---------
* If you add a new warning to annotationparser.py, you should add new
tests for it in tests/scanner/annotationparser/gi/
* If you add a new warning elsewhere (maintransformer.py, etc), you
should add a new test for it in tests/warn/
* Before pushing code to the repository, make sure to run 'make check' or
even 'make distcheck'
* While hacking on annotationparser.py it is a good idea to:
1) Update your GLib build to git master.
2) Run the following command from your gobject-introspection source directory before making
changes to annotationparser.py (adapt GLib source and/or build directory as required):
(cd misc && ./update-glib-annotations.py /path/to/gnome.org/checkout/glib/)
3) Ensure changes to the following files are as expected, meaning they are caused by
updated GLib annotations and not by stray modifications to annotationparser.py:
- gir/gio-2.0.c
- gir/glib-2.0.c
- gir/gobject-2.0.c
When satisfied, commit these files adding "Update GLib annotations to master" as the
commit message.
4) Only now start editing annotationparser.py.
5) run make check.
6) Run update-glib-annotations.py again and carefully study the changes (if any) to:
- gir/gio-2.0.c
- gir/glib-2.0.c
- gir/gobject-2.0.c
Ensure changes in these files are as intended and caused by the modifications done to
annotationparser.py. Commit the changes to annotationparser.py and the above
files as a single patch.
|