# HG changeset patch
# User Vincent Hatakeyama <vincent.hatakeyama@xcg-consulting.fr>
# Date 1523021808 -7200
#      Fri Apr 06 15:36:48 2018 +0200
# Node ID 8f5ed4b2246e2a2e4279214b2403acf8b2c8b9b6
# Parent  ca25de1e7c292d546ba920dc552f6e37052d90bc
detect errors when building, add argument to get odoo help, auto reload based on version

diff --git a/docker_build.py b/docker_build.py
--- a/docker_build.py
+++ b/docker_build.py
@@ -175,6 +175,9 @@
         d = json.loads(line)
         if 'stream' in d:
             logging.info(d['stream'])
+        if 'errorDetail' in d:
+            logging.fatal(d['errorDetail'])
+            return 1
     if dev:
         call(['rm', dockerfile])
     # TODO exit if build failed
diff --git a/docker_dev_start.py b/docker_dev_start.py
--- a/docker_dev_start.py
+++ b/docker_dev_start.py
@@ -174,6 +174,11 @@
         help="Do not run flake8 [default: %(default)s]",
         action='store_true',
     )
+    parser.add_argument(
+        '--odoo-help',
+        help="Pass --help to odoo binary [default: %(default)s]",
+        action='store_true',
+    )
     build_group = parser.add_mutually_exclusive_group()
     build_group.add_argument(
         '--no-build',
@@ -216,6 +221,7 @@
     use_host_network = nmspc.host_network
     start_postgresql = nmspc.start_postgresql
     no_flake8 = nmspc.no_flake8
+    odoo_help = nmspc.odoo_help
 
     c = ConfigParser.ConfigParser()
     logging.debug('setup file path %s', setup_path)
@@ -263,7 +269,9 @@
             arguments.append('-v')
         elif verbose and verbose > 1:
             arguments.append('-vv')
-        docker_build.main(arguments)
+        result = docker_build.main(arguments)
+        if result:
+            exit(result)
 
     # options is only used with subprocess call
     options = [
@@ -405,7 +413,7 @@
         # volume = createVolume(docker_client, volume_name)
         binds.append('{}:/opt/odoo/{}'.format(volume_name, extra_volume))
 
-    if start_postgresql:
+    if start_postgresql and not odoo_help:
         pg_repository = 'xcgd/postgresql'
         pg_image = '{}:{}'.format(pg_repository, postgresql_version)
         name = 'pg{}'.format(postgresql_version)
@@ -515,7 +523,14 @@
         else:
             logging.warning('No flake8 in PATH')
 
-    if start_postgresql:
+    if odoo_type in ('odoo11', 'odoo10'):
+        arg.append('--dev=reload')
+    if odoo_type in ('odoo8', 'odoo7'):
+        arg.append('--auto-reload')
+    if odoo_help:
+        arg.append('--help')
+
+    if start_postgresql and not odoo_help:
         # use docker-py to be able to stop both the database and odoo
         # add volumes
         odoo_host_config = docker_client.create_host_config(
@@ -572,7 +587,6 @@
         cmd.extend(options)
         cmd.append(image)
         cmd.extend(arg)
-        cmd.append('--dev=reload')
         logging.debug(' '.join(cmd))
         result = call(cmd)
         return result