Skip to content
Snippets Groups Projects
Commit c8434682 authored by Cam Saül's avatar Cam Saül Committed by Tom Robinson
Browse files

Better error-checking for ./bin/build

parent 71a7c069
No related branches found
No related tags found
No related merge requests found
#!/usr/bin/env bash
# Generate the resources/version.properties file
version() {
# Skip on CircleCI since this is interactive
if [ ! $CI ]; then
VERSION_INFO=$(./bin/version)
IFS=', ' read -a info <<< ${VERSION_INFO}
echo "Tagging uberjar with version '$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
fi
}
#! /usr/bin/perl
use strict;
use warnings;
use Env qw($CI);
sub version {
return if $CI;
frontend() {
echo "Running 'npm install' to download javascript dependencies..." &&
npm install &&
my ($tag, $hash, $branch, $date) = split ' ', (`./bin/version` or die $!);
echo "Running 'webpack -p' to assemble and minify frontend assets..." &&
./node_modules/webpack/bin/webpack.js -p
open my $file, '>resources/version.properties' or die $!;
print $file ("tag=$tag\n" .
"hash=$hash\n" .
"branch=$branch\n" .
"date=$date\n");
close $file;
}
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
sub frontend {
system('npm', 'install') == 0 or die $!;
system('./node_modules/webpack/bin/webpack.js', '-p') == 0 or die $!;
}
uberjar() {
echo "Running 'lein uberjar'..."
lein uberjar
sub sample_dataset {
(system('lein', 'generate-sample-dataset') or die $!) unless -f 'resources/sample-dataset.db.mv.db';
}
all() {
version && frontend && sample-dataset && uberjar
sub uberjar {
system 'lein', 'uberjar' or die $!;
}
# 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
@ARGV = ('version', 'frontend', 'sample_dataset', 'uberjar') unless @ARGV;
map { eval $_ } @ARGV;
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment