[gnome-shell] ci: Check that files with translatable strings are listed in POTFILES
- From: Florian Müllner <fmuellner src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell] ci: Check that files with translatable strings are listed in POTFILES
- Date: Wed, 26 Feb 2020 23:00:09 +0000 (UTC)
commit 7a0c866d97eb1d98d9a651875bbb79fd0539fa2f
Author: Florian Müllner <fmuellner gnome org>
Date: Tue Feb 18 19:05:47 2020 +0100
ci: Check that files with translatable strings are listed in POTFILES
Also known as "Piotr Drąg Bot".
We will soon make sure that files processed by xgettext don't use template
strings. To make that check as adequate as possible, ensure that no source
code files are missing from POTFILES.
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/1016
.gitlab-ci.yml | 7 +++++++
.gitlab-ci/check-potfiles.sh | 26 ++++++++++++++++++++++++++
2 files changed, 33 insertions(+)
---
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 6e58624440..3b4d23ab9a 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -46,6 +46,13 @@ eslint:
- reports
when: always
+potfile_check:
+ image: registry.gitlab.gnome.org/gnome/gnome-shell/extension-ci:v1
+ stage: review
+ script:
+ - ./.gitlab-ci/check-potfiles.sh
+ <<: *only_default
+
build:
image: registry.gitlab.gnome.org/gnome/mutter/master:v3
stage: build
diff --git a/.gitlab-ci/check-potfiles.sh b/.gitlab-ci/check-potfiles.sh
new file mode 100755
index 0000000000..51cbdd89a2
--- /dev/null
+++ b/.gitlab-ci/check-potfiles.sh
@@ -0,0 +1,26 @@
+#!/usr/bin/env bash
+
+srcdirs="js src subprojects/extensions-tool"
+globs=('*.js' '*.c')
+
+# find source files that contain gettext keywords
+files=$(grep -lR ${globs[@]/#/--include=} '\(gettext\|[^I_)]_\)(' $srcdirs)
+
+# find those that aren't listed in POTFILES.in
+missing=$(for f in $files; do ! grep -q ^$f po/POTFILES.in && echo $f; done)
+
+if [ ${#missing} -eq 0 ]; then
+ exit 0
+fi
+
+cat >&2 <<EOT
+
+The following files are missing from po/POTFILES.po:
+
+EOT
+for f in $missing; do
+ echo " $f" >&2
+done
+echo >&2
+
+exit 1
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]