From 002ec0f7d97c6a213e0f2e32ea3a0233d4b64219 Mon Sep 17 00:00:00 2001 From: Starbeamrainbowlabs Date: Sun, 2 Dec 2018 12:41:25 +0000 Subject: [PATCH] Drop in lantern build engine ready for CI --- .gitmodules | 3 ++ build | 81 ++++++++++++++++++++++++++++++++++++++++++++ lantern-build-engine | 1 + 3 files changed, 85 insertions(+) create mode 100644 .gitmodules create mode 100755 build create mode 160000 lantern-build-engine diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..ecc03d9 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "lantern-build-engine"] + path = lantern-build-engine + url = https://gitlab.com/sbrl/lantern-build-engine.git diff --git a/build b/build new file mode 100755 index 0000000..b4ddcb3 --- /dev/null +++ b/build @@ -0,0 +1,81 @@ +#!/usr/bin/env bash +# Make sure the current directory is the location of this script to simplify matters +cd "$(dirname $(readlink -f $0))"; +################ +### Settings ### +################ + +# The name of this project +project_name="RhinoReminds"; + +# The path to the lantern build engine git submodule +lantern_path="./lantern-build-engine"; + +### +# Custom Settings +### + +# Put any custom settings here. +build_output_folder="./dist"; + +############################################################################### + +# Check out the lantern git submodule if needed +if [ ! -d "${lantern_path}" ]; then git submodule update --init "${lantern_path}"; fi + +source "${lantern_path}/lantern.sh"; + +if [[ "$#" -lt 1 ]]; then + echo -e "${FBLE}${project_name}${RS} build script"; + echo -e " by Starbeamrainbowlabs"; + echo -e "${LC}Powered by the lantern build engine, v${version}${RS}"; + echo -e ""; + echo -e "${CSECTION}Usage${RS}"; + echo -e " ./build ${CTOKEN}{action}${RS} ${CTOKEN}{action}${RS} ${CTOKEN}{action}${RS} ..."; + echo -e ""; + echo -e "${CSECTION}Available actions${RS}"; + echo -e " ${CACTION}setup${RS} - Perform initial setup"; + echo -e " ${CACTION}ci${RS} - Perform CI tasks"; + echo -e ""; + + exit 1; +fi + +############################################################################### + +function task_setup { + task_begin "Checking environment"; + + check_command git true; + check_command msbuild true; + check_command nuget true; + + task_end 0; +} + +function task_build { + task_begin "Restoring nuget packages"; + nuget restore; + task_end $?; + + task_begin "Building"; + execute msbuild; + task_end $?; +} + +function task_ci { + tasks_run setup; + + task_begin "Environment Information"; + execute git --version; + execute uname -a; + execute nuget help | head -n1; + task_end 0; + + tasks_run build; +} + + +############################################################################### + +tasks_run $@; diff --git a/lantern-build-engine b/lantern-build-engine new file mode 160000 index 0000000..37e1d0e --- /dev/null +++ b/lantern-build-engine @@ -0,0 +1 @@ +Subproject commit 37e1d0ea747ffce5f4ed3270c150db933164a777