-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathreadme.sh
executable file
·74 lines (62 loc) · 1.89 KB
/
readme.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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#!/usr/bin/env bash
README_FILE="README.md"
TEMPLATE_FILE="README.template.md"
NGINX_VERSIONS_FILE=".github/locks/nginx-versions.json"
# Inject value into README.md
function readme() {
local key=$1
local value=$2
if [[ "$OSTYPE" == "darwin"* ]]; then
sed -i '' -e "s|<!--$key-->|$value|" $README_FILE
else
sed -i -e "s|<!--$key-->|$value|" $README_FILE
fi
}
if [ ! -f "${NGINX_VERSIONS_FILE}" ]; then
echo "The file nginx-versions.json does not exist."
exit 1
fi
echo "Generating $README_FILE from $TEMPLATE_FILE..."
echo "- Removing old $README_FILE"
if [ -f "$README_FILE" ]; then
rm -f $README_FILE
fi
cp $TEMPLATE_FILE $README_FILE
echo "- Generate supported releases list..."
md_releases="\n"
releases=(`jq -cr '. | join(" ")' ${NGINX_VERSIONS_FILE}`)
for release in "${releases[@]}"; do
md_releases+="\n- \`$release\`"
done
readme releases "$md_releases"
echo "- Generate modules list..."
md_modules="\n"
modules=(`jq -cr 'keys_unsorted | join(" ")' ./nginx-modules.json`)
for mod in "${modules[@]}"; do
desc=$(jq -cr ".[\"${mod}\"].description" nginx-modules.json)
homepage=$(jq -cr ".[\"${mod}\"].url" nginx-modules.json)
md_modules+="\n- [\`$mod\`](${homepage}): ${desc}"
done
readme modules "$md_modules"
echo "- Generate tags list..."
md_tags="\n"
# mainline, stable
releases=(mainline stable)
for release in "${releases[@]}"; do
for mod in "${modules[@]}"; do
# [Note] Set alpine release inline
md_tags+="\n- \`$release-$mod\`, \`$release-alpine-$mod\`"
done
done
# Versioned
md_tags+="\n"
md_tags+="\n**Versioning releases**:"
md_tags+="\n"
releases=(`jq -cr '. | join(" ")' ${NGINX_VERSIONS_FILE}`)
for release in "${releases[@]}"; do
for mod in "${modules[@]}"; do
# [Note] Set alpine release inline
md_tags+="\n- \`$release-$mod\`, \`$release-alpine-$mod\`"
done
done
readme tags "$md_tags"