Newer
Older
#!/usr/bin/env bash
# Generate the resources/version.properties file
version() {
VERSION_INFO=$(./bin/version)
IFS=', ' read -a info <<< ${VERSION_INFO}
# Ok, now generate the appropriate version.properties file.
echo "tag=${info[0]}" > resources/version.properties
echo "hash=${info[1]}" >> resources/version.properties
echo "branch=${info[2]}" >> resources/version.properties
echo "date=${info[3]}" >> resources/version.properties
frontend-deps() {
echo "Running 'yarn' to download javascript dependencies..." &&
yarn
echo "Running 'webpack' with NODE_ENV=production assemble and minify frontend assets..." &&
NODE_ENV=production ./node_modules/.bin/webpack --bail
echo "Running 'webpack' with NODE_ENV=development to assemble frontend assets..." &&
NODE_ENV=development ./node_modules/.bin/webpack --bail --devtool eval
sample-dataset() {
if [ -f resources/sample-dataset.db.mv.db ]; then
echo "Sample Dataset already generated."
else
echo "Running 'lein generate-sample-dataset' to generate the sample dataset..."
lein generate-sample-dataset
fi
uberjar() {
echo "Running 'lein uberjar'..."
lein uberjar
version && frontend-deps && frontend && sample-dataset && uberjar
# Default to running all but let someone specify one or more sub-tasks to run instead if desired
# e.g.
# ./bin/build # do everything
# ./bin/build version # just update version.properties
# ./bin/build version uberjar # just update version.properties and build uberjar
if [ "$1" ]; then
for cmd in "$@"; do
$cmd
done
else
all
fi