extend custom runtime system
All checks were successful
ci/woodpecker/push/test Pipeline was successful
ci/woodpecker/push/docs Pipeline was successful
ci/woodpecker/push/release Pipeline was successful
ci/woodpecker/pr/release Pipeline was successful
ci/woodpecker/pr/docs Pipeline was successful
ci/woodpecker/pr/test Pipeline was successful

also expose some user stuff for custom authenticators
This commit is contained in:
FloatingGhost 2022-07-24 17:27:03 +01:00
parent f9a7b456eb
commit f73c93e4be
5 changed files with 26 additions and 1 deletions

View file

@ -14,10 +14,23 @@ defmodule Pleroma.Utils do
@repo_timeout Pleroma.Config.get([Pleroma.Repo, :timeout], 15_000) @repo_timeout Pleroma.Config.get([Pleroma.Repo, :timeout], 15_000)
def compile_dir(dir) when is_binary(dir) do def compile_dir(dir) when is_binary(dir) do
dir
|> elixir_files()
|> Kernel.ParallelCompiler.compile()
end
defp elixir_files(dir) when is_binary(dir) do
dir dir
|> File.ls!() |> File.ls!()
|> Enum.map(&Path.join(dir, &1)) |> Enum.map(&Path.join(dir, &1))
|> Kernel.ParallelCompiler.compile() |> Enum.flat_map(fn path ->
if File.dir?(path) do
elixir_files(path)
else
[path]
end
end)
|> Enum.filter(fn path -> String.ends_with?(path, ".ex") end)
end end
@doc """ @doc """

View file

@ -0,0 +1,2 @@
defmodule DynamicModule.First do
end

View file

@ -0,0 +1 @@
def thisisnotloaded

View file

@ -0,0 +1,2 @@
defmodule DynamicModule.Second do
end

View file

@ -12,4 +12,11 @@ test "returns unique temporary directory" do
File.rm_rf(path) File.rm_rf(path)
end end
end end
describe "compile_dir/1" do
test "recursively compiles directories" do
{:ok, [DynamicModule.First, DynamicModule.Second], []} =
Pleroma.Utils.compile_dir("test/fixtures/runtime_modules")
end
end
end end