-
Notifications
You must be signed in to change notification settings - Fork 7.4k
/
check_lang_folder_sync.sh
executable file
·36 lines (30 loc) · 1.13 KB
/
check_lang_folder_sync.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#!/usr/bin/env bash
#
# Check if folders with localized documentation are in sync
#
# 1. Traverse each folder with language version and generate a sorted list
# of all the files inside
# 2. Compare the sorted lists of files and flag differences
#
# Note:
# All differences between folders with language versions should be resolved
# before releasing documentation
#
RESULT=0
STARS='***************************************************'
find en -type f | cut -d/ -f2- | sort > file_list_en
find zh_CN -type f | cut -d/ -f2- | sort > file_list_zh_CN
# format is to display new or different filenames
DIFF_FORMAT="--unchanged-line-format= --old-line-format=[en]:%L --new-line-format=[zh_CN]:%L"
FOLDER_DIFFERENCES=$(diff $DIFF_FORMAT file_list_en file_list_zh_CN)
if ! [ -z "$FOLDER_DIFFERENCES" ]; then
echo "$STARS"
echo "Build failed due to the following differences in 'en' and 'zh_CN' folders:"
echo "$FOLDER_DIFFERENCES"
echo "$STARS"
echo "Please synchronize contents of 'en' and 'zh_CN' folders to contain files with identical names"
RESULT=1
fi
# remove temporary files
rm file_list_en file_list_zh_CN
exit $RESULT