• Jorty's avatar
    Refactor Mix tasks · 8a1dc0de
    Jorty authored
    1. Move Mix tasks into a `pleroma` namespace, to avoid
       collisions with dependent packages.
    2. Rename and condense tasks  into two `pleroma.user` and
       `pleroma.gen.instance` tasks for consistency with Hex and Phoenix.
    3. Add additional functionality to the tasks to make them more
       user-friendly. Arguments with sensible defaults were demoted to flags
       and in the interactive `generate_config` (renamed to
       `pleroma.gen.instance`), flags were added to allow non-interactive
       use, though interactive use remains the primary interface. That task
       also now prompts the user for database parameters.
    4. Documentation has been added to both tasks such that `mix help` now
       shows useful information.
    5. Finally, use of IO.puts in tasks has been replaced with Mix.shell()
       equivalents to make the behavior more consistent with Mix tasks in
       other packages, and such that variables like MIX_QUIET are respected.
       The only exception is in `mix pleroma.user reset_password`, wherein
       the URL must always be printed regardless of the value of MIX_QUIET
       since that's its entire purpose.