1
0
mirror of https://gitlab.gnome.org/GNOME/glib.git synced 2025-07-14 14:25:13 +02:00
Commit Graph

3009 Commits

Author SHA1 Message Date
257b98027b Merge branch 'wip/smcv/gir-man-pages' into 'main'
Add man pages for gi-* tools

Closes  and gobject-introspection#55

See merge request 
2024-02-15 21:37:35 +00:00
2cc82bd2ca Add a man page for gi-inspect-typelib
Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-02-14 12:07:46 +00:00
b0163afd3b Add gi-* man pages to the build system
Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-02-14 12:07:46 +00:00
66fda286e1 g-ir- tools: Add examples to man pages
Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-02-14 12:07:46 +00:00
d0cb89538a Retitle gi-* man pages and update content
gi-compile-repository --module and gi-decompile-typelib --shlib are
intentionally undocumented here: they will be removed in .

Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-02-14 12:07:46 +00:00
615c51988d Spell Matthias' name correctly in the gi-* man pages
This was wrong since 2008.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-02-14 12:07:46 +00:00
bca2ad0c03 Add metadata header to gi-* man pages
Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-02-14 12:07:46 +00:00
30e8c6a1de Rename man pages to the tools' GLib names
Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-02-14 12:07:46 +00:00
af9c0b0159 Remove generated man pages
Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-02-14 12:07:46 +00:00
e37c94817d Move g-ir-compiler, g-ir-generate man pages to docs/reference/girepository
Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-02-14 12:07:46 +00:00
87ae4fb3ac docs: Update website link 2024-02-14 12:07:46 +00:00
1bda59fcc9 Add a --version option to g-ir-compiler and g-ir-generate.
Resolves: gobject-introspection#55
2024-02-14 12:07:46 +00:00
8d699b6268 Sphinx based user documentation
The current output (more or less a straight copy of the wiki) is available
here:

https://gi.readthedocs.io

This contains two changes:

* Converts all (not completely outdated) wiki pages to a sphinx based
  documentation.
* Converts the man pages to reST and adds a Makefile for building them
  using rst2man. So they can be easily exposed in the sphinx docs.

Goals:

* Have a user focused/compact documentation instead of random wiki pages
  with various todo/ideas pages.
* Take advantage of the gitlab MR workflow by
  * allowing large documentation changes/refactorings with reviews
  * allowing to combine features changes with documentation changes in MRs
2024-02-14 12:07:46 +00:00
ae313e311d Update bug reporting links.
Also disable automatic hyphenation in manual pages to prevent wrapping
long URLs. Ensures that URLs can be easily navigated by clicking on
them.
2024-02-14 12:07:46 +00:00
c7387b504a docs: Remove incorrect name rule
The leading `lib` should be passed as part of the shared library name in
the `--shared-library` argument for g-ir-compiler.

https://bugzilla.gnome.org/show_bug.cgi?id=699354
2024-02-14 12:07:46 +00:00
e24c7f93c9 docs: fix manpage flag formats
Signed-off-by: Ben Boeckel <mathstuf@gmail.com>
2024-02-14 12:07:46 +00:00
be0bb09c7a Fixed reference to obsolete name used in g-ir-generate manpage
https://bugzilla.gnome.org/show_bug.cgi?id=729901
2024-02-14 12:07:46 +00:00
33b7bc36ad Update bugzilla product/component
g-i bug reports have been moved from:
  http://bugzilla.gnome.org/enter_bug.cgi?product=glib&amp;component=introspection
to:
  http://bugzilla.gnome.org/enter_bug.cgi?product=gobject-introspection

https://bugzilla.gnome.org/show_bug.cgi?id=745498
2024-02-14 12:07:46 +00:00
0e11c0ad8d g-ir-compiler: remove references to --code, remove --no-init options
The "--code" option was removed years ago in ac81f3e8c5f1c380d16677232d67466e739da283
so remove references to it from README and g-ir-compiler(1)

Remove the "--no-init" option from g-ir-compiler and g-ir-compiler(1)
as it was documented to "can only be used if --code is also specified",
so no reason to keep it around.
2024-02-14 12:07:46 +00:00
7bff894a04 Do not use triple dashes 2024-02-14 12:07:46 +00:00
d500d23c58 Remove leading %
2008-09-06  Johan Dahlin  <johan@gnome.org>

    * docs/g-ir-generate.1: Remove leading %


svn path=/trunk/; revision=573
2024-02-14 12:07:45 +00:00
3c65ea7a18 Add man pages for the generator and compiler.
2008-08-29  Johan Dahlin  <johan@gnome.org>

    * Makefile.am:
    * docs/g-ir-compiler.1:
    * docs/g-ir-generate.1:
    * docs/g-ir-scanner.1:
    Add man pages for the generator and compiler.


svn path=/trunk/; revision=518
2024-02-14 12:07:45 +00:00
8440742c12 migrating-gi: Document command-line option removals
From , .

Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-02-14 12:03:36 +00:00
64762fdef6 gi-decompile-typelib: Interpret --includedir as most-important-first
This is a behaviour change from g-ir-generate, which treats it as
least-important-first (the last directory on the command-line is
searched first).

gi-compile-repository --includedir and gcc -I are most-important-first
(the first directory on the command-line is searched first) so it seems
like it makes most sense to be consistent with that.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-02-14 12:00:05 +00:00
4314944e56 introspection: Drop Unix and Win32 prefixes from platform specific APIs
So now introspection users will have to call `GLibUnix.open_pipe()`
rather than `GLibUnix.unix_open_pipe()` — or
`GLibWin32.check_windows_version()` rather than
`GLibWin32.win32_check_windows_version()`.

Signed-off-by: Philip Withnall <pwithnall@gnome.org>

Helps: 
2024-02-12 17:54:36 +00:00
434d3ff524 docs: Mention GioUnix-2.0 GIR namespace alongside gio-unix-2.0.pc
This should clarify things a little for users of language bindings, who
don’t directly use `.pc` files.

Signed-off-by: Philip Withnall <pwithnall@gnome.org>
2024-02-12 17:54:10 +00:00
c498c9a8c9 docs: Split out platform specific GIO and GLib documentation
This creates `GioUnix`, `GioWin32`, `GLibUnix` and `GLibWin32`. These
bodies of documentation are in addition to the main, platform agnostic,
documentation for both libraries.

This commit necessarily includes various mechanical changes to update
the repository namespace used in various existing documentation links to
platform specific APIs.

Signed-off-by: Philip Withnall <pwithnall@gnome.org>

Helps: 
2024-02-12 17:54:10 +00:00
4c178fa623 build: Combine duplicate urlmap.js files
Seems no point in keeping them separate. It doesn’t seem to matter if
they contain entries which are unused for a particular docs build.

Signed-off-by: Philip Withnall <pwithnall@gnome.org>
2024-02-12 17:54:10 +00:00
3695249ebb docs: Drop unnecessary GdkPixbuf reference from urlmap.js
It was unused.

Signed-off-by: Philip Withnall <pwithnall@gnome.org>
2024-02-12 17:54:10 +00:00
f51398af91 girepository: Drop GIBoxedInfo
See the previous commit for details.

Signed-off-by: Philip Withnall <pwithnall@gnome.org>

Helps: 
2024-02-12 13:17:04 +00:00
8248382d8b gi-inspect-repository: Change --version argument to --typelib-version
`--version` is conventionally used to find the version of the program
itself. While that’s not currently implemented in
`gi-inspect-repository`, let’s not box ourselves into a corner.

Signed-off-by: Philip Withnall <pwithnall@gnome.org>
2024-02-09 20:41:17 +00:00
d6d845aee3 docs: Add missing migration guide for gi_repository_get_shared_libraries()
Signed-off-by: Philip Withnall <pwithnall@gnome.org>
2024-02-09 20:40:47 +00:00
45468f1bb8 docs: Document girepository-2.0 utility program name changes
Signed-off-by: Philip Withnall <pwithnall@gnome.org>
2024-02-09 20:40:46 +00:00
343027d5de girepository: Make GIInfoType private
Eventually, we want to move to using `GType` directly for everything,
since `GIBaseInfo` and its subclasses are all using `GTypeInstance`.

However, that requires quite a lot of changes and we’re about to hit the
API freeze.

So do the smallest set of changes possible to remove `GIInfoType` and
related functions from the public API, which gives us freedom to make
more changes later without breaking API.

Signed-off-by: Philip Withnall <pwithnall@gnome.org>

Helps: 
2024-02-08 12:56:02 +00:00
86cd95f1ae Merge branch 'gi-info-new' into 'main'
gibaseinfo: Rename gi_info_new() to gi_base_info_new()

See merge request 
2024-02-08 10:34:40 +00:00
beb59595b7 gibaseinfo: Rename gi_info_new() to gi_base_info_new()
It’s actually a factory method rather than a constructor, since
`GIBaseInfo` is abstract, but despite that, changing the name so it sits
inside the `GIBaseInfo` class makes sense. There is no `GIInfo` type.

Signed-off-by: Philip Withnall <pwithnall@gnome.org>

