Ignore runtime deps in Pleroma.Config.Loader with Module.concat/1

Speeds up recompilation
This commit is contained in:
Alex Gleason 2021-06-08 16:07:51 -05:00
parent 5667c02fce
commit 1be14cc45f
No known key found for this signature in database
GPG key ID: 7211D1F99744FBB7

View file

@ -3,18 +3,18 @@
# SPDX-License-Identifier: AGPL-3.0-only # SPDX-License-Identifier: AGPL-3.0-only
defmodule Pleroma.Config.Loader do defmodule Pleroma.Config.Loader do
defp reject_keys, # These modules are only being used as keys here (for equality check),
do: [ # so it's okay to use `Module.concat/1` to have the compiler ignore them.
Pleroma.Repo, @reject_keys [
Pleroma.Web.Endpoint, Module.concat(["Pleroma.Repo"]),
Module.concat(["Pleroma.Web.Endpoint"]),
:env, :env,
:configurable_from_database, :configurable_from_database,
:database, :database,
:swarm :swarm
] ]
defp reject_groups, @reject_groups [
do: [
:postgrex, :postgrex,
:tesla :tesla
] ]
@ -54,7 +54,7 @@ defp filter(configs) do
@spec filter_group(atom(), keyword()) :: keyword() @spec filter_group(atom(), keyword()) :: keyword()
def filter_group(group, configs) do def filter_group(group, configs) do
Enum.reject(configs[group], fn {key, _v} -> Enum.reject(configs[group], fn {key, _v} ->
key in reject_keys() or group in reject_groups() or key in @reject_keys or group in @reject_groups or
(group == :phoenix and key == :serve_endpoints) (group == :phoenix and key == :serve_endpoints)
end) end)
end end