diff --git a/VERSION b/VERSION index 8a08f47d4926b957787fc0a5622665d169579213_VkVSU0lPTg==..904e99057a1bbdbcc938728202caee874268b884_VkVSU0lPTg== 100644 --- a/VERSION +++ b/VERSION @@ -1,1 +1,1 @@ -2.10 +2.11 diff --git a/do_tests b/do_tests index 8a08f47d4926b957787fc0a5622665d169579213_ZG9fdGVzdHM=..904e99057a1bbdbcc938728202caee874268b884_ZG9fdGVzdHM= 100755 --- a/do_tests +++ b/do_tests @@ -13,7 +13,7 @@ # # - access to pg database # -# Version 2.10 +# Version 2.11 here=$(dirname $0) project_home=$(cd $here && cd .. && echo $PWD) diff --git a/docker_build b/docker_build index 8a08f47d4926b957787fc0a5622665d169579213_ZG9ja2VyX2J1aWxk..904e99057a1bbdbcc938728202caee874268b884_ZG9ja2VyX2J1aWxk 100755 --- a/docker_build +++ b/docker_build @@ -3,7 +3,7 @@ # Create docker script -# template version 2.10 +# template version 2.11 # TODO add a way to bypass the value, maybe with a key in the setup.cfg file here=$(dirname $0) diff --git a/run_tests b/run_tests index 8a08f47d4926b957787fc0a5622665d169579213_cnVuX3Rlc3Rz..904e99057a1bbdbcc938728202caee874268b884_cnVuX3Rlc3Rz 100755 --- a/run_tests +++ b/run_tests @@ -5,7 +5,7 @@ # # Either provide the name of the database (first argument) or it will default to <project>_test # The DB user can be overriden by setting ODOO_SCRIPTS_DB_USER. -# Version 2.10 +# Version 2.11 here=$(dirname $0) project_home=$(cd $here && cd .. && echo $PWD) tested_modules=$(python -B -c "import ConfigParser ; c = ConfigParser.ConfigParser() ; c.read('${project_home}/setup.cfg') ; print ','.join(c.get('odoo_scripts', 'module_list_tests', '').split())") diff --git a/setup.cfg b/setup.cfg index 8a08f47d4926b957787fc0a5622665d169579213_c2V0dXAuY2Zn..904e99057a1bbdbcc938728202caee874268b884_c2V0dXAuY2Zn 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,5 +1,5 @@ [bumpversion] -current_version = 2.10 +current_version = 2.11 parse = (?P<major>\d+)\.(?P<minor>\d+) serialize = {major}.{minor} diff --git a/start b/start index 8a08f47d4926b957787fc0a5622665d169579213_c3RhcnQ=..904e99057a1bbdbcc938728202caee874268b884_c3RhcnQ= 100755 --- a/start +++ b/start @@ -5,6 +5,6 @@ # # You can set ODOO_DATA_DIR and ODOO_DB_HOST if you want to avoid using the default value ($HOME/var/tmp and localhost) # -# Version 2.10 +# Version 2.11 here=$(dirname $0) project_home=$(cd $here && cd .. && echo $PWD) @@ -9,11 +9,16 @@ here=$(dirname $0) project_home=$(cd $here && cd .. && echo $PWD) -echo "Starting odoo for development" -python=python -# module_path will be .../<directory>/openerp/__init__.pyc -module_path=$(python -B -c "import os;import openerp;print os.path.abspath(openerp.__file__)") -# By default, assume the Odoo executable is called "openerp-server". -# TODO Improve this detection and make it so Odoo 10 ("odoo-bin") is the default. -odoo_bin=openerp-server -if test -z "$module_path"; +python="/usr/bin/env python" +# odoo7, odoo8, odoo10, odoo11 or bzr +ODOO_TYPE=$($python -B -c "import ConfigParser ; c = ConfigParser.ConfigParser() ; c.read('${project_home}/setup.cfg') ; print c.get('odoo_scripts', 'odoo_type', 'odoo8')") + +echo "INFO - Starting odoo for development" + +# +# Do some magic to find the odoo command to run +# + +# First test if odoo command exists +echo "DEBUG - Trying odoo command" +if [ -x "$(command -v odoo)" ]; then @@ -19,7 +24,8 @@ then - virtualenv_name=$(basename $(readlink -f $(dirname start))) - echo "No odoo found, trying $virtualenv_name virtualenvwrapper" - # assume you use virtualenvwrapper, and try the same env name as the project - python=$WORKON_HOME/$virtualenv_name/bin/python - if [ -e $python ]; + odoo_bin=odoo + echo "DEBUG - Odoo command found" +else + echo "DEBUG - No odoo command found" + echo "DEBUG - Trying import in python" + if [ "$ODOO_TYPE" = "odoo11" ] || [ "$ODOO_TYPE" = "odoo10" ]; then @@ -25,5 +31,15 @@ then - module_path=$($python -B -c "import os;import openerp;print os.path.abspath(openerp.__file__)") + print_statement="import os;import odoo;print os.path.abspath(odoo.__file__)" + else + print_statement="import os;import openerp;print os.path.abspath(openerp.__file__)" + fi + # module_path will be .../<directory>/openerp/__init__.pyc + module_path=$(python -B -c "$print_statement" 2> /dev/null) + if [ "$ODOO_TYPE" = "odoo11" ] || [ "$ODOO_TYPE" = "odoo10" ]; + then + odoo_bin=odoo-bin + else + odoo_bin=openerp-server fi if test -z "$module_path"; then @@ -27,22 +43,31 @@ fi if test -z "$module_path"; then - echo "No odoo found, trying /opt/odoo/sources/odoo/odoo-bin" - if test -e "/opt/odoo/sources/odoo/odoo-bin"; - then - python=/usr/bin/python - module_path="/opt/odoo/sources/odoo/odoo/__init__.py" - odoo_bin=odoo-bin - else - echo "No odoo-bin found, trying /opt/odoo/sources/odoo/openerp-server" - if test -e "/opt/odoo/sources/odoo/openerp-server"; - then - python=/usr/bin/python - module_path="/opt/odoo/sources/odoo/openerp/__init__.py" - odoo_bin=openerp-server - else - echo "No odoo found, did you activate your env?" - exit 1 - fi - fi + echo "DEBUG - No odoo found by using module path" + virtualenv_name=$(basename $(readlink -f $(dirname start))) + echo "DEBUG - Trying $virtualenv_name virtualenvwrapper" + # assume you use virtualenvwrapper, and try the same env name as the project + venv_python=$WORKON_HOME/$virtualenv_name/bin/python + if [ -e "$venv_python" ]; + then + module_path=$($venv_python -B -c "$print_statement" 2> /dev/null) + fi + if test -z "$module_path"; + then + echo "DEBUG - No odoo found by using virtuenvwrapper" + echo "DEBUG - Trying in /opt/odoo/sources/odoo" + if test -e "/opt/odoo/sources/odoo/$odoo_bin"; + then + echo "DEBUG - Found in /opt/odoo/sources/odoo" + odoo_bin=/opt/odoo/sources/odoo/$odoo_bin + else + echo "FATAL - No odoo found" + echo "INFO - Maybe you forgot to activate your environment?" + exit 1 + fi + else + echo "DEBUG - Odoo found by using virtuenvwrapper" + fi + else + echo "DEBUG - Odoo found by using module path" fi @@ -48,3 +73,4 @@ fi + fi @@ -49,32 +75,8 @@ fi -odoo=$(dirname $(dirname $module_path)) - -if expr match $odoo ^.*\.egg$ ; -then - odoo="/usr/local/bin" - odoo_addons_path=${ODOO_ADDONS_PATH:-/opt/odoo/sources/odoo} -else - odoo_addons_path=${ODOO_ADDONS_PATH:-$odoo} -fi -echo "INFO - Odoo directory: $odoo" -echo "INFO - Odoo addons directory: $odoo_addons_path" -if [ -e "$odoo/.git" ]; -then - odoo_version="git $(cd $odoo && git rev-parse HEAD)" -elif [ -e "$odoo/.bzr" ]; -then - odoo_version="bzr $(cd $odoo && bzr revno)" -elif [ -e "$odoo/.hg" ]; -then - odoo_version="hg $(cd $odoo && hg id)" -else - odoo_version="Unknown" -fi -echo "INFO - Odoo version: $odoo_version" - -# odoo7, odoo8 or bzr -ODOO_TYPE=$(python -B -c "import ConfigParser ; c = ConfigParser.ConfigParser() ; c.read('${project_home}/setup.cfg') ; print c.get('odoo_scripts', 'odoo_type', 'odoo8')") +# +# Try to handle argument to this program to give them back to odoo without duplicating them +# args=$* if [ "$ODOO_TYPE" = "odoo8" ]; @@ -108,7 +110,8 @@ then addons_path="--addons-path=$($python -B -c "import ConfigParser ; c = ConfigParser.ConfigParser() ; c.read('${project_home}/setup.cfg') ; print(','.join(['$HOME/src/openobject-server/openerp/addons','$HOME/src/openobject-addons','$HOME/src/openerp-web/addons']+['${project_home}/'+line for line in c.get('odoo_scripts', 'addon_dirs', '').split()]))")" else - addons_path="--addons-path=$($python -B -c "import ConfigParser ; c = ConfigParser.ConfigParser() ; c.read('${project_home}/setup.cfg') ; print(','.join(['$odoo_addons_path/addons']+['${project_home}/'+line for line in c.get('odoo_scripts', 'addon_dirs', '').split()]))")" + # it is not necessary to give odoo its own addons in path + addons_path="--addons-path=$($python -B -c "import ConfigParser ; c = ConfigParser.ConfigParser() ; c.read('${project_home}/setup.cfg') ; print(','.join(['${project_home}/'+line for line in c.get('odoo_scripts', 'addon_dirs', '').split()]))")" fi fi fi @@ -112,5 +115,11 @@ fi fi fi -echo "DEBUG - command line is: $python $odoo/$odoo_bin $config $db_host $data_dir $addons_path $args" -$python $odoo/$odoo_bin $config $db_host $data_dir $addons_path $args + +# +# Start odoo +# + +echo "INFO - Version: $($odoo_bin --version)" +echo "DEBUG - command line is: $odoo_bin $config $db_host $data_dir $addons_path $args" +$odoo_bin $config $db_host $data_dir $addons_path $args