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 559704 - Switch to .gir
Switch to .gir
Status: RESOLVED OBSOLETE
Product: vala
Classification: Core
Component: Bindings
unspecified
Other All
: High normal
: 2.0
Assigned To: Didier "Ptitjes"
Vala maintainers
Depends on: 552377 556489 558620 559425 559703 559705 559706 560692 562615 562622 568913 571348 572408 572415 572420 572423 572434 576327 594125 623526 627972 635330 660879 730479
Blocks:
 
 
Reported: 2008-11-07 07:13 UTC by Jürg Billeter
Modified: 2018-05-22 13:12 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
First work on getting gir-based vapi generation working properly (8.94 KB, patch)
2009-02-20 13:39 UTC, Didier "Ptitjes"
none Details | Review
In the middle of fixing #559704 (10.18 KB, patch)
2009-02-22 16:09 UTC, Didier "Ptitjes"
none Details | Review
In the middle of fixing #559704 - Part 1 (12.47 KB, patch)
2009-02-23 17:37 UTC, Didier "Ptitjes"
none Details | Review
Additional fix for nullable and ownership transfer for fields and return values (1.64 KB, patch)
2009-02-25 00:34 UTC, Didier "Ptitjes"
none Details | Review
Fixes Iface structs according to bug 572434 resolution (1.91 KB, patch)
2009-02-26 15:21 UTC, Didier "Ptitjes"
none Details | Review
Add support for virtual method tags in interfaces. (1.26 KB, patch)
2009-04-21 00:30 UTC, Mark Lee
none Details | Review
Add support for union tags in records. (861 bytes, patch)
2009-04-21 00:32 UTC, Mark Lee
none Details | Review
Add support for c:prefix in namespaces. (788 bytes, patch)
2009-04-21 00:34 UTC, Mark Lee
none Details | Review
Add namespace exception for GdkPixbuf. (990 bytes, patch)
2009-04-21 00:42 UTC, Mark Lee
none Details | Review
Don't parse GObject-specific private structs and fields. (3.85 KB, patch)
2009-04-21 01:06 UTC, Mark Lee
none Details | Review
Ensure that packages parsed from GIR files are read. (3.07 KB, patch)
2009-04-21 05:54 UTC, Mark Lee
none Details | Review
fix the case of cprefix and lower_case_cprefix in generated vapi. (868 bytes, patch)
2009-06-19 08:14 UTC, Jordan Yelloz
committed Details | Review
girwriter: always include GLib and GObject (1.18 KB, patch)
2009-12-20 19:59 UTC, Abderrahim Kitouni
committed Details | Review
girwriter: put parent_class in the class struct (1.07 KB, patch)
2009-12-20 19:59 UTC, Abderrahim Kitouni
committed Details | Review
girwriter: embed <callback> inside <field> for virtual methods (1014 bytes, patch)
2009-12-20 20:00 UTC, Abderrahim Kitouni
committed Details | Review
girwriter: fix cname for vfunc <callback> element (925 bytes, patch)
2009-12-20 20:00 UTC, Abderrahim Kitouni
committed Details | Review
girwriter: write virtual signal handlers (1.01 KB, patch)
2009-12-20 20:01 UTC, Abderrahim Kitouni
committed Details | Review
girwriter: write parent_instace and priv fields (1.23 KB, patch)
2009-12-20 20:02 UTC, Abderrahim Kitouni
committed Details | Review
girwriter: write user_data parameter for delegates (2.09 KB, patch)
2009-12-20 20:03 UTC, Abderrahim Kitouni
committed Details | Review
GIR parser: Fix valamarkupreader's filename field and add support for parsing callbacks as a type. (1.55 KB, patch)
2010-01-03 09:02 UTC, Jordan Yelloz
committed Details | Review
GIR parser: Add a special case mapping for GObject.TypeInterface to GLib.Type (838 bytes, patch)
2010-02-15 04:39 UTC, Jordan Yelloz
rejected Details | Review
girparser: StringBuilder is GLib.String not GObject.String (861 bytes, patch)
2010-06-03 21:18 UTC, Abderrahim Kitouni
committed Details | Review
girparser: add an exception for Atk.Implementor (933 bytes, patch)
2010-06-03 21:19 UTC, Abderrahim Kitouni
committed Details | Review
girwriter: fix closure attribute for delegate targets (1.32 KB, patch)
2010-06-03 21:21 UTC, Abderrahim Kitouni
committed Details | Review
girparser: correctly find the namespace for a given gir namespace (2.07 KB, patch)
2010-06-03 21:46 UTC, Abderrahim Kitouni
none Details | Review
GIR Parser: do not assume that interface structs have the Iface suffix (2.62 KB, patch)
2010-06-24 21:11 UTC, Abderrahim Kitouni
none Details | Review
Support nested GIR includes. (7.42 KB, patch)
2010-07-24 21:25 UTC, Luca Bruno
none Details | Review

