telegram-bot-bash/dev/make-dist.sh

62 lines
1.9 KiB
Bash
Raw Normal View History

2019-04-22 18:34:43 +00:00
#!/usr/bin/env bash
# this has to run once atfer git clone
# and every time we create new hooks
2019-05-10 19:38:25 +00:00
#### $$VERSION$$ v0.72-3-gdb14eb9
2019-04-22 18:34:43 +00:00
# magic to ensure that we're always inside the root of our application,
# no matter from which directory we'll run script
GIT_DIR=$(git rev-parse --git-dir)
cd "$GIT_DIR/.." || exit 1
2019-04-30 12:21:24 +00:00
VERSION="$(git describe --tags | sed -e 's/-[0-9].*//' -e 's/v//')"
2019-04-22 18:34:43 +00:00
DISTNAME="telegram-bot-bash"
DISTDIR="./dist/${DISTNAME}"
2019-04-30 12:21:24 +00:00
DISTFILES="bashbot.rc bashbot.sh commands.sh mycommands.sh doc examples modules LICENSE README.md README.txt README.html"
2019-04-22 18:34:43 +00:00
# run tests first!
2019-04-26 15:25:28 +00:00
for test in "dev/all-tests.sh"
2019-04-22 18:34:43 +00:00
do
if ! "${test}" ; then
echo "Test ${test} failed, can't create dist!"
exit 1
fi
done
2019-04-28 08:32:06 +00:00
# create dir for distribution and copy files
2019-04-22 18:34:43 +00:00
mkdir -p "${DISTDIR}" 2>/dev/null
# shellcheck disable=SC2086
cp -r ${DISTFILES} "${DISTDIR}"
cd "${DISTDIR}" || exit 1
# additional stuff
2019-05-10 19:38:25 +00:00
mv "bashbot.rc" "bashbot.rc.dist"
2019-04-22 18:34:43 +00:00
mv "commands.sh" "commands.sh.dist"
mv "mycommands.sh" "mycommands.sh.dist"
2019-04-22 18:34:43 +00:00
JSONSHFILE="JSON.sh/JSON.sh"
if [ ! -f "${JSONSHFILE}" ]; then
2019-04-30 12:21:24 +00:00
mkdir "JSON.sh" 2>/dev/null
2019-04-22 18:34:43 +00:00
curl -sL -o "${JSONSHFILE}" "https://cdn.jsdelivr.net/gh/dominictarr/JSON.sh/JSON.sh"
chmod +x "${JSONSHFILE}"
fi
2019-04-28 08:32:06 +00:00
# make html doc
2019-04-30 12:21:24 +00:00
mkdir html 2>/dev/null
2019-04-28 08:32:06 +00:00
cp README.html html/index.html
2019-04-30 12:21:24 +00:00
find doc -iname "*.md" -type f -exec sh -c 'pandoc -s -S -M "title=Bashobot Documentation - ${0%.md}.html" "${0}" -o "./html/$(basename ${0%.md}.html)"' {} \;
find examples -iname "*.md" -type f -exec sh -c 'pandoc -s -S -M "title=Bashobot Documentation - ${0%.md}.html" "${0}" -o "${0%.md}.html"' {} \;
find README.html html examples -iname "*.html" -type f -exec sh -c 'sed -i -E "s/href=\"(\.\.\/)*doc\//href=\"\1html\//g;s/href=\"(.*).md(#.*)*\"/href=\"\1.html\"/g" ${0}' {} \;
2019-04-28 08:32:06 +00:00
2019-04-22 18:34:43 +00:00
# create archive
cd .. || exit 1
zip -rq "${DISTNAME}-${VERSION}.zip" "${DISTNAME}"
tar -czf "${DISTNAME}-${VERSION}.tar.gz" "${DISTNAME}"
# shellcheck disable=SC2086
ls -ld ${DISTNAME}-${VERSION}.*