diff options
Diffstat (limited to 'lib/mix')
| -rw-r--r-- | lib/mix/pleroma.ex | 35 | ||||
| -rw-r--r-- | lib/mix/tasks/pleroma/instance.ex | 4 | ||||
| -rw-r--r-- | lib/mix/tasks/pleroma/user.ex | 4 | 
3 files changed, 38 insertions, 5 deletions
| diff --git a/lib/mix/pleroma.ex b/lib/mix/pleroma.ex index 3ad6edbfb..9f0bf6ecb 100644 --- a/lib/mix/pleroma.ex +++ b/lib/mix/pleroma.ex @@ -3,15 +3,48 @@  # SPDX-License-Identifier: AGPL-3.0-only  defmodule Mix.Pleroma do +  @apps [ +    :restarter, +    :ecto, +    :ecto_sql, +    :postgrex, +    :db_connection, +    :cachex, +    :flake_id, +    :swoosh, +    :timex +  ] +  @cachex_children ["object", "user"]    @doc "Common functions to be reused in mix tasks"    def start_pleroma do +    Pleroma.Config.Holder.save_default()      Application.put_env(:phoenix, :serve_endpoints, false, persistent: true)      if Pleroma.Config.get(:env) != :test 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) + +    children = [ +      Pleroma.Repo, +      {Pleroma.Config.TransferTask, false}, +      Pleroma.Web.Endpoint +    ] + +    cachex_children = Enum.map(@cachex_children, &Pleroma.Application.build_cachex(&1, [])) + +    Supervisor.start_link(children ++ cachex_children, +      strategy: :one_for_one, +      name: Pleroma.Supervisor +    )      if Pleroma.Config.get(:env) not in [:test, :benchmark] do        pleroma_rebooted?() diff --git a/lib/mix/tasks/pleroma/instance.ex b/lib/mix/tasks/pleroma/instance.ex index 86409738a..91440b453 100644 --- a/lib/mix/tasks/pleroma/instance.ex +++ b/lib/mix/tasks/pleroma/instance.ex @@ -145,7 +145,7 @@ defmodule Mix.Tasks.Pleroma.Instance do            options,            :uploads_dir,            "What directory should media uploads go in (when using the local uploader)?", -          Pleroma.Config.get([Pleroma.Uploaders.Local, :uploads]) +          Config.get([Pleroma.Uploaders.Local, :uploads])          )          |> Path.expand() @@ -154,7 +154,7 @@ defmodule Mix.Tasks.Pleroma.Instance do            options,            :static_dir,            "What directory should custom public files be read from (custom emojis, frontend bundle overrides, robots.txt, etc.)?", -          Pleroma.Config.get([:instance, :static_dir]) +          Config.get([:instance, :static_dir])          )          |> Path.expand() diff --git a/lib/mix/tasks/pleroma/user.ex b/lib/mix/tasks/pleroma/user.ex index bca7e87bf..01824aa18 100644 --- a/lib/mix/tasks/pleroma/user.ex +++ b/lib/mix/tasks/pleroma/user.ex @@ -232,7 +232,7 @@ defmodule Mix.Tasks.Pleroma.User do      with %User{} = user <- User.get_cached_by_nickname(nickname) do        user = user |> User.tag(tags) -      shell_info("Tags of #{user.nickname}: #{inspect(tags)}") +      shell_info("Tags of #{user.nickname}: #{inspect(user.tags)}")      else        _ ->          shell_error("Could not change user tags for #{nickname}") @@ -245,7 +245,7 @@ defmodule Mix.Tasks.Pleroma.User do      with %User{} = user <- User.get_cached_by_nickname(nickname) do        user = user |> User.untag(tags) -      shell_info("Tags of #{user.nickname}: #{inspect(tags)}") +      shell_info("Tags of #{user.nickname}: #{inspect(user.tags)}")      else        _ ->          shell_error("Could not change user tags for #{nickname}") | 