Description Jürg Billeter 2008-11-07 07:13:26 UTC
Switch from old gobject-introspection code to .gir format. All pending issues will be added as a dependency of this bug.
Comment 1 Philipp Schlesinger 2008-11-18 11:17:34 UTC
C header filenames are missing in .gir currently.
Comment 2 Colin Walters 2009-02-03 23:16:00 UTC
Can we update this bug with the remaining blockers, filing new gobject-introspection bugs?

Re comment #1 - if we put the pkg-config name in the .gir, would that suffice?
Comment 3 Didier "Ptitjes" 2009-02-19 00:27:25 UTC
Made a list of blockers :

Tests on Gio-2.0
==========

V: In VAPI
G: VAPI from gir

1) header declarations (V ok; G dumb values)
	reason: Missing in gir, will be added [juergbi]

2) virtual and abstract methods (V ok; G not virtual)
	reason: additionnal callback defined in class/iface-struct for virtual and abstract methods
	already made a patch

3) static interface methods (V ok; G not virtual)
	reason 1: additionnal function defined in namespace for static interface methods
	reason 2: no is-iface-func-for attribute in gir
	already made a patch

4) public fields "parent_instance" and "priv" (V no; G yes)
	reason: present in the gir file

5) 'unowned' return value (V yes; G no)
	reason: GIRParser.vala:743 type.value_owned = true;
	status: should be false, no ?

6) c:type taken in account for constructor return value (V yes; G no)
	reason: not processed in parse_type()

7) DataInputStream.read_byte returned value type (V uchar; G uint8)
	reason: different declaration in V and gir

8) ? on nullable parameters (V yes; G no)
	reason: no 'allow-none' attribute in gir,
	(example ok in G: FileOutputStream.query_info)

9) 'owned' string parameter (V no; G yes)
	reason: in CodeWriter?? transfer is full and type is string?

10) [NoWrapper] methods (V yes; G no)

11) signal's parameter name propagation (V ok; G loosed generated param name)

12) parameter name prefixing for Vala's registered names (V yes; G no)

13) properties' construct; decl. (V yes; G no)
	reason: GIRParser.vala:743 << reader.get_attribute ("construct") >>
	instead of "construct-only" ??

14) *Class classes (V yes; G no)
	-> shouln'd ThemedIconClass and all *Class be removed from V ?

15) missing prerequisite class on interfaces (V no; G yes)
	reason: missing information in gir

16) some gpointer userdata are in G
	reason: declared in the gir

Also some interesting facts...

Class differences:
 - in V no Unix*, no DesktopAppInfo, Emblem nor EmblemedIcon
 - in G no *Class, FileAttributeInfo*, IOExtension*, IOModule*, IOShedulerJob

Interface differences:
- in V no DesktopAppInfoLookup
- in G interfaces have no prerequisite GLib.Object

Re comment #2 - we also need an attribute in gir to specify included .h files.
Comment 4 Didier "Ptitjes" 2009-02-19 00:50:48 UTC
Struct differences:
- in V no *Private
        should be made private in gir ?
Comment 5 Didier "Ptitjes" 2009-02-20 13:39:03 UTC
Created attachment 129150 [details] [review]
First work on getting gir-based vapi generation working properly

Corrects problems 1), 2), 3), 5), 13) and also uses the new 'package' element as library name for the vapi.

Beware that for optimal results patches in #572423 and #572408 have to be applied on g-i.
Comment 6 Didier "Ptitjes" 2009-02-22 16:09:17 UTC
Created attachment 129262 [details] [review]
In the middle of fixing #559704

 - Add support for package and c:include tags.
 - Add support for unions.
 - Add support for abstract, virtual and static methods.
 - Add support for constants in classes.
 - Add support for property tag's construct-only attribute.
