Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- ROOT=$HOME/dev/dl
- OWN=(adp bus console dl-core ezekiel functoids reporter rhook router web etl rey)
- function makeLink(){
- echo -e "\t[$1]\t$2 <=> node_modules/$2"
- mkdir -p "$ROOT/$1/node_modules"
- SRC="$ROOT/$1/node_modules/$2"
- DST="$ROOT/$2"
- rm -fr $SRC > /dev/null 2>&1
- ln -s $DST $SRC > /dev/null 2>&1
- }
- function updateOwn() {
- echo -en "Updating...\n"
- for i in ${OWN[@]}
- do
- project="${i}"
- echo -en "\t$project...\n\t\t"
- pushd "$ROOT/$project" > /dev/null 2>&1
- /usr/bin/git pl
- popd > /dev/null 2>&1
- done
- echo -en "Done.\n\n"
- }
- function linkOwn(){
- echo -en "Symlinking...\n"
- for i in ${OWN[@]}
- do
- project="${i}"
- package="$ROOT/$project/package.json"
- for j in ${OWN[@]}
- do
- dep="${j}"
- if [ "$dep" != "$project" -a "$dep" != "web" ]
- then
- if grep -q "$dep" $package
- then
- makeLink $project $dep
- fi
- fi
- done
- echo -en "\n"
- done
- echo -en "Done.\n\n"
- }
- function clean() {
- echo -en "Cleaning...\n"
- for project in `find $ROOT -maxdepth 2 -type d -name node_modules`
- do
- echo -en "\t$project...\n"
- rm -fr $project
- done
- echo -en "Done.\n\n"
- }
- function npm(){
- echo -en "Installing...\n"
- for package in `find $ROOT -maxdepth 2 -type f -name package.json`
- do
- project=`dirname $package`
- echo -en "\t$project...\n"
- pushd $project > /dev/null 2>&1
- /usr/local/bin/npm install
- popd > /dev/null 2>&1
- echo -en "\t\t...done.\n"
- done
- echo -en "Done.\n\n"
- }
- CLEAN=0
- INSTALL=0
- LINK=0
- UPDATE=0
- options=':cuilQA'
- while getopts $options opt; do
- case $opt in
- c ) CLEAN=1;;
- u ) UPDATE=1;;
- i ) INSTALL=1;;
- l ) LINK=1;;
- Q ) LINK=1
- UPDATE=1
- INSTALL=1;;
- A ) CLEAN=1
- LINK=1
- UPDATE=1
- INSTALL=1;;
- \? ) echo -en "Unknown option -$OPTARG\n"
- exit 1;;
- esac
- done
- pushd $ROOT > /dev/null 2>&1
- if [ $UPDATE -eq 1 ]; then
- updateOwn
- fi
- if [ $CLEAN -eq 1 ]; then
- clean
- fi
- if [ $LINK -eq 1 ]; then
- linkOwn
- fi
- if [ $INSTALL -eq 1 ]; then
- npm
- fi
- popd > /dev/null 2>&1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement