How to change sequence of applying multiple custom apps

Ensure you reorder apps.txt after running bench setup requirements or bench update because bench will overwrite your ordering to the order specified by the code below from bench/bench.py.

You might think: so what? But the order matters because it specifies the order that modules are loaded and hence overridden.

So the order you should do things:

  1. bench setup requirements
  2. manually reorder apps.txt (and take a copy for next time)
  3. bench restart
  4. bench --site <site> clear-cache
  5. bench --site <site> clear-website-cache
	def initialize_apps(self):
		try:
			self.apps = [
				x
				for x in os.listdir(os.path.join(self.bench.name, "apps"))
				if is_frappe_app(os.path.join(self.bench.name, "apps", x))
			]
			self.apps.remove("frappe")
			self.apps.insert(0, "frappe")

True up to v14/15 at least

2 Likes