[gobject-introspection] Add a script to extract gio annotations
- From: Johan Dahlin <johan src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gobject-introspection] Add a script to extract gio annotations
- Date: Fri, 24 Sep 2010 19:07:27 +0000 (UTC)
commit 4fd326d0dc1935be6e5ecb293fd157f9349d53aa
Author: Johan Dahlin <johan gnome org>
Date: Fri Sep 24 15:41:24 2010 -0300
Add a script to extract gio annotations
giscanner/annotationmain.py | 23 ++++++++---------------
giscanner/annotationparser.py | 8 ++++++--
giscanner/girparser.py | 3 +++
misc/extract-gio-sources.sh | 10 ++++++++++
4 files changed, 27 insertions(+), 17 deletions(-)
---
diff --git a/giscanner/annotationmain.py b/giscanner/annotationmain.py
index d6e2eef..b69577e 100644
--- a/giscanner/annotationmain.py
+++ b/giscanner/annotationmain.py
@@ -56,23 +56,16 @@ def annotation_main(args):
if options.extract:
ap = AnnotationParser()
blocks = ap.parse(ss.get_comments())
+ print '/' + ('*' * 60) + '/'
+ print '/* THIS FILE IS GENERATED DO NOT EDIT */'
+ print '/' + ('*' * 60) + '/'
+ print
for block in blocks.values():
print block.to_gtk_doc()
print
- elif options.validate:
- transformer = create_transformer(namespace, options)
- transformer.parse(ss.get_symbols())
-
- shlibs = create_binary(transformer, options, args)
-
- ap = AnnotationParser()
- blocks = ap.parse(ss.get_comments())
-
- main = MainTransformer(transformer, blocks)
- main.transform()
-
- final = IntrospectablePass(transformer)
- final.validate()
-
+ print
+ print '/' + ('*' * 60) + '/'
+ print '/* THIS FILE IS GENERATED DO NOT EDIT */'
+ print '/' + ('*' * 60) + '/'
return 0
diff --git a/giscanner/annotationparser.py b/giscanner/annotationparser.py
index 282ea55..673d0a0 100644
--- a/giscanner/annotationparser.py
+++ b/giscanner/annotationparser.py
@@ -138,7 +138,11 @@ class DocBlock(object):
comment = '/**\n'
for line in lines:
- comment += ' * %s\n' % (line, )
+ line = line.rstrip()
+ if line:
+ comment += ' * %s\n' % (line, )
+ else:
+ comment += ' *\n'
comment += ' */\n'
return comment
@@ -200,7 +204,7 @@ class DocTag(object):
if value:
if type(value) != str:
value = ' '.join((serialize_one(k, v, '%s=%s', '%s')
- for k,v in value.all().iteritems()))
+ for k, v in value.all().iteritems()))
return fmt % (option, value)
else:
return fmt2 % (option, )
diff --git a/giscanner/girparser.py b/giscanner/girparser.py
index 06901dc..6ba6c2a 100644
--- a/giscanner/girparser.py
+++ b/giscanner/girparser.py
@@ -201,6 +201,9 @@ class GIRParser(object):
deprecated = node.attrib.get('deprecated')
if deprecated:
obj.deprecated = deprecated
+ deprecated_version = node.attrib.get('deprecated-version')
+ if deprecated_version:
+ obj.deprecated_version = deprecated_version
def _parse_object_interface(self, node):
parent = node.attrib.get('parent')
diff --git a/misc/extract-gio-sources.sh b/misc/extract-gio-sources.sh
new file mode 100755
index 0000000..ed1b8c1
--- /dev/null
+++ b/misc/extract-gio-sources.sh
@@ -0,0 +1,10 @@
+#!/bin/sh
+GLIBDIR=$1
+tools/g-ir-annotation-tool --extract \
+ -DGIO_COMPILATION \
+ -I$GLIBDIR \
+ -I$GLIBDIR/glib \
+ -I$GLIBDIR/gobject \
+ -I$GLIBDIR/gmodule \
+ -I$GLIBDIR/gio \
+ $GLIBDIR/gio/*.c $GLIBDIR/gio/*.h
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]