2
0
mirror of https://github.com/frappe/bench.git synced 2025-01-25 07:58:24 +00:00

285 Commits

Author SHA1 Message Date
gavin
18a954b88c
Merge pull request #1349 from gavindsouza/frappe-cmd-cache-bye
fix: Remove frappe cmd caching in .bench.cmd
2022-08-02 14:38:37 +05:30
Gavin D'souza
f77352966b fix: Remove frappe cmd caching in .bench.cmd 2022-08-02 13:14:55 +05:30
Gavin D'souza
24b9af605b fix: Use python* to match any pattern in env 2022-08-02 11:59:34 +05:30
Gavin D'souza
f60c2d0def fix: Use venv module instead of virtualenv
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.
2022-08-02 11:54:00 +05:30
gavin
0cd5fca322
fix: Remove backup command (#1345)
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
2022-07-31 22:28:32 +05:30
Gavin D'souza
a84239d6ab refactor: Bench
* Drop patches of v3 & v4
* Re-write buggy / broken code wrt hints by pre-commit checks
* Auto-format and transform code
* Remove re-written & mutable function defaults
2022-07-27 14:39:22 +05:30
Gavin D'souza
4fcda9ae22 chore: Drop release project
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 👋
2022-06-14 15:41:22 +05:30
Devin Slauenwhite
e69b612035 feat: get-app ln -s 2022-06-03 04:47:23 +00:00
gavin
69e14e512f feat(remove-app): Options for no backup of app & force removal 2022-05-19 13:00:09 +05:30
Aradhya
d514f84d5f merge: merged develop into dependency-resolution 2022-03-21 21:50:24 +05:30
Gavin D'souza
af14bafe21 fix(restart): Setup restarts vars with fallback 2022-03-21 13:37:16 +05:30
Gavin D'souza
7a4ade9192 fix: Try setting supervisord conditionally 2022-03-17 13:03:04 +05:30
Aradhya
6d05fe2f53 Merge branch 'develop' of github.com:Aradhya-Tripathi/bench into dependency-resolution 2022-02-25 16:27:41 +05:30
Aradhya
6e4f121fc6 Merge branch 'develop' of github.com:Aradhya-Tripathi/bench into dependency-resolution 2022-02-22 13:31:00 +05:30
Sagar Vora
3c5944623a fix: clearer docstrings 2022-02-19 09:50:20 +05:30
DaizyModi
28e681689f
feat: Setup Requirements for specific apps (#1265)
* 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>
2022-02-18 17:34:39 +05:30
Aradhya
80cfb9dfb4 refactor: changed resolve to resolve-deps 2022-02-07 10:23:22 +05:30
Aradhya
2363fe38d5 refactor: moved resolve and install to get-app 2022-02-07 09:53:55 +05:30
Aradhya
7a311a242d feat: Added bench command for resolve and install 2022-02-07 09:31:15 +05:30
Gavin D'souza
814bcc6320 refactor: Bench restart
* Commonify reloading processes' logic
* Add functionality to restart web workers in development
* Use Bench.reload instead
2021-12-02 14:21:52 +05:30
phot0n
2a25a6d2d9 feat: add no-git option to new-app command 2021-12-01 00:00:18 +05:30
Gavin D'souza
a17af670df style: Black-ish make & app 2021-11-29 18:57:40 +05:30
Gavin D'souza
8480eb5df7 feat(minor): --install-app option in init 2021-11-29 18:55:21 +05:30
Gavin D'souza
a2ccc30bc3 fix: Initialize bench in get-app with --init-bench 2021-11-29 18:34:58 +05:30
Gavin D'souza
1b2bb87ab7 refactor: Bench verbosity
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
2021-11-26 16:24:56 +05:30
Gavin D'souza
6d10d75bb1 fix: Show pip's help menu when --help is passed in pip command 2021-11-18 18:07:32 +05:30
Gavin D'souza
7c4b6cea2b style: Black-ish + Flake8 2021-11-18 12:02:37 +05:30
Gavin D'souza
b92fb1401b feat: Pass --use-feature='dynamic-feed' for new CLI 2021-11-18 12:02:03 +05:30
Gavin D'souza
806d543fac fix: Show traceback if error occurs during init, get outside bench dir 2021-11-18 01:04:02 +05:30
Gavin D'souza
cd252d3476 refactor: setup dev 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
2021-11-17 23:56:55 +05:30
Gavin D'souza
30e3e725a8 fix: Show traceback on bench init failure
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
2021-11-17 23:55:15 +05:30
Gavin D'souza
6890d98847 feat: Add alias for remove-app: rm, remove 2021-11-13 14:27:25 +05:30
Gavin D'souza
e2fd9de921 fix: Cleanup import hell
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
2021-11-13 01:48:30 +05:30
Gavin D'souza
e08a12477d chore: Get rid of import * utils 2021-11-13 00:19:12 +05:30
Gavin D'souza
4d1ddc4722 refactor: Bench.sync => Bench.apps.sync
* Added missing imports
* Fixed broken import paths
2021-11-12 22:13:27 +05:30
Gavin D'souza
71d178dde9 fix: sync apps file in init, imports and no warn in CI 2021-11-12 20:31:25 +05:30
Gavin D'souza
ee6a967a20 fix: import path for util 2021-11-12 18:56:24 +05:30
Gavin D'souza
89fdd1c5ac chore: Deprecate bench setup socketio 2021-11-12 18:18:21 +05:30
Gavin D'souza
e1ed4d4e53 refactor(minor): Use Bench object to remove app 2021-11-12 18:17:49 +05:30
Gavin D'souza
bae338ad0b feat(minor): Any procman in bench start
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
2021-11-12 18:15:51 +05:30
Gavin D'souza
d04c7feab7 refactor(minor): bench init
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.
2021-11-12 18:13:01 +05:30
Gavin D'souza
1f11cf4847 chore: Use newer import paths
* 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
2021-11-12 17:57:03 +05:30
Gavin D'souza
984959beb8 refactor: Adoption of new style Bench notations
* Updated multiple functions
* Updated flow & re-ordered steps of `bench init` - tested with multiple
  args
* Updated exceptions
2021-10-30 02:32:04 +05:30
Gavin D'souza
153546afd7 refactor: Simplify Bench with OOP
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
2021-10-30 02:25:38 +05:30
Gavin D'souza
c5a38b3647 refactor: Exceptions, Setup & Styles 2021-10-21 16:37:49 +05:30
Gavin D'souza
b75d352454 feat: Aliased Commands
* Added alias for get-app as get
* Now run `bench get erpnext` to install ERPNext on your bench
2021-10-20 00:45:05 +05:30
Gavin D'souza
906ad5a099 feat: bench drop {bench_path}
* Drops bench if no sites' folders found
* Tries to drop crontab entry made for backups
2021-10-20 00:43:46 +05:30
Ankush Menat
b51f0ed2b2
feat: bench setup requirements --dev (#1196)
* 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
2021-09-13 20:55:21 +05:30
Gavin D'souza
54d48f61a3 fix: Remove PY2 compatibility code
* Set Python requires Python 3.6+ but < Py4
* Remove six from dependencies
* Use click.confirm instead of self implemented confirm code
* Fix imports for 3.6+ compatibility

References for updated imports:
* https://docs.python.org/3/library/configparser.html
* https://docs.python.org/3/library/urllib.request.html#legacy-interface
* https://docs.python.org/3/library/urllib.parse.html#urllib.parse.urlparse
* https://docs.python.org/3/library/importlib.html#importlib.reload
2021-05-11 12:01:32 +05:30
Gavin D'souza
5d563f23ab style: Use f-strings instead of old string formatting methods
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
2021-05-11 11:30:27 +05:30