Create pleroma.email mix task
[akkoma] / lib / pleroma / application.ex
index 82a0057006553f44e4b3d115747213731795c079..e1706887671fab475c6cd8517e05071c9091cc37 100644 (file)
@@ -5,6 +5,7 @@
 defmodule Pleroma.Application do
   import Cachex.Spec
   use Application
+  require Logger
 
   @name Mix.Project.config()[:name]
   @version Mix.Project.config()[:version]
@@ -30,7 +31,9 @@ defmodule Pleroma.Application do
   # See http://elixir-lang.org/docs/stable/elixir/Application.html
   # for more information on OTP Applications
   def start(_type, _args) do
+    Pleroma.HTML.compile_scrubbers()
     Pleroma.Config.DeprecationWarnings.warn()
+    Pleroma.Repo.check_migrations_applied!()
     setup_instrumenters()
     load_custom_modules()
 
@@ -73,9 +76,7 @@ defmodule Pleroma.Application do
 
     if dir && File.exists?(dir) do
       dir
-      |> File.ls!()
-      |> Enum.map(&Path.join(dir, &1))
-      |> Kernel.ParallelCompiler.compile()
+      |> Pleroma.Utils.compile_dir()
       |> case do
         {:error, _errors, _warnings} ->
           raise "Invalid custom modules"
@@ -83,7 +84,7 @@ defmodule Pleroma.Application do
         {:ok, modules, _warnings} ->
           if @env != :test do
             Enum.each(modules, fn mod ->
-              IO.puts("Custom module loaded: #{inspect(mod)}")
+              Logger.info("Custom module loaded: #{inspect(mod)}")
             end)
           end
 
@@ -172,8 +173,6 @@ defmodule Pleroma.Application do
 
   defp oauth_cleanup_child(_), do: []
 
-  defp chat_child(:test, _), do: []
-
   defp chat_child(_env, true) do
     [Pleroma.Web.ChatChannel.ChatChannelState]
   end