mirror of
https://github.com/tests-always-included/mo.git
synced 2024-12-18 16:27:52 +00:00
43 lines
1.1 KiB
Bash
Executable File
43 lines
1.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
cd "$(dirname "$0")" # Go to the script's directory
|
|
|
|
EVERY_REPO() {
|
|
# The block contents come in through standard input. Capture it here.
|
|
content=$(cat)
|
|
|
|
echo "# Starting EVERY_REPO"
|
|
|
|
# Get list of repos
|
|
for REPO in "${REPOS[@]}"; do
|
|
echo "## Looping one time for repo: $REPO"
|
|
|
|
# String replace REPO_ with the name
|
|
# This changes everything in the content block of the template.
|
|
# It rewrites {{__REPO__.name}} into {{resque.name}}, for instance.
|
|
# You can prefix your environment variables and do other things as well.
|
|
|
|
echo "$content" | sed "s/__REPO__/${REPO}/"
|
|
|
|
echo "## Looped one time for repo: $REPO"
|
|
done
|
|
|
|
echo "# Finished EVERY_REPO"
|
|
}
|
|
|
|
REPOS=(resque hub rip)
|
|
|
|
declare -A resque hub rip
|
|
resque=([name]=Resque [url]=http://example.com/resque)
|
|
hub=([name]=Hub [url]=http://example.com/hub)
|
|
rip=([name]=Rip [url]=http://example.com/rip)
|
|
. ../mo
|
|
cat <<EOF | mo
|
|
{{#EVERY_REPO}}
|
|
The repo is __REPO__
|
|
Name: {{__REPO__.name}}
|
|
URL: {{__REPO__.url}}
|
|
{{/EVERY_REPO}}
|
|
|
|
EOF
|