From 4011f4e01b0472581995f7c377602a9bf0d6ed24 Mon Sep 17 00:00:00 2001 From: Lukasz Samson Date: Fri, 20 Oct 2023 21:31:19 +0200 Subject: [PATCH] unload mix project apps before loading config if we unload after loading config mix compile fails on Application.compile_env Fixes https://github.com/elixir-lsp/elixir-ls/issues/1008 --- apps/language_server/lib/language_server/build.ex | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/apps/language_server/lib/language_server/build.ex b/apps/language_server/lib/language_server/build.ex index bda55669b..4b39dda3d 100644 --- a/apps/language_server/lib/language_server/build.ex +++ b/apps/language_server/lib/language_server/build.ex @@ -98,6 +98,8 @@ defmodule ElixirLS.LanguageServer.Build do end end + unload_mix_project_apps() + # FIXME: Private API Mix.Project.pop() purge_module(module) @@ -401,7 +403,10 @@ defmodule ElixirLS.LanguageServer.Build do for dep <- current_deps do maybe_purge_dep(dep) end + end + defp unload_mix_project_apps() do + # note that this will unload config so we need to call loadconfig afterwards mix_project_apps = if Mix.Project.umbrella?() do Mix.Project.apps_paths() |> Enum.map(&elem(&1, 0))