diff --git a/devenv.sh b/devenv.sh index fe81be10..6524b9ca 100755 --- a/devenv.sh +++ b/devenv.sh @@ -1,57 +1,3 @@ #!/bin/bash -set -eo pipefail -__dirname=$(cd $(dirname "$0"); pwd -P) -${__dirname}/webodm.sh checkenv - -export WO_DEBUG=YES - -usage(){ - echo "Usage: $0 [options]" - echo - echo "This program helps to setup a development environment for WebODM using docker." - echo - echo "Command list:" - echo " start Start the development environment" - echo " stop Stop the development environment" - echo " down Tear down the development environment" - echo " runtests Run unit tests" - exit -} - -run(){ - echo $1 - eval $1 -} - -start(){ - run "docker-compose -f docker-compose.yml -f docker-compose.nodeodm.yml -f docker-compose.dev.yml up" -} - -stop(){ - run "${__dirname}/webodm.sh stop" -} - -down(){ - run "${__dirname}/webodm.sh down" -} - -runtests(){ - run "docker-compose exec webapp /bin/bash -c \"/webodm/webodm.sh test\"" -} - -if [[ $1 = "start" ]]; then - echo "Starting development environment..." - start -elif [[ $1 = "stop" ]]; then - echo "Stopping development environment..." - stop -elif [[ $1 = "down" ]]; then - echo "Tearing down development environment..." - down -elif [[ $1 = "runtests" ]]; then - echo "Starting tests..." - runtests "$2" -else - usage -fi +echo "devenv.sh is deprecated! Use \"./webodm.sh start --dev\" instead." diff --git a/package.json b/package.json index 7fd87c19..66547619 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "WebODM", - "version": "0.8.0", + "version": "0.8.1", "description": "Open Source Drone Image Processing", "main": "index.js", "scripts": { diff --git a/webodm.sh b/webodm.sh index 943e2d11..b4bcb111 100755 --- a/webodm.sh +++ b/webodm.sh @@ -29,6 +29,7 @@ elif [[ $platform = "MacOS / OSX" ]] && [[ $(pwd) == /Users* ]]; then fi load_default_node=true +dev_mode=false # Load default values source .env @@ -83,6 +84,11 @@ case $key in --debug) export WO_DEBUG=YES shift # past argument + ;; + --dev) + export WO_DEBUG=YES + dev_mode=true + shift # past argument ;; --broker) export WO_BROKER="$2" @@ -137,6 +143,7 @@ usage(){ echo " --ssl-cert Manually specify a path to the certificate file (.pem) to use with nginx to enable SSL (default: None)" echo " --ssl-insecure-port-redirect Insecure port number to redirect from when SSL is enabled (default: $DEFAULT_SSL_INSECURE_PORT_REDIRECT)" echo " --debug Enable debug for development environments (default: disabled)" + echo " --dev Enable development mode. In development mode you can make modifications to WebODM source files and changes will be reflected live. (default: disabled)" echo " --broker Set the URL used to connect to the celery broker (default: $DEFAULT_BROKER)" if [[ $plugins_volume = false ]]; then echo " --mount-plugins-volume Always mount the ./plugins volume, even on unsupported platforms (developers only) (default: disabled)" @@ -184,7 +191,12 @@ run(){ } start(){ - echo "Starting WebODM..." + if [[ $dev_mode = true ]]; then + echo "Starting WebODM in development mode..." + down + else + echo "Starting WebODM..." + fi echo "" echo "Using the following environment:" echo "================================" @@ -205,6 +217,10 @@ start(){ if [[ $load_default_node = true ]]; then command+=" -f docker-compose.nodeodm.yml" fi + + if [[ $dev_mode = true ]]; then + command+=" -f docker-compose.dev.yml" + fi if [ "$WO_SSL" = "YES" ]; then if [ ! -z "$WO_SSL_KEY" ] && [ ! -e "$WO_SSL_KEY" ]; then @@ -328,14 +344,23 @@ plugin_disable(){ } run_tests(){ - echo -e "\033[1mRunning frontend tests\033[0m" - run "npm run test" + # If in a container, we run the actual test commands + # otherwise we launch this command from the container - echo "\033[1mRunning backend tests\033[0m" - run "python manage.py test" + in_container=$(grep 'docker\|lxc' /proc/1/cgroup) + if [[ "$in_container" != "" ]]; then + echo -e "\033[1mRunning frontend tests\033[0m" + run "npm run test" - echo "" - echo -e "\033[1mDone!\033[0m Everything looks in order." + echo "\033[1mRunning backend tests\033[0m" + run "python manage.py test" + + echo "" + echo -e "\033[1mDone!\033[0m Everything looks in order." + else + echo "Running tests in webapp container" + run "docker-compose exec webapp /bin/bash -c \"/webodm/webodm.sh test\"" + fi } resetpassword(){