Prevent elixir compiler from yeeting our modules

This commit is contained in:
FloatingGhost 2023-08-05 14:03:21 +01:00
parent 9b362a6739
commit ec5db753b9
2 changed files with 17 additions and 1 deletions

View file

@ -53,6 +53,7 @@ defmodule Pleroma.Application do
Config.DeprecationWarnings.warn()
Pleroma.Web.Plugs.HTTPSecurityPlug.warn_if_disabled()
Pleroma.ApplicationRequirements.verify!()
load_all_pleroma_modules()
load_custom_modules()
Pleroma.Docs.JSON.compile()
limiters_setup()
@ -144,6 +145,21 @@ defmodule Pleroma.Application do
end
end
def load_all_pleroma_modules do
:code.all_available()
|> Enum.filter(fn {mod, _, _} ->
mod
|> to_string()
|> String.starts_with?("Elixir.Pleroma.")
end)
|> Enum.map(fn {mod, _, _} ->
mod
|> to_string()
|> String.to_existing_atom()
end)
|> Code.ensure_all_loaded!()
end
defp cachex_children do
[
build_cachex("used_captcha", ttl_interval: seconds_valid_interval()),

View file

@ -4,7 +4,7 @@ defmodule Pleroma.Mixfile do
def project do
[
app: :pleroma,
version: version("3.10.1"),
version: version("3.10.2"),
elixir: "~> 1.14",
elixirc_paths: elixirc_paths(Mix.env()),
compilers: [:phoenix] ++ Mix.compilers(),