Skip to content

Commit fba464c

Browse files
committed
prevent starting on not supported versions
1 parent e44d377 commit fba464c

File tree

3 files changed

+46
-10
lines changed

3 files changed

+46
-10
lines changed

apps/debug_adapter/lib/debug_adapter.ex

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -49,12 +49,30 @@ defmodule ElixirLS.DebugAdapter do
4949
end
5050

5151
defp warn_if_unsupported_version do
52-
with {:error, message} <- Utils.MinimumVersion.check_elixir_version() do
53-
Output.debugger_important("WARNING: " <> message)
52+
case Utils.MinimumVersion.check_elixir_version() do
53+
{:error, message} ->
54+
Output.debugger_important(message)
55+
Process.sleep(5000)
56+
System.halt(1)
57+
58+
{:warning, message} ->
59+
Output.debugger_important(message)
60+
61+
:ok ->
62+
:ok
5463
end
5564

56-
with {:error, message} <- Utils.MinimumVersion.check_otp_version() do
57-
Output.debugger_important("WARNING: " <> message)
65+
case Utils.MinimumVersion.check_otp_version() do
66+
{:error, message} ->
67+
Output.debugger_important(message)
68+
Process.sleep(5000)
69+
System.halt(1)
70+
71+
{:warning, message} ->
72+
Output.debugger_important(message)
73+
74+
:ok ->
75+
:ok
5876
end
5977
end
6078
end

apps/elixir_ls_utils/lib/minimum_version.ex

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ defmodule ElixirLS.Utils.MinimumVersion do
77
"Erlang OTP releases below 22 are not supported (Currently running OTP #{otp_release})"}
88
else
99
if otp_release == 26 and is_windows() do
10-
{:error,
10+
{:warning,
1111
"Erlang OTP 26.0 and 26.1 have critical bugs on Windows. Please make sure OTP 26.2 or greater is installed"}
1212
else
1313
:ok
@@ -18,7 +18,7 @@ defmodule ElixirLS.Utils.MinimumVersion do
1818
def check_elixir_version do
1919
if Version.match?(System.version(), ">= 1.13.0") do
2020
if Regex.match?(~r/-/, System.version()) do
21-
{:error,
21+
{:warning,
2222
"Only official elixir releases are supported. (Currently running v#{System.version()})"}
2323
else
2424
:ok

apps/language_server/lib/language_server/server.ex

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1730,12 +1730,30 @@ defmodule ElixirLS.LanguageServer.Server do
17301730
end
17311731

17321732
defp show_version_warnings do
1733-
with {:error, message} <- ElixirLS.Utils.MinimumVersion.check_elixir_version() do
1734-
JsonRpc.show_message(:warning, message)
1733+
case ElixirLS.Utils.MinimumVersion.check_elixir_version() do
1734+
{:error, message} ->
1735+
JsonRpc.show_message(:error, message)
1736+
Process.sleep(5000)
1737+
System.halt(1)
1738+
1739+
{:warning, message} ->
1740+
JsonRpc.show_message(:warning, message)
1741+
1742+
:ok ->
1743+
:ok
17351744
end
17361745

1737-
with {:error, message} <- ElixirLS.Utils.MinimumVersion.check_otp_version() do
1738-
JsonRpc.show_message(:warning, message)
1746+
case ElixirLS.Utils.MinimumVersion.check_otp_version() do
1747+
{:error, message} ->
1748+
JsonRpc.show_message(:error, message)
1749+
Process.sleep(5000)
1750+
System.halt(1)
1751+
1752+
{:warning, message} ->
1753+
JsonRpc.show_message(:warning, message)
1754+
1755+
:ok ->
1756+
:ok
17391757
end
17401758

17411759
case Dialyzer.check_support() do

0 commit comments

Comments
 (0)