* Base pre-commit checks for trailing whitespces, valid files, etc
* pyupgrade with PY37+ syntax
* Aditya's black fork for codebases with tabs
* Flake8 with Frappe's config
get-app to replace existing folder would fail due to bad url generation.
Changes
* Archive old repo instead of overwritting
* Resetting flags in App instance
The implementations so far were hacks that worked for the most used
commands but broken down when challenged or expected to maintain
documented usages [eg: custom app commands].
The current implementation consists of a two step approach:
1. figure out command name that user is trying to execute
2. pass the directive to the app (bench, frappe or other) that consists of the cmd
---
For tackling #1, get_cmd_from_sysargv contains exhaustive rules that
cover all (that i know and ive come across) combinations of valid
frappe commands.
For problem #2, a simple check in click's Group object does the trick.
Tested with possible known commands with combinations of context flags
and params, with bench, frappe & external app's commands
This sets the `proxy_http_version` to `1.1`.
The reason this change should be implemented is that when this is deployed in a Kubernetes environment with Istio, the proxy request fails with HTTP error 426 as the HTTP version is too low for envoy to handle. Setting it to `1.1` will solve the issue.
Since support for pyproject.toml exists, Frappe has gotten rid of
requirements.txt file. However, dev-requirements.txt file still existed
in Frappe & other apps. With this, we can get rid of the separate
dev-reqs file as well and replace it by defining the deps in pyproject
under [tool.bench.dev-dependencies]
Example:
For Frappe, this transition will look like moving the contents of
dev-requirements.txt as follows:
```
\# dev-requirements.txt
coverage==5.5
Faker~=13.12.1
pyngrok~=5.0.5
unittest-xml-reporting~=3.0.4
```
```
\# pyproject.toml
[tool.bench.dev-dependencies]
coverage = "==5.5"
Faker = "~=13.12.1"
pyngrok = "~=5.0.5"
unittest-xml-reporting = "~=3.0.4"
```
Note: If dev-dependencies are defined in pyproject.toml, and a
dev-dependencies.txt file exists - the txt file will be ignored.
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 👋
VM project has been unmaintained and out of date for a long long time
now. The auto-build and publish pipeline has been dead for years and has
been de-listed too from erpnext.org. Nows a better time than ever to get
rid of this unmaintained piece of the project.
Use virtualenv cli only if found in PATH. Else use
venv package of the invoker's Python installation.
venv was added in the std lib since PY33.
ref: https://docs.python.org/3/library/venv.html
* fix: replace certbot-auto references with certbot and add in prerequesites ansile tasks
* fix: config file flag fix
* fix: certbot path using find_executable instead of hardcoded
* fix: remove easy install entry for certbot
* fix: replace find_executable with which
* fix: no need to check and raise.
* fix: provide user with cerbot install instructions"
* fix: return certbot path
* fix: Use get_certbot_path instead of harcoded path
Co-authored-by: Abhishek Balam <abhishekbalam96@gmail.com>
Co-authored-by: gavin <gavin18d@gmail.com>