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,21 +3,21 @@
# SPDX-License-Identifier: AGPL-3.0-only
defmodule Pleroma.Config.Loader do
defp reject_keys,
do: [
Pleroma.Repo,
Pleroma.Web.Endpoint,
:env,
:configurable_from_database,
:database,
:swarm
]
# These modules are only being used as keys here (for equality check),
# so it's okay to use `Module.concat/1` to have the compiler ignore them.
@reject_keys [
Module.concat(["Pleroma.Repo"]),
Module.concat(["Pleroma.Web.Endpoint"]),
:env,
:configurable_from_database,
:database,
:swarm
]
defp reject_groups,
do: [
:postgrex,
:tesla
]
@reject_groups [
:postgrex,
:tesla
]
if Code.ensure_loaded?(Config.Reader) do
@reader Config.Reader
@ -54,7 +54,7 @@ defmodule Pleroma.Config.Loader do
@spec filter_group(atom(), keyword()) :: keyword()
def filter_group(group, configs) do
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)
end)
end