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

fix: (re)Install every Frappe app even if not installed to env

This commit is contained in:
Gavin D'souza 2022-06-16 17:54:21 +05:30
parent 39553b343b
commit ffae670be7
2 changed files with 13 additions and 22 deletions

View File

@ -155,10 +155,13 @@ class Bench(Base, Validator):
def get_installed_apps(self) -> List: def get_installed_apps(self) -> List:
"""Returns list of installed apps on bench, not in excluded_apps.txt """Returns list of installed apps on bench, not in excluded_apps.txt
""" """
apps = [app for app in self.apps if app not in self.excluded_apps] try:
apps.remove("frappe") installed_packages = get_cmd_output(f"{self.python} -m pip freeze", cwd=self.name)
apps.insert(0, "frappe") except Exception:
return apps installed_packages = []
is_installed = lambda app: app in installed_packages
return [app for app in self.apps if app not in self.excluded_apps and is_installed(app)]
class BenchApps(MutableSequence): class BenchApps(MutableSequence):
@ -262,23 +265,14 @@ class BenchApps(MutableSequence):
) )
def initialize_apps(self): def initialize_apps(self):
is_installed = lambda app: app in installed_packages
try:
installed_packages = get_cmd_output(f"{self.bench.python} -m pip freeze", cwd=self.bench.name)
except Exception:
self.apps = []
return
try: try:
self.apps = [ self.apps = [
x x
for x in os.listdir(os.path.join(self.bench.name, "apps")) for x in os.listdir(os.path.join(self.bench.name, "apps"))
if ( if is_frappe_app(os.path.join(self.bench.name, "apps", x))
is_frappe_app(os.path.join(self.bench.name, "apps", x))
and is_installed(x)
)
] ]
self.apps.remove("frappe")
self.apps.insert(0, "frappe")
except FileNotFoundError: except FileNotFoundError:
self.apps = [] self.apps = []
@ -438,8 +432,7 @@ class BenchSetup(Base):
""" """
from bench.app import App from bench.app import App
if not apps: apps = apps or self.bench.apps
apps = self.bench.get_installed_apps()
self.pip() self.pip()
@ -456,8 +449,7 @@ class BenchSetup(Base):
""" """
import bench.cli import bench.cli
if not apps: apps = apps or self.bench.apps
apps = self.bench.get_installed_apps()
quiet_flag = "" if bench.cli.verbose else "--quiet" quiet_flag = "" if bench.cli.verbose else "--quiet"

View File

@ -97,8 +97,7 @@ def update_yarn_packages(bench_path=".", apps=None):
bench = Bench(bench_path) bench = Bench(bench_path)
if not apps: apps = apps or bench.apps
apps = bench.get_installed_apps()
apps_dir = os.path.join(bench.name, "apps") apps_dir = os.path.join(bench.name, "apps")