diff --git a/bench/bench.py b/bench/bench.py index c21e34407..0b0c7af77 100644 --- a/bench/bench.py +++ b/bench/bench.py @@ -371,12 +371,12 @@ def env(self, python="python3"): ) @step(title="Setting Up Bench Config", success="Bench Config Set Up") - def config(self, redis=True, procfile=True): + def config(self, redis=True, procfile=True, additional_config=None): """Setup config folder - create pids folder - generate sites/common_site_config.json """ - setup_config(self.bench.name) + setup_config(self.bench.name, additional_config=additional_config) if redis: from bench.config.redis import generate_config diff --git a/bench/commands/make.py b/bench/commands/make.py index 42ce08cd6..7369e9c86 100755 --- a/bench/commands/make.py +++ b/bench/commands/make.py @@ -39,6 +39,12 @@ @click.option("--skip-assets", is_flag=True, default=False, help="Do not build assets") @click.option("--install-app", help="Install particular app after initialization") @click.option("--verbose", is_flag=True, help="Verbose output during install") +@click.option( + "--dev", + is_flag=True, + default=False, + help="Enable developer mode and install development dependencies.", +) def init( path, apps_path, @@ -54,6 +60,7 @@ def init( skip_assets=False, python="python3", install_app=None, + dev=False, ): import os @@ -79,6 +86,7 @@ def init( skip_assets=skip_assets, python=python, verbose=verbose, + dev=dev, ) log(f"Bench {path} initialized", level=1) except SystemExit: diff --git a/bench/config/common_site_config.py b/bench/config/common_site_config.py index 2d4ef2c3e..89103e2a5 100644 --- a/bench/config/common_site_config.py +++ b/bench/config/common_site_config.py @@ -18,12 +18,14 @@ DEFAULT_MAX_REQUESTS = 5000 -def setup_config(bench_path): +def setup_config(bench_path, additional_config=None): make_pid_folder(bench_path) bench_config = get_config(bench_path) bench_config.update(default_config) bench_config.update(get_gunicorn_workers()) update_config_for_frappe(bench_config, bench_path) + if additional_config: + bench_config.update(additional_config) put_config(bench_config, bench_path) diff --git a/bench/utils/system.py b/bench/utils/system.py index 63a301b99..526feb54f 100644 --- a/bench/utils/system.py +++ b/bench/utils/system.py @@ -35,6 +35,7 @@ def init( skip_assets=False, python="python3", install_app=None, + dev=False, ): """Initialize a new bench directory @@ -63,7 +64,14 @@ def init( bench.setup.dirs() bench.setup.logging() bench.setup.env(python=python) - bench.setup.config(redis=not skip_redis_config_generation, procfile=not no_procfile) + config = {} + if dev: + config["developer_mode"] = 1 + bench.setup.config( + redis=not skip_redis_config_generation, + procfile=not no_procfile, + additional_config=config, + ) bench.setup.patches() # local apps