Helps: 
2024-02-08 10:34:40 +00:00
e1cff511e5 Merge branch '3155-union-tests' into 'main'
gitypes: Fix integer values of GIInfoType and add unit tests for GIUnionInfo

See merge request 
2024-02-08 10:25:13 +00:00
78698af73f Merge branch '3246-object-info-docs' into 'main'
girepository: Fix declaration of ‘find using interfaces’ methods

Closes 

See merge request 
2024-02-08 10:19:16 +00:00
62abd578cd Merge branch '3155-typelib-boxed' into 'main'
gitypelib: Switch to refcounting

See merge request 
2024-02-08 10:18:40 +00:00
a138589d57 Merge branch 'repository-n-elements' into 'main'
girepository: Add length ‘out’ arguments to several getter methods

See merge request 
2024-02-08 10:18:12 +00:00
6fe7edbc8d Merge branch 'girepository-migration-docs' into 'main'
docs: Add migration guide for libgirepository

See merge request 
2024-02-08 10:10:40 +00:00
5cc5f413f5 gitypelib: Switch to refcounting
Since `GITypelib` is exposed in the public libgirepository API, it needs
to be a boxed type. So we either need to add a `copy` method to mirror
the existing `free` method, or switch to refcounting. The latter option
seems better, since a `GITypelib` contains internal state about open
`GModule`s and the semantics for copying that would be potentially
complex.

Signed-off-by: Philip Withnall <pwithnall@gnome.org>

Helps: 
2024-02-07 21:07:18 +00:00
01f9796532 girepository: Add length ‘out’ arguments to several getter methods
This makes them consistent with the other getter methods in
`GIRepository` which return lists/arrays. It’s useful to return the
length, as that means the caller doesn’t have to work it out by
iterating over the entire array.

Signed-off-by: Philip Withnall <pwithnall@gnome.org>

Helps: 
2024-02-07 15:47:13 +00:00
040caa5f6a gdbus-codegen(1): Suggest --pragma-once for headers written to stdout
Otherwise we would generate a multiple-inclusion guard of the
form `#ifndef __STDOUT__ ...`, which can only work for one D-Bus
interface per translation unit.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-02-06 14:06:51 +00:00
fc7942f46b gdbus-codegen: If writing body to stdout, don't try to include header
If we're writing the body to standard output, we cannot know what the
filename of the corresponding header is going to be, but it seems
vanishingly unlikely that it will be either `stdout.h` (which we would
traditionally have generated) or `-.h` (which we would have generated
since ).

This makes some of the output snippets sufficiently short that black(1)
requires that they are folded into a single line.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-02-06 14:06:45 +00:00
11e8075e51 giunioninfo: Split success and return value for get_discriminator_offset()
Otherwise there’s no obvious suitable return value to return when the
union is *not* discriminated.

This is an API break, but libgirepository has not been in a stable
release yet, so that’s fine.

Signed-off-by: Philip Withnall <pwithnall@gnome.org>

Helps: 
2024-02-06 13:34:17 +00:00
1ba8386886 codegen: Document --output -
Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-02-06 11:53:06 +00:00
7acef299c2 girepository: Fix declaration of ‘find using interfaces’ methods
Fix the declaration and documentation of
`gi_object_info_find_method_using_interfaces()` and
`gi_object_info_find_vfunc_using_interfaces()`. The documentation was
wrong when I wrote it: the value returned is the object or interface
which declares the method or vfunc, not the one which implements it.

The returned declarer info may be a `GIObjectInfo` or a
`GIInterfaceInfo`. Since those two types have no subtype relation
between them, the return type has to be changed to `GIBaseInfo`. Using
`GIObjectInfo` would have been fine in girepository-1.0 because all
`*Info` types were aliases of each other — but since the move to
`GTypeInstance` this is no longer true.

A unit test will be in the following commit.

Signed-off-by: Philip Withnall <pwithnall@gnome.org>

Fixes: 
2024-02-05 18:40:03 +00:00
702719dee9 build: Ensure the libgirepository docs are installed
Make the `meson.build` match the other docs `meson.build` files.

Signed-off-by: Philip Withnall <pwithnall@gnome.org>
2024-02-05 18:03:52 +00:00
bad849347d docs: Add migration guide for libgirepository
This covers all the API changes from girepository-1.0 to
girepository-2.0 so far.

It was generated by manually looking through the changes in `git diff
af36393e6.. -- girepository/*.h`.

Signed-off-by: Philip Withnall <pwithnall@gnome.org>

Helps: 
2024-02-05 18:03:52 +00:00