Skip to content

Commit

Permalink
Rebased branch with develop to update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
Ma committed Jul 22, 2016
2 parents a785e1b + 35a0c3d commit f006e73
Show file tree
Hide file tree
Showing 42 changed files with 420 additions and 168 deletions.
27 changes: 15 additions & 12 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,22 +1,25 @@
language: java
jdk:
- oraclejdk8
- oraclejdk8
install: mvn install -DskipTests=true -Dmaven.javadoc.skip=true -B -V
cache:
directories:
- "~/.m2/repository"
- "~/.m2/repository"
branches:
only:
- "/^(?i:feature)/.*$/"
- develop
- master
- "/^(?i:feature)/.*$/"
- develop
- master
after_success:
- mvn clean test jacoco:report cobertura:cobertura coveralls:report
- "./.travis/before-deploy.sh"
- "./.travis/deploy.sh"
- mvn clean test jacoco:report cobertura:cobertura coveralls:report
- "./.travis/before-deploy.sh"
- "./.travis/deploy.sh"
env:
global:
- secure: jaJmP3JTpDqvEtTTNlRQ8r+BG89BdJ2C6/fQaiQnzVpqvC3gFC1rXf136qieCV3X9oJH1l/D7oe8gkc/G6K2prQkfvpxBcoi8A0s3zjgPse/WkWPvUCZ/t4rAD4np2Fjhy6Y2VXWf3isoVVKwQ9mI1yohUv3YvYZL/k08YMcsTM5YnGmmRd3AvjwqLKaDncLY4T0pHGiCrc0nCddYd9YVIxozp4xslfxQA0mffBk/UXpVAGY/qc871yCKiyn/tbNC8N/nh6oYX4mUKRRVQR+H3hFORPHmnQYfojAw+EUYoKOCt1gDOg++UdQYyIrWCScPiHVBtks7HILnV5kTC0vR4ADAQ6YeKPZ/Wg7TAtP0H/3rd/ix2rvmYYwewcpLyYPErwuDvV2016kGyhv1RL6S1GpULh4m6MjVd428PQGK3VRt8m1krgL/I9V40HLXhyOz1U1Q7v7bvxEMHgXOXiAQjESG75hRjNWda/+AZ4Bkr6WjR5XQHc2Z9E6XsdJU+UcXV4OYQhXfLKOvHg1QsNi60N+BGyP7rIAlgEaaiZFWehjAowmwu+M8BfqWREvVtKlw8GVPr4kf9uMbzxADx/vEUgiVpS4hR+Iz41HcKQSAdTrjXTFAJxy08oJ45phQvy5gtUW4ytzOjKoYDQzBZge9wXWmh2DFD/R5QLwIxUqYKk=
- secure: Xun2mazBkzy+mIX4+0gPKXqbVtsS9n9c8eriAULDHAEPZbMcebMaB0gbHrCAOKuNgCUzPj3xOEc+wJAXXtCXJUx3/7fbM10iLplAxYT64BtfBZS346RLKHRFXyK8iVHJclVUzLZaSs/+nFUmkNzgZlEM4wyZk+CfA3gmw5MZfT7Pe/sUAmlhq1p3dGXqtGKQINlIrHeajklXvsgQ9xV/RbeenbU/Egu2NgEbPt/2Vrw1lAa2O/xeVh5q2lcGXe69Ogv+xB/wfAWasptvhzGDdMjOqw1XUMNP5X2RlLJzTL2HRdZxpmlQKYA84HlqzHC1tYPb2YGHRmDDnaAGuTseXWGgAmAbFAuPQUJkIP13QUieJnXopKbGPBrAbEs/pOw0rOZL4F+2Uj3mvdtncUUqVaPoCARl1zRynn1vGf0UgCsW6eFfxMl7PoUkkSOxPJ42URR7gedqAyMEBcY/Pv2yebp1jat/9Yjc13WiC5nyrBkJy2cik0fAcYEZ8mgRU/eXzUJP/nG4DiwI3Dhj5iedO2xVdhBqaclfftc5Sg/ePsWhYjgJL+Qp3ZLIVHg8b6JqHEl7bpeQUP85/seSdCKgv1zBjfJE3W4dZFlVrr0upKuHSaDIDO25m6O2HA3ymHRlfOtHOAE2XzSN822+GxQyDQ6AhnthUPQgEuFHV7ACiX0=
- secure: ZM9ZSP/knVQ4EvigIDJI0ZqjtORo5oY3l6aP650kZT6dAglyIgRLYTA+4DQgaJgHXKNo428KY2tCngUeHgBtgf0s6snSdulFDsHz9L/PlD6VJZMFTg1uYz+ZkHgQVnw9ecyaJJzCmCcqaXRTNtH5I4PA+AkdEgv27d4UGo9nzYjjrSKBdpiFbXTrYmiuiXSci5fjnusQvxlctdukoxRuKWJ2H1EPyK+Ry5lcpNrqKQLgduQwFvDRjP4k53okCp+piqN9cXGi0r7DNw1TdFeIlNtmohcC/eWlPe1ZqdGfiisFWxRwfb39QLJgJ5nlIR5K9g7U3+B569BzZ+rouqgU3a2+i4vmLr0UABjFFnz0Rhxx0H2T3jx+4xwawAE63TCom6RkFS0L2s8U1KmaKkFS3YMD7zBI71rSdHlo5OhXjUsELroxMV+golZ+U9vSk2Ktz5U5htTWdbxDZjuL3Usuc2gRcT3/XdoVxck2b2k6LC54CUNlTbuTMX2PJWoRY8VxiofWFqwbtbELiXeScS4LkCb7bxKtsIP7Ob9BDS8EcymZUKIzrA85+iImT4JS5CKbzF9kvQyCtUr/Y+M0ImSr7BFZfdfe4K+yIPkx5Mazn+3LQEiU3wfd7xNZHIncdMHKJp5XMQc7E6K//FyAj7Qzk1WmKtuKeQAASOuxn4/EkkI=
- secure: bqyOWPLfNPMik5q9nErt6BxtxReM04BCXHy7pRSF45idvJ7XGblV5vP4e1J970flfzXHQhSQj5G9w3hWRJFGZMFCli0nlaaP2UyCI6JpXYmD769MyD0X/OIFjx2dlHiIXrtXtOUmFGb1ExFW/iy9Ye+obj0bcK3rrAHXyDJi200hAF5cStB00Xe8+snU/W4uFoE8Z3WBaPcnJPN0wYA+2hCtsXIabvaCJjO3Y6rleCWclLun7mgBjgkDQkzQ+i2Oo+8CeXicP7clvORy+tuPE6HFnKPQzXtClUOyi2iup5Z0Xs4qgeXmuNduUDfx2PFvyY8o+b0hTIfPoINmpllBDqHA4n1dGgqH1sLuDRiXi12Z5271sBKqGuV+S2pdXLMGybY58XR0RKlfIQMw4jTjzlETGCJupTIhmymzNYOms5zfxmpWaDy5X9epFF2rOhYpxbCgdMDf8nSFJt0J5ZoXpXtiRlcKfuUgj0vE5zAHNLaJSYZaFm0yZU0LXyJ/BFNP75pDALcJLyyxxV+8S2WKIhfaJqaVrgCMLSHZjzrrYjWJIyRBSB+776lMMbNSsxws3EOv78rh9P/rtHrtP1HDl4pEbCXB5RBV3mVh5pkDDEYF9KaZRcaJyFDAmssJLd+/WxYuMZ3x1S9xtNnDAvTdNwgiNsuP95aWsyh/MX4XAeQ=
- secure: EdhvLzEpOKEz2kDSU7CcIZSE3pUjlH8gjFZEFLwC5C9LKpua2krheBkOzCg5a/p2R0ODq8j7zWW97g6XejNlMpkNp1pabfRoCXbcW56EViCoX1Cf8Cd2VhPr/X5k8ArjuSlAQJXOwXs6uqiFzmYSc/7SdMvYLF5sJYoI9mFAQfZS3QjldVhJ8AJ3Ovcs4h+ZYIZ4bxpP1MIEcwm+YqoNdH6mjvYrAkiVUC3AxeobRf80nP3K7/QEq93TFy6Yow73k8zodzwS+zYCuFYLpk5Rh/bxWyzpGLXXhQb+e+gmrEwIwVxph4hlqguClhqyN6e9Rw91keUzQ/x2taU6hsGIRUcutwRALQbqky03+NblZZ4HoDPfV/NZIHUdzStLG0Jdxs3sKglvNsqngUUZdnyRHXHPLM8ZntRZRaJX91aJLh/ZKTNuW4wC+1h2EqutNi7pFMfulm2fX5Sv1OaVtd3aOpuQY5EpcNJUXYeqoQFiHqb4hwD9FjN1YJyyxUNeeSKjoyHFoEKd6L5VKr9JfJnkBZW7A6wG/QLPMEbq8df5FVFRpr/cLJgXG+DIECm+HJ73Mz9BlHJQNwjRe7d2VzAbeaGAqSjJ+BETxdV4fyH/5+cvirMbkQohDk516Ki/lDO6bMC5EAm2zge1vq5EQVWq08gPC/ptBwmwwjyAN/IlByQ=
- secure: IzKkAgx42i1AgZ3zRQrraSQ8eRdAXsHisSqmVXXNeQFjzoPzaCtslp7V82WUH0bD2waGcx6P5Yr1+yfE/q3xttE0OIApJo3CatMmz26qsqLvf0ie84bJR8piaNtkgZNqT257cQltgbpHYT4Csoa/YEAliSkRb95V6VfUqH5uMh0SB6ay2/rUjaJ5uYfYglC/ax9vg/iFiuAG3+vWwPHk6SAwQa3RUCTTW69pDNnvWiF1hdNiU1QuW5K/wLLV6WHoXxxsDSZNM7SUvQ4fod8jeo4dovcU+WLwnTNpVOjb5BTIcyB5GqU4DSfeJhb7Dg7y40wdjyi/kcFNW3JNxWodG/eZ0gsJ4BMYDl6wyd0Cr5oPcqpDmpjikGNb0F/aAu1y8SoHfh/e3mP07cECctoGE87FPA3SMQAJqxg2XNfcF3zZpLSQtyiCHSxy/b5HVrzFaD1gBw/HB75N2YFuhyy+OiDyzgWd4fcOYlMpwtZ3emvLgLv7ue9IhI3BPnx9i/LHdpZZcfAiGOCsiZn9AbfN1QcjtmLHkeDS6VuG8Jq0N15s1KZntAtQIV/iNGRHpvEj1mfyUY5pGjOsKX4zlmCc39G5GYWBNfnAcZo15UQLka93PLi+vLPqTkftgv3u6XNdNQpHMXi+61/cOWeky89yt9o4k0gpCEVppPRwr/k8k9c=
- secure: bmEnmBNzZ3weg07kVgGp0q1nr5izCLvvOzKwmrW5lM/98/IMMLwx47DgBvqttyXuHEMX48NS6n53Rb8k1JZltCB8LNiC3KHCttuCQ+SXu93Enf7jS9v2Arq6lJjsxyoGDFjmQu+7a7pIuJ5aUh2rAcuJj/174d/2nj72UiRgYWiiFZBBMj8bP1pWsfe/DnfV13oBDl3fR3VaCNmnUnwtjtzETNCDsErkaHdGG52ET1NZM51IK4uRLU+eLxtjWBHQB7wMor4v6Pevt6398opxsvU/DNaHk6ub7z3UKLJ64Jw0Hf2t3AavBP8HCEl9om/iNzWgyxLpbtGBYCnJA1qE8TAysMolHjzCP85mNhKboxR/v20e6CxkDYWFbU9lpZl9QWMAd5U3lVq7Gnlc/BG2N0evhy6cLpsyJNncA6LWguxUbwokyxO9NA2vW/CePfFf8YRoEPGLHnDFMHjViQzbrd3Q8mjXap07ccHn2eGElLdPBKv5wlM7ver3h0jC6u60bYA512SkR8wF7J+uhBfXqo9AUaADDriIavXKWdTjOCVN9Tn/HpywtiK6U9xIXmzkWuXBW+a27sGbKW5O3Ud9CDur8o8EAQnYIjNmDjDO2JCJp6ljl5I4z2nFX6wElnxkwV77mihYjvR55ZCe98mGalpG+QFzEe5CUdMdJo6kV2c=
- secure: XF4+X/6C3Y8b0n989cJs/hjG402HW7onNC0yQ9u2EI2/rtR1u3m9xUyYp/Oi9H6pV2pV9dFpHSOEPqrICslZWYWuha5b+uKr4O7oXDz0+8QnFmeBgOvcMk3JIAQYoObEImK+QFoZi5bvGqUTANEEkcwd6zCmtR0FogM7tU7jRXmL4f55262gAg0ZwsrrrHJaexgq4pB3qkjhDrpbiCxGEMNrgp66Clt8mn6YGKIJ0reNCRpWuNE+e611GVNc4GLL6Rt3xgLU0hLjVgQYWp27HZeA66xJsXa/VDLb/jjOk1CFjL/3QJDruv/SF6QGtR+Y/4iiimGsBww1A6tconS5U095Y9fr15yoZGHlSazyhFaYLSdMeZ69mbPuLZSc16JgGJKmvqNcPG2W92a/fwioUV2H/jpwl0FdgusbDQZNx/rBCbNI2KMk/HyPLfDkxrN8EEz/i1Z1mZY691hfxcPJ9m/VWpgtDDpcpLaSW3AWmK1SzZW1jOJjeUYFhmidd5fYJKmeBLP3kalfjjgAiHeu1K0R69wARD8/D2MBtDtmjEizqA5NADiCDZghUS9j0uxXrg+sdUOL5HgMWt3DY3KXn/sQBc3ksDXAhJL4+4L/JKCe0VJAZd1Zpk14Hji0tam/LnAQhu8spcXvTVViDtJbOSqignqq3DwSEJl5IzWgzxc=
notifications:
email:
- wasabi.honeybadger@gmail.com
Binary file modified .travis/codesigning.asc.enc
Binary file not shown.
19 changes: 18 additions & 1 deletion ATTRIBUTIONS/wasabi-functional-test-attribution.xml
Original file line number Diff line number Diff line change
Expand Up @@ -697,6 +697,23 @@
<string>https://repo.maven.apache.org/maven2/com/jayway/restassured/json-schema-validator/2.4.0/json-schema-validator-2.4.0.jar</string>
</downloadUrls>
</dependency>
<dependency>
<name>jsr311-api</name>
<groupId>javax.ws.rs</groupId>
<artifactId>jsr311-api</artifactId>
<version>1.1.1</version>
<projectUrl>https://jsr311.dev.java.net</projectUrl>
<type>jar</type>
<licenses>
<license>
<name>CDDL License</name>
<url>http://www.opensource.org/licenses/cddl1.php</url>
</license>
</licenses>
<downloadUrls>
<string>https://repo.maven.apache.org/maven2/javax/ws/rs/jsr311-api/1.1.1/jsr311-api-1.1.1.jar</string>
</downloadUrls>
</dependency>
<dependency>
<name>JUnit</name>
<groupId>junit</groupId>
Expand Down Expand Up @@ -1319,4 +1336,4 @@
</downloadUrls>
</dependency>
</dependencies>
</attributionReport>
</attributionReport>
8 changes: 7 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,9 +54,15 @@ The following steps will help you install the needed tools, then build and run a
% ./bin/wasabi.sh bootstrap
```

**Note**: if you have installed docker-native set the environment variable _'WASABI_OS'_

```bash
% export WASABI_OS=native
``

