diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index c5b2e3c56a31843a068196ef528fcbb4ff15678a..487031939b51e943208ece5382bc219d787e988e 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 1ecd47a173286d6324b4082813db476728e16591..1bf5e8417aa92481f2a57b7910b74e7cc8270d37 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 9fa294afbbb442ed8f8e983ee9c4fb7040a7ceb4..af75f500b3eb23b7a36adf63b05880b6c59ec38c 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 3f62c34c5b5e2d7872a2b4670b370c2f7f1da1c9..12ff40dc811c8562876c292f9da992165aed3020 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 46733328a486dd9682b2b696f4ed979105a90043..ce9bbe648927cfa7651ad287f3ed8363e3db1ca5 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