From 952238d5fecec56426b3491c69ea14bd9964b535 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 27 Jul 2023 13:24:34 +0200 Subject: [PATCH] Detect missing translations. --- tools/check/check_code_quality.sh | 19 +++++++++--- tools/check/forbidden_strings_in_xml.txt | 38 ++++++++++++++++++++++++ 2 files changed, 53 insertions(+), 4 deletions(-) create mode 100755 tools/check/forbidden_strings_in_xml.txt diff --git a/tools/check/check_code_quality.sh b/tools/check/check_code_quality.sh index 9e8c964499..f37d661379 100755 --- a/tools/check/check_code_quality.sh +++ b/tools/check/check_code_quality.sh @@ -38,7 +38,7 @@ else fi echo -echo "Search for forbidden patterns in code..." +echo "Search for forbidden patterns in Kotlin source files..." # list all Kotlin folders of the project. allKotlinDirs=`find . -type d |grep -v build |grep -v \.git |grep -v \.gradle |grep kotlin$` @@ -47,9 +47,20 @@ ${searchForbiddenStringsScript} ./tools/check/forbidden_strings_in_code.txt $all resultForbiddenStringInCode=$? -if [[ ${resultForbiddenStringInCode} -eq 0 ]]; then - echo "MAIN OK" +echo +echo "Search for forbidden patterns in XML resource files..." + +# list all res folders of the project. +allResDirs=`find . -type d |grep -v build |grep -v \.git |grep -v \.gradle |grep /res$` + +${searchForbiddenStringsScript} ./tools/check/forbidden_strings_in_xml.txt $allResDirs + +resultForbiddenStringInXml=$? + +if [[ ${resultForbiddenStringInCode} -eq 0 ]] \ + && [[ ${resultForbiddenStringInXml} -eq 0 ]]; then + echo "OK" else - echo "❌ MAIN ERROR" + echo "❌ ERROR, please check the logs above." exit 1 fi diff --git a/tools/check/forbidden_strings_in_xml.txt b/tools/check/forbidden_strings_in_xml.txt new file mode 100755 index 0000000000..ee0e4c7136 --- /dev/null +++ b/tools/check/forbidden_strings_in_xml.txt @@ -0,0 +1,38 @@ +# +# Copyright 2023 New Vector Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +# This file list String which are not allowed in resource. +# Use Perl regex to write forbidden strings +# Note: line cannot start with a space. Use \s instead. +# It is possible to specify an authorized number of occurrence with === suffix. Default is 0 +# Example: +# AuthorizedStringThreeTimes===3 + +# Extension:xml + +### Empty tag detected. Empty translation or plurals? +">"">>>>>> + +### "DO NOT COMMIT" has been committed +DO NOT COMMIT + +### Tab char is forbidden. Use only spaces +\t