Comment 7 Didier "Ptitjes" 2009-02-23 17:37:12 UTC
Created attachment 129349 [details] [review]
In the middle of fixing #559704 - Part 1

 - Add support for package and c:include tags
 - Add support for unions
 - Add support for abstract, virtual and static methods
 - Add support for constants in classes
 - Add support for property tag's construct-only attribute
 - Add support for the c:type attribute
Comment 8 Didier "Ptitjes" 2009-02-25 00:34:02 UTC
Created attachment 129443 [details] [review]
Additional fix for nullable and ownership transfer for fields and return values

This patch must be applied along to patch 129349
Comment 9 Didier "Ptitjes" 2009-02-26 15:21:30 UTC
Created attachment 129572 [details] [review]
Fixes Iface structs according to bug 572434 resolution
Comment 10 Jürg Billeter 2009-02-27 21:45:16 UTC
commit 63e4647aaefdfdacc11fcb015a970a9bd925d457
Author: Jürg Billeter <j@bitron.ch>
Date:   Fri Feb 27 22:38:29 2009 +0100

    GIR parser: Add support for package and c:include tags
    
    Based on patch by Didier Villevalois, fixes part of bug 559704
Comment 11 Jürg Billeter 2009-02-27 21:58:22 UTC
commit 70818c4048a61a9dc650a07ff64fe577a0b7b689
Author: Jürg Billeter <j@bitron.ch>
Date:   Fri Feb 27 22:55:48 2009 +0100

    GIR parser: Add support for unions and boxed types
    
    Based on patch by Didier Villevalois, fixes part of bug 559704
Comment 12 Mark Lee 2009-04-21 00:30:32 UTC
Created attachment 133002 [details] [review]
Add support for virtual method tags in interfaces.

Here's a series of patches that improves GIR support in Vala.
Comment 13 Mark Lee 2009-04-21 00:32:40 UTC
Created attachment 133003 [details] [review]
Add support for union tags in records.
Comment 14 Mark Lee 2009-04-21 00:34:29 UTC
Created attachment 133004 [details] [review]
Add support for c:prefix in namespaces.
Comment 15 Mark Lee 2009-04-21 00:42:11 UTC
Created attachment 133005 [details] [review]
Add namespace exception for GdkPixbuf.

As noted in the code, it's more of a hack/workaround than a real fix.
Comment 16 Mark Lee 2009-04-21 01:06:49 UTC
Created attachment 133006 [details] [review]
Don't parse GObject-specific private structs and fields.

Specifically, structs ending in "Class" or "Private", and fields named "priv", "parent_instance", or "parent". This also seems more like a workaround for the current behavior in GObject Introspection, which ptitjes pointed out in comment #3.
Comment 17 Mark Lee 2009-04-21 05:54:57 UTC
Created attachment 133017 [details] [review]
Ensure that packages parsed from GIR files are read.

Parse GIR files before .vala/.vapi files.
Whitespace fixes.
Change the visibility of Vala.VAPIGen and its add_package() method.
Add the vapigen instance as a field of the GIR parser.
Comment 18 Jürg Billeter 2009-05-07 16:45:20 UTC
commit fe18c65bd8ce803d608758cf396e460f134426b5
Author: Didier 'Ptitjes <ptitjes@free.fr>
Date:   Wed Apr 29 13:48:42 2009 +0200

    GIR parser: Add c:prefix parsing
    
    Signed-off-by: Mark Lee <marklee@svn.gnome.org>
    Signed-off-by: Didier 'Ptitjes <ptitjes@free.fr>

commit 859b3872843ed2671f043b48e3cbf26fd6d7be21
Author: Didier 'Ptitjes <ptitjes@free.fr>
Date:   Wed Apr 29 12:58:57 2009 +0200

    GIR parser: Fix virtual method and signal parsing
    
    Signed-off-by: Didier 'Ptitjes <ptitjes@free.fr>

commit e15b061fbad4fd6edd55794c62257c32380c5414
Author: Didier 'Ptitjes <ptitjes@free.fr>
Date:   Wed Apr 29 12:15:56 2009 +0200

    GIR parser: Mark constants as external to not require initializer
    
    Signed-off-by: Didier 'Ptitjes <ptitjes@free.fr>

