Only migrate-env requires virtualenv wrapper. However, it can be
installed and run manually too. Virtualenv wrapper is patched in debian
to change the path of bins - which venv is free from.
bench's backup command is redundant and acts as a wrapper over Frappe's
backup command. This caused a conflict with Frappe's CLI after the
resolution correction introduced via a6f196440ad8c9b65a5bbc31a88d8c80f2ba2ded
ref: https://github.com/frappe/frappe/runs/7592331617
Release is yet another dead / unmaintained project in bench. It used to
be in action - the tool to release ERPNext & Frappe for years but we've
moved to other automated pipelines (that have been around for a while
too). Time to say good-bye to these commands too 👋
* feat: flag for Setup Requirements
* chore: Moved __get_installed_app method in Bench
* fix: improve help message
* fix: allow muliple apps to be specified
Co-authored-by: Sagar Vora <sagar@resilient.tech>
Co-authored-by: gavin <gavin18d@gmail.com>
It's off by default. If you want it enabled, pass --verbose or -v
following `bench`. The verbosity only changes how pip installs work.
Other stuff is immaterial at this point.
Eg: bench -v setup requirements
* Remove unwanted log message 🤢. It was inconsistent...this had to be
done...rip
* Fix missing import - install_python_dev_dependencies
* Don't setup node + python requirements when --dev flag is passed
Other changes:
* Invoke internal init function instead of invoking click
command. This was done to avoid handling random Exceptions that are done
in the command definition
* os.chdir after initializing new bench in get_app
There was this bug that said `bench.utils.bench` doesn't have attribute
VERSION or whatever bench/__init__ was supposed to have. Now
bench/utils/__init__ had an `import bench` statement that was supposed
to ask for the top level module...but conflicted with the utils.bench
namespace. Changed the line in utils to `from bench import PROJECT_NAME,
VERSION` and it just works now...oh well
Other changes made were an attempt to cleanup and simplify the multi
level dotted path calls
Using the `-m` flag, we can use any process manager instead of the
standard honcho. For instance, you've installed overmind on your machine
and are married to it, just run `bench start -m overmind` :P
Rename --frappe-branch flag to --version, both are allowed though. Cause
of rename: Makes more sense as version rather than frappe_branch. This
is because you can pass any git reference instead of just branches, including
version tags.
* Although the utils refactor was done in such a way that there was no
need of changing import paths, a cleanup was due.
* Got rid of duplicated utils
* Remove unused imports
Goals:
- Commonify bench operations in a way that intuitive
- Get rid of the multiple duplicate functions because it's so hard to
understand flow in the codebase ;)
- Eliminate the need to guess, re-guess and pass bench info in each
function that needs to do literally anything
- Increase my happiness index because I just realised that I'm the top
contributor of this project and I'd like to make it my own.
- Adopt the principles of Least Surprise & The Principle of The Bigger Smile (of DHH) [inspired by ruby & ror]
Changes:
- The bench module has Bench and the action classes that can be accessed
through the bench object
- Used the Bench class to access properties like sites, apps & run (to execute commands in context) to reduce effort and clutter
- Style improvements & minor changes included
* chore: typo
* chore: update project description
* feat: command to install dev-requirements.txt
Often applications have development or test specific requirements which
are not required in production.
- Add new command `bench setup dev-requirements`
- installs all `dev-requirements.txt` in app's root folder.
* refactor: remove duplicate function
* refactor: use `log` instead of print
* refactor: merge dev-requirement command
* feat: install dev-dependencies in get-app if dev
When developer mode is enabled install all dev dependencies too while
doing `get-app`
* fix: warn about --dev not supporting node
These changes are valid only for Py3.6+ and will remove bench CLI
support for Python 3.5 and lesser.
* Converted to f-strings using flynt
* Manual conversion of failed cases
* Simplification of logic