Documentation for Developers of Vala

Developing the Compiler

Development Process

Submitting Bug Reports

Vala uses Bugzilla.

Submitting Patches

Patches should be attached to a bug report in bugzilla. Patches should include one or more test cases.

Reviewing Patches

Committing Patches

Once your patch is accepted and if you have commit access then use git-bz, the Bugzilla subcommand for git. This tool automatically includes the Bugzilla reference in the commit message. See git-bz(1) Manual Page.

Maintaining Bindings

The Vala repository carries a number of bindings to libraries. The bindings are written in one of three ways:

  1. Manually
  2. Generated using vapigen from a GIR (GObject Introspection Repository) file

  3. Generated using vapigen from a deprecated GIDL file

To update a binding the first thing to do is find how the binding is written. From the Vala source tree:

cd vapi
make binding-name-x.y

If there is no make target then the VAPI is written manually. For example make glib-2.0 has no target. If the VAPI is generated using files from the ./metadata/ directory then the VAPI is generated from a GIR file. For example make gstreamer-1.0 is generated from a GIR file. If the VAPI is generated using files from the ./packages/ directory then the VAPI is generated from a GIDL file. For example make gtk+-3.0 is currently generated from a GIDL file.

Patches should be submitted through bugzilla as a git formatted patch, e.g. use git format-patch HEAD^1 Patches for generated bindings should also include the changes to the VAPI itself. The Vala repository keeps the generated VAPIs in version control as well as the metadata.

Projects/Vala/DeveloperDocumentation (last edited 2017-03-01 19:58:05 by AlThomas)