fix: clearer errors when resource fails to compile

This commit is contained in:
Zach Daniel 2021-04-18 16:20:05 -04:00
parent a75bfd4203
commit 060dadeff1

View file

@ -14,21 +14,18 @@ defmodule Ash.Api.Transformers.EnsureResourcesCompiled do
|> Transformer.get_entities([:resources]) |> Transformer.get_entities([:resources])
|> Enum.filter(& &1.warn_on_compile_failure?) |> Enum.filter(& &1.warn_on_compile_failure?)
|> Enum.map(& &1.resource) |> Enum.map(& &1.resource)
|> Enum.filter(fn resource -> |> Enum.reject(fn resource ->
case Code.ensure_compiled(resource) do case Code.ensure_compiled(resource) do
{:module, _module} -> {:module, _module} ->
false true
{:error, :unavailable} -> {:error, error} ->
# The module is being compiled but is in a deadlock that may or may not be resolved
false
other ->
Logger.error( Logger.error(
"Could not ensure that #{inspect(resource)} was compiled: #{inspect(other)}" "Could not ensure that #{inspect(resource)} was compiled: #{inspect(error)}"
) )
true # The module is being compiled but is in a deadlock that may or may not be resolved
false
end end
end) end)
|> case do |> case do