gdbus-codegen: Add a --glib-min-version argument

This can be used by callers to opt-in to backwards-incompatible changes
to the behaviour or output of `gdbus-codegen` in future. This commit
doesn’t introduce any such changes, though.

Documentation and unit tests included.

Signed-off-by: Philip Withnall <withnall@endlessm.com>

Helps: #1726
This commit is contained in:
Philip Withnall
2019-12-02 15:53:14 +00:00
parent 41cabfaa98
commit 90f0733858
4 changed files with 95 additions and 4 deletions

View File

@@ -50,6 +50,7 @@
<replaceable>VALUE</replaceable>
</arg>
</group>
<arg><option>--glib-min-version</option> <replaceable>VERSION</replaceable></arg>
<arg choice="plain">FILE</arg>
<arg>
<arg choice="plain" rep="repeat">FILE</arg>
@@ -420,6 +421,30 @@ gdbus-codegen --c-namespace MyApp \
</listitem>
</varlistentry>
<varlistentry>
<term><option>--glib-min-version</option> <replaceable>VERSION</replaceable></term>
<listitem>
<para>
Specifies the minimum version of GLib which the code generated by
<command>gdbus-codegen</command> can depend on. This may be used to
make backwards-incompatible changes in the output or behaviour of
<command>gdbus-codegen</command> in future, which users may opt in to
by increasing the value they pass for <option>--glib-min-version</option>.
If this option is not passed, the output from <command>gdbus-codegen</command>
is guaranteed to be compatible with all versions of GLib from 2.30
upwards, as that is when <command>gdbus-codegen</command> was first
released.
</para>
<para>
The version number must be of the form
<literal><replaceable>MAJOR</replaceable>.<replaceable>MINOR</replaceable>.<replaceable>MICRO</replaceable></literal>,
where all parts are integers. <replaceable>MINOR</replaceable> and
<replaceable>MICRO</replaceable> are optional. The version number may not be smaller
than <literal>2.30</literal>.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>