commit a1472539782383b3acc60c9ae5bbc7d16c0a826c
Author: Didier 'Ptitjes <ptitjes@free.fr>
Date:   Wed Apr 29 00:50:04 2009 +0200

    GIR parser: Fix allow-none attribute parsing in fields and return values
    
    Signed-off-by: Didier 'Ptitjes <ptitjes@free.fr>

commit e8f2dbe325cd698a9fc99041a930eec8312e5b45
Author: Didier 'Ptitjes <ptitjes@free.fr>
Date:   Wed Apr 29 00:39:23 2009 +0200

    GIR parser: Fix construct-only attribute parsing for properties
    
    Signed-off-by: Didier 'Ptitjes <ptitjes@free.fr>

commit 8c0e76d573e0ab735d2724511e198ed7724b4a3f
Author: Didier 'Ptitjes <ptitjes@free.fr>
Date:   Wed Apr 29 00:32:40 2009 +0200

    GIR parser: Parse class constants
    
    Signed-off-by: Didier 'Ptitjes <ptitjes@free.fr>

commit 8e0d23f08b15290a587dc0eee5396f9c251c4a06
Author: Didier 'Ptitjes <ptitjes@free.fr>
Date:   Wed Apr 29 00:20:46 2009 +0200

    GIR parser: Fix c:type parsing in types and constructor return value
    
    Signed-off-by: Didier 'Ptitjes <ptitjes@free.fr>

commit 17baf0d6a32dc41efe222917f31f8c58ae829ab4
Author: Didier 'Ptitjes <ptitjes@free.fr>
Date:   Thu Apr 16 19:41:20 2009 +0200

    GIR parser: Handle module GModule in namespace GLib
    
    Signed-off-by: Didier 'Ptitjes <ptitjes@free.fr>
Comment 19 Jürg Billeter 2009-05-07 20:07:55 UTC
I've applied all GIR parser patches from ptitjes's repository, as far as I can tell. Are any of the patches attached here still pending?
Comment 20 Jordan Yelloz 2009-06-19 08:14:53 UTC
Created attachment 136978 [details] [review]
fix the case of cprefix and lower_case_cprefix in generated vapi.

I consulted ptitjes on this and he told me to make this patch.

I am trying to make newer bindings for clutter-0.9 using the generated gir files and Clutter-0.9.gir defines c:prefix="Clutter".  Existing code turns that into cprefix="CLUTTER" and lower_case_cprefix="Clutter_", both of which are incorrect.
This patch will make cprefix="Clutter" and lower_case_cprefix="clutter_" which are the correct values.
Comment 21 Jürg Billeter 2009-07-08 11:04:53 UTC
commit ff781d2ea864c3fe8c2afe0a134544b2334104c1
Author: Jordan Yelloz <jordan.yelloz@gmail.com>
Date:   Fri Jun 19 00:59:14 2009 -0700

    GIR parser: Fix case for cprefix
Comment 22 Abderrahim Kitouni 2009-12-20 19:59:00 UTC
Created attachment 150119 [details] [review]
girwriter: always include GLib and GObject
Comment 23 Abderrahim Kitouni 2009-12-20 19:59:28 UTC
Created attachment 150120 [details] [review]
girwriter: put parent_class in the class struct
Comment 24 Abderrahim Kitouni 2009-12-20 20:00:16 UTC
Created attachment 150121 [details] [review]
girwriter: embed <callback> inside <field> for virtual methods

see gobject-introspection commit f8693bda3775f6339f38a17c037ac7bc4a4cc3f7
Comment 25 Abderrahim Kitouni 2009-12-20 20:00:54 UTC
Created attachment 150122 [details] [review]
girwriter: fix cname for vfunc <callback> element
Comment 26 Abderrahim Kitouni 2009-12-20 20:01:25 UTC
Created attachment 150123 [details] [review]
girwriter: write virtual signal handlers
Comment 27 Abderrahim Kitouni 2009-12-20 20:02:02 UTC
Created attachment 150124 [details] [review]
girwriter: write parent_instace and priv fields
Comment 28 Abderrahim Kitouni 2009-12-20 20:03:00 UTC
Created attachment 150125 [details] [review]
girwriter: write user_data parameter for delegates
Comment 29 Abderrahim Kitouni 2009-12-20 20:07:05 UTC
With these patches, I could compile a Vala generated gir with g-ir-compiler

(In reply to comment #22)
> Created an attachment (id=150119) [details] [review]
> girwriter: always include GLib and GObject

btw, this is just a workaround for bug 584683
Comment 30 Jordan Yelloz 2010-01-03 09:02:44 UTC
Created attachment 150724 [details] [review]
GIR parser: Fix valamarkupreader's filename field and add support for parsing callbacks as a type.

First, for some reason the filename property wasn't initializing properly in valamarkupreader so I changed it to a GObject-type constructor.
Second, I added the ability to parse a callback as a type.
Comment 31 Jürg Billeter 2010-01-17 12:50:28 UTC
commit 495cd714aca44534b1cec1fb71edb20a40ae47d0
Author: Abderrahim Kitouni <a.kitouni@gmail.com>
Date:   Thu Dec 3 21:10:28 2009 +0100

    GIR writer: Write user_data parameter for delegates

commit 93568146e15af82783e298bcc9948796d6ed2119
Author: Abderrahim Kitouni <a.kitouni@gmail.com>
Date:   Thu Dec 3 20:45:23 2009 +0100

    GIR writer: Write parent_instace and priv fields

commit cb344b3564768ab5503ce044de18d5a75e813c29
Author: Abderrahim Kitouni <a.kitouni@gmail.com>
Date:   Thu Dec 3 20:02:39 2009 +0100

    GIR writer: Write virtual signal handlers

commit d30820a866aaabf5bf500f17e0afdb28ad2b44fb
Author: Abderrahim Kitouni <a.kitouni@gmail.com>
Date:   Thu Dec 3 20:00:54 2009 +0100

    GIR writer: Fix cname for vfunc <callback> element

commit 8ce3708986ba02e1a7e9aee9ff5c08f160e6cabe
Author: Abderrahim Kitouni <a.kitouni@gmail.com>
Date:   Thu Dec 3 18:51:46 2009 +0100

    GIR writer: Embed <callback> inside <field> for virtual methods
    
    See gobject-introspection commit f8693bda.

commit 91e8b4886c993d7ce4bb82857714aaf106925f74
Author: Abderrahim Kitouni <a.kitouni@gmail.com>
Date:   Thu Dec 3 18:40:53 2009 +0100

    GIR writer: Add parent_class to the class struct

commit 81084a45a913a69e69d50892ac0db038d981e5fe
Author: Abderrahim Kitouni <a.kitouni@gmail.com>
Date:   Fri Sep 4 16:18:38 2009 +0100

    GIR writer: Always include GLib and GObject
Comment 32 Jürg Billeter 2010-01-17 13:14:48 UTC
commit 0a477a48040208d31f99ec69f20817c62d462186
Author: Jordan Yelloz <jordan.yelloz@gmail.com>
Date:   Sun Jan 3 00:47:06 2010 -0800

    GIR parser: Add support for parsing callback types
Comment 33 Jordan Yelloz 2010-02-15 04:39:15 UTC
Created attachment 153814 [details] [review]
GIR parser: Add a special case mapping for GObject.TypeInterface to GLib.Type
Comment 34 Abderrahim Kitouni 2010-02-18 09:44:22 UTC
(In reply to comment #33)
> GIR parser: Add a special case mapping for GObject.TypeInterface to GLib.Type
I feel this is incorrect (GType is an integer while GTypeInterface is a struct), what's the use case for this?
Comment 35 Abderrahim Kitouni 2010-06-03 21:18:42 UTC
Created attachment 162693 [details] [review]
girparser: StringBuilder is GLib.String not GObject.String
Comment 36 Abderrahim Kitouni 2010-06-03 21:19:41 UTC
Created attachment 162694 [details] [review]
girparser: add an exception for Atk.Implementor

Atk.Implementor has a GType name of AtkImplementorIface and that's what
gobject-introspection uses.
Comment 37 Abderrahim Kitouni 2010-06-03 21:21:43 UTC
Created attachment 162695 [details] [review]
girwriter: fix closure attribute for delegate targets

The code was assuming that data_type would be a Delegate for a
DelegateType while it is null.
Comment 38 Abderrahim Kitouni 2010-06-03 21:46:23 UTC
Created attachment 162698 [details] [review]
girparser: correctly find the namespace for a given gir namespace

this is done by searching for gir_namespace in all namespaces
Comment 39 Abderrahim Kitouni 2010-06-24 21:11:50 UTC
Created attachment 164552 [details] [review]
GIR Parser: do not assume that interface structs have the Iface suffix

Interfaces generated using G_DEFINE_INTERFACE have Interface suffix. The
code generator also needs to be fixed (a workaround for now is
to add typedefs from *Interface to *Iface).
Comment 40 Jürg Billeter 2010-06-29 17:35:34 UTC
Comment on attachment 162693 [details] [review]
girparser: StringBuilder is GLib.String not GObject.String

commit 60380e8e99bd0998be4c268d599c61c28d8dab9b
Author: Abderrahim Kitouni <a.kitouni@gmail.com>
Date:   Fri Apr 9 17:52:32 2010 +0100

    girparser: StringBuilder is GLib.String not GObject.String
Comment 41 Jürg Billeter 2010-06-29 17:44:53 UTC
Comment on attachment 162694 [details] [review]
girparser: add an exception for Atk.Implementor

commit 6293d01d61dbe3741965b7d402573548cc35bf22
Author: Abderrahim Kitouni <a.kitouni@gmail.com>
Date:   Fri Apr 30 22:19:17 2010 +0100

    girparser: Add an exception for Atk.Implementor
    
    Atk.Implementor has a GType name of AtkImplementorIface and this is
    what gobject-introspection uses.
Comment 42 Jürg Billeter 2010-06-29 17:46:52 UTC
Comment on attachment 162695 [details] [review]
girwriter: fix closure attribute for delegate targets

commit 8b6b3a70498dddafa4b97d7d1bc7e6d451779441
Author: Abderrahim Kitouni <a.kitouni@gmail.com>
Date:   Sat May 15 18:25:21 2010 +0100

    girwriter: Fix closure attribute for delegate targets
    
    The code was assuming that data_type would be a Delegate for a
    DelegateType while it is null.
Comment 43 Jürg Billeter 2010-06-29 17:47:01 UTC
Comment on attachment 162693 [details] [review]
girparser: StringBuilder is GLib.String not GObject.String

commit 60380e8e99bd0998be4c268d599c61c28d8dab9b
Author: Abderrahim Kitouni <a.kitouni@gmail.com>
Date:   Fri Apr 9 17:52:32 2010 +0100

    girparser: StringBuilder is GLib.String not GObject.String
Comment 44 Jürg Billeter 2010-06-29 17:48:15 UTC
(In reply to comment #34)
> (In reply to comment #33)
> > GIR parser: Add a special case mapping for GObject.TypeInterface to GLib.Type
> I feel this is incorrect (GType is an integer while GTypeInterface is a
> struct), what's the use case for this?

I agree, this looks wrong.
Comment 45 Abderrahim Kitouni 2010-07-06 10:08:59 UTC
how about patch 164552? Yes it' just a workaround but it's needed by libpeas right now.
And if you don't like the other patch (about namespaces), I can reorder them.
Comment 46 Luca Bruno 2010-07-24 21:25:27 UTC
Created attachment 166500 [details] [review]
Support nested GIR includes.
Comment 47 Luca Bruno 2010-07-24 21:47:03 UTC
Comment on attachment 166500 [details] [review]
Support nested GIR includes.

moved to bug 623526
Comment 48 Luca Bruno 2010-11-08 10:21:33 UTC
Comment on attachment 162698 [details] [review]
girparser: correctly find the namespace for a given gir namespace

Merge of switch-to-gir made this obsolete, because it has been fully reworked. Thanks for the work.
Comment 49 Daniel Espinosa 2011-05-06 01:16:46 UTC
Could anyone update:

https://live.gnome.org/Vala/Bindings

in order to know how to use GIR files to create vapi files.

Have you consider to create macros, like GObject-Introspection does, to add automatic vapi generation and install for Vala based projects? I've filed the Bug 649526, for this.
Comment 50 Daniel Espinosa 2017-02-17 20:49:02 UTC
This bug depends on GObject Introspection, then may is a task for 2.0 milestone.
Comment 51 GNOME Infrastructure Team 2018-05-22 13:12:52 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to GNOME's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.gnome.org/GNOME/vala/issues/17.