summaryrefslogtreecommitdiff
path: root/install-pixelated.sh
diff options
context:
space:
mode:
authorFolker Bernitt <fbernitt@thoughtworks.com>2015-01-28 12:10:08 +0100
committerFolker Bernitt <fbernitt@thoughtworks.com>2015-01-28 12:11:57 +0100
commit2ff2612cfd50811f975a320a66402f0b6976e54d (patch)
tree049fe569a3ec5a0f143a8f938706b8ade80bf1df /install-pixelated.sh
parent95204fb02aa9ea4e030b972685407e35a0b02f65 (diff)
Issue #252: Node modules are now installed in the box.
- They are symlinked into /vagrant/web-ui/node_modules
Diffstat (limited to 'install-pixelated.sh')
-rwxr-xr-xinstall-pixelated.sh39
1 files changed, 36 insertions, 3 deletions
diff --git a/install-pixelated.sh b/install-pixelated.sh
index 4679b787..ceff0353 100755
--- a/install-pixelated.sh
+++ b/install-pixelated.sh
@@ -27,12 +27,15 @@ fi
usage() { echo "Usage: $0 [-v <virtualenv path>]" 1>&2; exit 1; }
VIRTUALENV_PATH=".virtualenv"
-
-while getopts "v:" OPT; do
+CUSTOM_NODE_MODULES_LOCATION=""
+while getopts "n:v:" OPT; do
case "${OPT}" in
v)
VIRTUALENV_PATH=${OPTARG}
;;
+ n) # custom node_modules installation
+ CUSTOM_NODE_MODULES_LOCATION=${OPTARG}
+ ;;
*)
usage
;;
@@ -49,6 +52,31 @@ function check_installed() {
fi
}
+function install_node_modules_at_custom_location() {
+ local LOCATION="$1"
+ local WEBUI_DIR=$(pwd)
+
+ if [ -e "$WEBUI_DIR/node_modules" ] ; then
+ echo "It seems there is already a node_modules folder" 1>&2
+ return
+ fi
+
+ if [ ! -e "$LOCATION" ] ; then
+ mkdir "$LOCATION"
+ pushd "$LOCATION"
+
+ ln -s "$WEBUI_DIR/package.json" package.json
+ npm install
+
+ popd
+ fi
+
+ if [ ! -h "node_modules" ] ; then
+ rm -Rf "$LOCATION/node_modules"
+ ln -s "$LOCATION/node_modules" node_modules
+ fi
+}
+
for dependency in node npm ruby virtualenv git gpg compass; do
check_installed $dependency
done
@@ -56,7 +84,12 @@ done
# install web-ui dependencies
cd web-ui
UIPATH=`pwd`
-npm install
+
+if [ -z "$CUSTOM_NODE_MODULES_LOCATION" ] ; then
+ npm install
+else
+ install_node_modules_at_custom_location "$CUSTOM_NODE_MODULES_LOCATION"
+fi
node_modules/bower/bin/bower install --config.interactive=false --allow-root
LC_ALL=en_US.UTF-8 ./go build