Merge branch 'cycles-config-loader-redux' into 'develop'

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

See merge request pleroma/pleroma!3458
This commit is contained in:
feld 2021-06-08 22:08:37 +00:00
commit d896e45faf
1 changed files with 15 additions and 15 deletions

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 @@ defp filter(configs) 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