diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0473d80..fb84e1c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -22,9 +22,11 @@ jobs: matrix: include: - elixir: 1.13.1 - otp: 24.2 + otp: 24.3.4.17 - elixir: 1.16.2 otp: 26.2.5 + - elixir: 1.19.1 + otp: 28.1.1 steps: - uses: actions/checkout@v4 diff --git a/lib/exsync/beam_monitor.ex b/lib/exsync/beam_monitor.ex index ed8396a..436cb30 100644 --- a/lib/exsync/beam_monitor.ex +++ b/lib/exsync/beam_monitor.ex @@ -99,7 +99,7 @@ defmodule ExSync.BeamMonitor do defp track_module_change(:reload_module, module, state) do %State{reload_set: reload_set, unload_set: unload_set} = state - %State{ + %{ state | reload_set: MapSet.put(reload_set, module), unload_set: MapSet.delete(unload_set, module) @@ -109,7 +109,7 @@ defmodule ExSync.BeamMonitor do defp track_module_change(:unload_module, module, state) do %State{reload_set: reload_set, unload_set: unload_set} = state - %State{ + %{ state | reload_set: MapSet.delete(reload_set, module), unload_set: MapSet.put(unload_set, module) diff --git a/lib/exsync/src_monitor.ex b/lib/exsync/src_monitor.ex index 730c738..4c88f01 100644 --- a/lib/exsync/src_monitor.ex +++ b/lib/exsync/src_monitor.ex @@ -58,9 +58,9 @@ defmodule ExSync.SrcMonitor do {:noreply, state} end - def handle_info(:throttle_timer_complete, state) do + def handle_info(:throttle_timer_complete, %State{} = state) do ExSync.Utils.recomplete() - state = %State{state | throttle_timer: nil} + state = %{state | throttle_timer: nil} {:noreply, state} end diff --git a/lib/exsync/utils.ex b/lib/exsync/utils.ex index 38c8d54..ebe5bed 100644 --- a/lib/exsync/utils.ex +++ b/lib/exsync/utils.ex @@ -13,13 +13,13 @@ defmodule ExSync.Utils do end def unload(beam_path) do - beam_path |> Path.basename(".beam") |> String.to_atom() |> unload + beam_path |> Path.basename(".beam") |> String.to_atom() |> unload() end # beam file path def reload(beam_path) do ExSync.Logger.debug("reload module #{Path.basename(beam_path, ".beam")}") - file = beam_path |> to_charlist + file = beam_path |> to_charlist() {:ok, binary, _} = :erl_prim_loader.get_file(file) module = beam_path |> Path.basename(".beam") |> String.to_atom() :code.load_binary(module, file, binary)