Skip to content

Conversation

@doorgan
Copy link
Collaborator

@doorgan doorgan commented Jun 29, 2025

The burrito packaging will require the Engine app to be fully isolated from Expert, this PR does that

  • In order to build the Engine app with one elixir version and have Expert load it for the project node, Expert must not depend on Engine(other than for tests)
  • A lot of the code in Engine was actually being setup and used by Expert, so a lot of code had to be moved either to Expert, or to Forge
  • Both Expert and Engine used shared data structures like %Diagnostics{} that were defined in the Engine application. Those datastructures were moved to Forge to remove the dependency of Expert on Engine
  • We need to perform two namespacing tasks for two different contexts: once for the Engine app so it can be packaged, and once for Expert so the shared data structures get namespaced. Otherwise Expert would try to use Forge.Project and Engine would try to use XPForge.Project, causing crashes.

@doorgan doorgan changed the base branch from main to genlsp-server June 29, 2025 21:20
@doorgan doorgan force-pushed the doorgan/isolate_engine branch from 4136b13 to c3ca2e5 Compare June 29, 2025 23:36
Base automatically changed from genlsp-server to main July 3, 2025 04:16
@doorgan doorgan changed the title refactor: Isolate Engine from Expert refactor: isolate Engine from Expert Jul 3, 2025
@doorgan doorgan merged commit 39d4b2f into main Jul 3, 2025
13 of 14 checks passed
@doorgan doorgan deleted the doorgan/isolate_engine branch July 3, 2025 04:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants