#!/usr/bin/env bash # This script creates a release of Musique programming language # Release is defined as a zip archive containing source code, # build binaries for supported platforms and build documentation set -e -o pipefail Suffix="$(date +"%Y-%m-%d")" Target="release_$Suffix" if [ -d "$Target" ]; then rm -rf "$Target" fi mkdir -p "$Target" if ! [ -f bin/musique ]; then make bin/musique fi echo "Copy bin/musique, examples, license and documentation" cp bin/musique "$Target"/ cp LICENSE "$Target"/LICENSE cp CHANGELOG.md "$Target/CHANGELOG.md" cp -r examples "$Target"/examples sed "s/bin\/musique/musique/" scripts/install > "$Target"/install.sh chmod 0755 "$Target"/install.sh lowdown -s doc/overview.md -m "title:Omówienie języka Musique" -o "$Target"/overview.html lowdown -s doc/functions.md -m "title:Lista funkcji języka Musique" -o "$Target"/functions.html python scripts/language-cmp-cheatsheet.py doc/musique-vs-languages-cheatsheet.template mv doc/musique-vs-languages-cheatsheet.html "${Target}/musique-vs-others-cheatsheet.html" echo "Copy source code" git clone --recursive --quiet --depth=1 "$(git remote -v | awk '{ print $2 }' | head -n1)" "$Target"/source_code rm -rf "$Target"/source_code/.git echo "Boundle it all up" zip -q -r "musique_$Suffix.zip" "$Target"/*