2
0
mirror of https://github.com/frappe/bench.git synced 2024-06-15 22:52:22 +00:00

feat: flag to setup bench with developer mode enabled

Dev dependencies are not installed if developer_mode is not enabled.
When creating a new bench it's not possible to modify this config
upfront, so offer a flag to do it instead.

Note:
- Disabled by default.
- Very few people need this, those who write and run tests locally primarily.
- You mostly should not do this in CI, do `bench setup requirements --dev` explicitly instead.
This commit is contained in:
Ankush Menat 2023-11-02 14:11:32 +05:30
parent 53a8fedadc
commit f29e25a5d2
4 changed files with 22 additions and 4 deletions

View File

@ -371,12 +371,12 @@ class BenchSetup(Base):
)
@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

View File

@ -39,6 +39,12 @@ import click
@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:

View File

@ -18,12 +18,14 @@ default_config = {
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)

View File

@ -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