summaryrefslogtreecommitdiff
path: root/lib/mix/pleroma.ex
diff options
context:
space:
mode:
authorAlexander Strizhakov <alex.strizhakov@gmail.com>2020-07-03 19:18:08 +0300
committerAlexander Strizhakov <alex.strizhakov@gmail.com>2020-07-08 15:58:47 +0300
commit72ad3a66f48d4500be1f25dd7b02b834399d3bbe (patch)
tree53edca92ccdcd92a19209a5f8174e06636ceaaa9 /lib/mix/pleroma.ex
parent6335b32aa8f5c54cf5f09638189a77cad5785077 (diff)
downloadpleroma-72ad3a66f48d4500be1f25dd7b02b834399d3bbe.tar.gz
pleroma-72ad3a66f48d4500be1f25dd7b02b834399d3bbe.zip
don't fully start pleroma in mix tasks
Diffstat (limited to 'lib/mix/pleroma.ex')
-rw-r--r--lib/mix/pleroma.ex20
1 files changed, 19 insertions, 1 deletions
diff --git a/lib/mix/pleroma.ex b/lib/mix/pleroma.ex
index 3ad6edbfb..553c74c25 100644
--- a/lib/mix/pleroma.ex
+++ b/lib/mix/pleroma.ex
@@ -3,6 +3,8 @@
# SPDX-License-Identifier: AGPL-3.0-only
defmodule Mix.Pleroma do
+ @apps [:restarter, :ecto, :ecto_sql, :postgrex, :db_connection, :cachex]
+ @cachex_childs ["object", "user"]
@doc "Common functions to be reused in mix tasks"
def start_pleroma do
Application.put_env(:phoenix, :serve_endpoints, false, persistent: true)
@@ -11,7 +13,23 @@ defmodule Mix.Pleroma do
Application.put_env(:logger, :console, level: :debug)
end
- {:ok, _} = Application.ensure_all_started(:pleroma)
+ apps =
+ if Application.get_env(:tesla, :adapter) == Tesla.Adapter.Gun do
+ [:gun | @apps]
+ else
+ [:hackney | @apps]
+ end
+
+ Enum.each(apps, &Application.ensure_all_started/1)
+
+ childs = [Pleroma.Repo, Pleroma.Config.TransferTask, Pleroma.Web.Endpoint]
+
+ cachex_childs = Enum.map(@cachex_childs, &Pleroma.Application.build_cachex(&1, []))
+
+ Supervisor.start_link(childs ++ cachex_childs,
+ strategy: :one_for_one,
+ name: Pleroma.Supervisor
+ )
if Pleroma.Config.get(:env) not in [:test, :benchmark] do
pleroma_rebooted?()