From 938f83c410ebfacaaa3fdbb25aca61d8531df6e8 Mon Sep 17 00:00:00 2001 From: Bilal Elmoussaoui Date: Mon, 5 Oct 2020 21:15:52 +0200 Subject: [PATCH] ci: generate & publish docs why not? also could help with newcomers --- .gitlab-ci.yml | 14 +++++++++++ build-aux/flatpak/org.gnome.clocks.json | 3 ++- meson.build | 2 ++ meson_options.txt | 2 ++ src/meson.build | 32 +++++++++++++++++++++++++ 5 files changed, 52 insertions(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index c5b2e3c..4870319 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -19,3 +19,17 @@ lint: image: "valalang/lint:latest" script: - io.elementary.vala-lint src + +docs: + image: "fedora:latest" + script: + - dnf install -y git valadoc vala meson glib2-devel gtk3-devel gsound-devel gnome-desktop3-devel libgweather-devel geoclue2-devel + - meson -Ddocs=true _build + - meson compile -C _build + - rm -rf public + - mv build/docs public + artifacts: + paths: + - public + # rules: + # - if: '$CI_COMMIT_BRANCH == "master"' \ No newline at end of file diff --git a/build-aux/flatpak/org.gnome.clocks.json b/build-aux/flatpak/org.gnome.clocks.json index 1ecd47a..1bf5e84 100644 --- a/build-aux/flatpak/org.gnome.clocks.json +++ b/build-aux/flatpak/org.gnome.clocks.json @@ -132,7 +132,8 @@ "name": "gnome-clocks", "buildsystem": "meson", "config-opts": [ - "-Dprofile=development" + "-Dprofile=development", + "-Ddocs=false" ], "sources": [ { diff --git a/meson.build b/meson.build index 9fa294a..af75f50 100644 --- a/meson.build +++ b/meson.build @@ -26,6 +26,8 @@ if not libhandy.found() 'libhandy', default_options: [ 'examples=false', + 'introspection=enabled', + 'vapi=true', 'glade_catalog=disabled', 'tests=false', ] diff --git a/meson_options.txt b/meson_options.txt index 3f62c34..12ff40d 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -8,3 +8,5 @@ option( value: 'default', description: 'The build profile for Clock. One of "default" or "development".' ) + +option('docs', type : 'boolean', value : false) \ No newline at end of file diff --git a/src/meson.build b/src/meson.build index 4673332..ce9bbe6 100644 --- a/src/meson.build +++ b/src/meson.build @@ -82,3 +82,35 @@ executable('gnome-clocks', clocks_sources, dependencies: clocks_dependencies, install: true ) + +if get_option('docs') + valadoc = find_program('valadoc') + custom_target('docs', + input: clocks_vala_sources, + output: 'docs', + command: [ + valadoc, + '--doclet=html', + '--force', + '--package-name=@0@'.format(meson.project_name()), + '--package-version=@0@'.format(meson.project_version()), + '--pkg=glib-2.0', + '--pkg=gio-2.0', + '--pkg=gio-unix-2.0', + '--pkg=gtk+-3.0', + '--pkg=gobject-2.0', + '--pkg=libhandy-1', + '--pkg=gsound', + '--pkg=gweather-3.0', + '--pkg=gnome-desktop-3.0', + '--pkg=geocode-glib-1.0', + '--pkg=libgeoclue-2.0', + '--pkg=config', + '--directory=@OUTDIR@/../docs', + '--vapidir=@0@'.format(meson.current_source_dir()), + '--use-svg-images', + clocks_vala_sources + ], + build_by_default: true, + ) +endif -- GitLab