Installed tools include: [homebrew 0.9](http://brew.sh), [git 2](https://git-scm.com),
[maven 3](https://maven.apache.org), [java 1.8](http://www.oracle.com/technetwork/java/javase/overview/index.html),
[node 6](https://nodejs.org/en) and [python 2.7](https://www.python.org).
[docker 1.12](https://docker.com), [node 6](https://nodejs.org/en) and [python 2.7](https://www.python.org).

Similar tooling will work for Linux and Windows alike. Contribute a patch :)

Expand Down
9 changes: 6 additions & 3 deletions bin/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -122,21 +122,24 @@ chmod 755 ${home}/${id}/bin/run
chmod 755 ${home}/${id}/entrypoint.sh
sed -i '' -e "s/chpst -u [^:]*:[^ ]* //" ${home}/${id}/bin/run 2>/dev/null

if [ "${build}" = true ] && [ "$OS" == "OSX" ]; then
if [ "${build}" = true ] && [ "${WASABI_OS}" == "OSX" ]; then
wip=$(docker-machine ip wasabi):8080
sed -i '' -e "s|http://localhost:8080|http://${wip}|g" constants.json 2>/dev/null
brew list node
if [[ $? -eq 1 ]]; then
echo "Node.js is not installed. Installing Node.js packages..."
brew install node
npm install -g yo grunt-cli bower grunt-contrib-compass
sudo gem install compass
fi
(cd ./modules/ui && npm install && bower install && grunt build)
fi

(cd ./modules/ui && npm install && bower install && grunt build)

content=${home}/${id}/content/ui/dist

mkdir -p ${content}
cp -R ./modules/ui/dist/ ${content}
mkdir -p ${content}/swagger/swaggerjson
cp -R ./modules/swagger-ui/target/swaggerui/ ${content}/swagger
cp -R ./modules/api/target/generated/swagger-ui/swagger.json ${content}/swagger/swaggerjson
cp -R ./modules/api/target/generated/swagger-ui/swagger.json ${content}/swagger/swaggerjson
97 changes: 44 additions & 53 deletions bin/container.sh
Original file line number Diff line number Diff line change
Expand Up @@ -70,55 +70,51 @@ beerMe() {
}

start_docker() {
docker-machine status ${project} >/dev/null 2>&1 || docker-machine create -d virtualbox ${project}
if [ "${WASABI_OS}" == "OSX" ]; then
docker-machine status ${project} >/dev/null 2>&1 || docker-machine create -d virtualbox ${project}

dms=$(docker-machine status ${project})
dms=$(docker-machine status ${project})

if [ "${dms}" != "Running" ]; then
docker-machine restart ${project} || usage "unable to run command: % docker-machine restart ${project}" 1
if [ "${dms}" != "Running" ]; then
docker-machine restart ${project} || usage "unable to run command: % docker-machine restart ${project}" 1
fi
fi
}

stop_docker() {
dms=$(docker-machine status ${project})
if [ "${WASABI_OS}" == "OSX" ]; then
dms=$(docker-machine status ${project})

if [ "${dms}" == "Running" ]; then
docker-machine stop ${project} || usage "unable to run command: % docker-machine stop ${project}" 1
if [ "${dms}" == "Running" ]; then
docker-machine stop ${project} || usage "unable to run command: % docker-machine stop ${project}" 1
fi
fi
}

start_container() {
eval $(docker-machine env wasabi)
start_docker
[ "${WASABI_OS}" == "OSX" ] && eval $(docker-machine env wasabi)
docker network create --driver bridge ${docker_network} >/dev/null 2>&1

cid=$(docker ps -aqf name=${1})

if [ "${cid}" == "" ]; then
eval "docker run --net=${docker_network} --name ${1} ${3} -d ${2} ${4}" || \
usage "unable to run command: % docker run --name ${1} ${3} -d ${2} ${4}" 1
# todo: ?better way? ... see about moving polling to the app-start
beerMe 30
elif [ "${cid}" != "running" ]; then
beerMe 9
else
cids=$(docker inspect --format '{{.State.Status}}' ${cid})

if [ "${cids}" == "paused" ]; then
op=unpause
elif [ "${cids}" == "exited" ]; then
op=restart
fi
[ "${cids}" == "paused" ] && op=unpause
[ "${cids}" == "exited" ] && op=restart

if [ ! -z "${op}" ]; then
docker ${op} ${cid} || usage "unable to run command: % docker ${op} ${cid}" 1

while [ "${cids}" != "running" ]; do
beerMe 1
beerMe 3
cids=$(docker inspect --format '{{.State.Status}}' ${cid})
done

if [ "${op}" == "restart" ]; then
# todo: ?better way?
beerMe 15
fi
fi
fi
}
Expand All @@ -129,14 +125,13 @@ stop_container() {
[ "${cid}" != "" ] && docker stop ${cid}
}


remove_container() {
[ ${1} ] && container=${1}

if [ ${container} ]; then
stop_container ${container} >/dev/null 2>&1
docker rm -fv ${container} >/dev/null 2>&1
else
elif [ "${WASABI_OS}" == "OSX" ]; then
docker-machine rm -f ${project} >/dev/null 2>&1
vboxmanage hostonlyif remove vboxnet0 >/dev/null 2>&1
fi
Expand All @@ -146,13 +141,10 @@ start_wasabi() {
start_docker

id=$(fromPom modules/main development application.name)
wcip=$(docker inspect --format "{{ .NetworkSettings.Networks.${docker_network}.IPAddress }}" ${project}-cassandra)
wmip=$(docker inspect --format "{{ .NetworkSettings.Networks.${docker_network}.IPAddress }}" ${project}-mysql)
mip=$(docker-machine ip ${project})
[ "${WASABI_OS}" == "OSX" ] && mip=$(docker-machine ip ${project}) || mip=localhost

remove_container ${project}-main

if [ "${verify}" = true ] || ! [ docker inspect ${project}-main >/dev/null 2>&1 ]; then
if [ "$(docker ps -aqf name=${project}-main)" = "" ]; then
# if [ "${verify}" = true ] || ! [ docker inspect ${project}-main >/dev/null 2>&1 ]; then
echo "${green}${project}: building${reset}"

sed -i -e "s|\(http://\)localhost\(:8080\)|\1${mip}\2|g" modules/main/target/${id}/content/ui/dist/scripts/config.js 2>/dev/null;
Expand All @@ -161,30 +153,32 @@ start_wasabi() {

echo "${green}${project}: starting${reset}"

wcip=$(docker inspect --format "{{ .NetworkSettings.Networks.${docker_network}.IPAddress }}" ${project}-cassandra)
wmip=$(docker inspect --format "{{ .NetworkSettings.Networks.${docker_network}.IPAddress }}" ${project}-mysql)
wenv="WASABI_CONFIGURATION=-DnodeHosts=${wcip} -Ddatabase.url.host=${wmip}"

# fixme: try to reuse the start_container() method instead of 'docker run...' directly; currently a problem with quotes in ${wenv} being passed into container.
docker run --net=${docker_network} --name ${project}-main -p 8080:8080 -p 8090:8090 -p 8180:8180 -e "${wenv}" -d ${project}-main
beerMe 3
start_container ${project}-main ${project}-main "-p 8080:8080 -p 8090:8090 -p 8180:8180 -e \"${wenv}\""

if [[ "${waittime}" == "ping" ]]; then
echo -ne "${green}chill'ax ${reset}"
for trial in $(seq 1 20); do
curl ${mip}:8080/api/v1/ping >/dev/null 2>&1
beerMe 1
status=0
for trial in {1..20}; do
echo "curl http://${mip}:8080/api/v1/ping"
curl http://${mip}:8080/api/v1/ping >/dev/null 2>&1
status=$?
[[ ${status} -eq 0 ]] && break
# beerMe
echo -ne "${green}\xF0\x9F\x8D\xBA ${reset}"
sleep 3
beerMe 1
done
[[ ${status} -ne 0 ]] && usage "\nGiving up on the ping. Wasabi might not be running!" 1
[[ ${status} -ne 0 ]] && usage "${project} failed to start" 1
else
beerMe "${waittime}"
fi

cat << EOF
${green}
wasabi is operational:
${project} is operational:
ui: % open http://${mip}:8080 note: sign in as admin/admin
api: % curl -i http://${mip}:8080/api/v1/ping
Expand All @@ -194,7 +188,6 @@ EOF
}

start_cassandra() {
start_docker
start_container ${project}-cassandra ${cassandra} "--privileged=true -p 9042:9042 -p 9160:9160"

[ "${verify}" = true ] && console_cassandra
Expand All @@ -210,7 +203,6 @@ console_cassandra() {
start_mysql() {
pwd=mypass

start_docker
start_container ${project}-mysql ${mysql} "-p 3306:3306 -e MYSQL_ROOT_PASSWORD=${pwd}"

wmip=$(docker inspect --format "{{ .NetworkSettings.Networks.${docker_network}.IPAddress }}" ${project}-mysql)
Expand All @@ -237,9 +229,10 @@ console_mysql() {
}

status() {
eval $(docker-machine env ${project}) 2>/dev/null
docker-machine active 2>/dev/null | grep ${project} || usage "start ${project}" 1
eval $(docker-machine env ${project})
if [ "${WASABI_OS}" == "OSX" ]; then
docker-machine active 2>/dev/null | grep ${project} || usage "start ${project}" 1
fi

docker ps 2>/dev/null
}

Expand Down Expand Up @@ -268,26 +261,24 @@ verify=${verify:=${verify_default}}
sleep=${sleep:=${sleep_default}}

[[ $# -eq 0 ]] && usage

eval $(docker-machine env ${project}) 2>/dev/null
[ "${WASABI_OS}" == "OSX" ] && eval $(docker-machine env ${project}) 2>/dev/null

for command in ${@:$OPTIND}; do
case "${command}" in
start) start_cassandra; start_mysql; start_wasabi;;
start) command="start:cassandra,mysql,wasabi";&
start:*) commands=$(echo ${command} | cut -d':' -f 2)
(IFS=','; for cmd in ${commands}; do start_${cmd}; done);;
stop) stop_container ${project}-main; stop_container ${project}-cassandra; stop_container ${project}-mysql;
stop_docker;;
stop) command="stop:main,cassandra,mysql";&
stop:*) commands=$(echo ${command} | cut -d':' -f 2)
(IFS=','; for cmd in ${commands}; do stop_container ${project}-${cmd/${project}/main}; done);;
console) console_cassandra; console_mysql;;
console) command="console:cassandra,mysql";&
console:*) commands=$(echo ${command} | cut -d':' -f 2)
(IFS=','; for cmd in ${commands}; do console_${cmd}; done);;
status) status;;
remove) remove_container;;
remove) command="remove:wasabi,cassandra,mysql";&
remove:*) commands=$(echo ${command} | cut -d':' -f 2)
(IFS=','; for cmd in ${commands}; do remove_container ${project}-${cmd/${project}/main}; done);;
"") usage "unknown command: ${command}" 1;;
*) usage "unknown command: ${command}" 1;;
esac
done
done

0 comments on commit f006e73

Please sign in to comment.