start_permanent: Mix.env() == :prod,
aliases: aliases(),
deps: deps(),
+ test_coverage: [tool: ExCoveralls],
# Docs
name: "Pleroma",
- source_url: "https://git.pleroma.social/pleroma/pleroma",
- source_url_pattern:
- "https://git.pleroma.social/pleroma/pleroma/blob/develop/%{path}#L%{line}",
homepage_url: "https://pleroma.social/",
+ source_url: "https://git.pleroma.social/pleroma/pleroma",
docs: [
+ source_url_pattern:
+ "https://git.pleroma.social/pleroma/pleroma/blob/develop/%{path}#L%{line}",
logo: "priv/static/static/logo.png",
extras: ["README.md", "CHANGELOG.md"] ++ Path.wildcard("docs/**/*.md"),
groups_for_extras: [
defp elixirc_paths(:test), do: ["lib", "test/support"]
defp elixirc_paths(_), do: ["lib"]
+ # Specifies OAuth dependencies.
+ defp oauth_deps do
+ oauth_strategy_packages =
+ System.get_env("OAUTH_CONSUMER_STRATEGIES")
+ |> to_string()
+ |> String.split()
+ |> Enum.map(fn strategy_entry ->
+ with [_strategy, dependency] <- String.split(strategy_entry, ":") do
+ dependency
+ else
+ [strategy] -> "ueberauth_#{strategy}"
+ end
+ end)
+
+ for s <- oauth_strategy_packages, do: {String.to_atom(s), ">= 0.0.0"}
+ end
+
# Specifies your project dependencies.
#
# Type `mix help deps` for examples and options.
defp deps do
- oauth_strategies = String.split(System.get_env("OAUTH_CONSUMER_STRATEGIES") || "")
-
- oauth_deps =
- for s <- oauth_strategies,
- do: {String.to_atom("ueberauth_#{s}"), ">= 0.0.0"}
-
[
{:phoenix, "~> 1.4.1"},
{:plug_cowboy, "~> 2.0"},
{:phoenix_pubsub, "~> 1.1"},
{:phoenix_ecto, "~> 4.0"},
- {:ecto_sql, "~>3.0.5"},
+ {:ecto_sql, "~> 3.1"},
{:postgrex, ">= 0.13.5"},
{:gettext, "~> 0.15"},
{:comeonin, "~> 4.1.1"},
{:ex_aws, "~> 2.0"},
{:ex_aws_s3, "~> 2.0"},
{:earmark, "~> 1.3"},
+ {:bbcode, "~> 0.1"},
{:ex_machina, "~> 2.3", only: :test},
{:credo, "~> 0.9.3", only: [:dev, :test]},
- {:mock, "~> 0.3.1", only: :test},
+ {:mock, "~> 0.3.3", only: :test},
{:crypt,
git: "https://github.com/msantos/crypt", ref: "1f2b58927ab57e72910191a7ebaeff984382a1d3"},
{:cors_plug, "~> 1.5"},
- {:ex_doc, "~> 0.19", only: :dev, runtime: false},
+ {:ex_doc, "~> 0.20.2", only: :dev, runtime: false},
{:web_push_encryption, "~> 0.2.1"},
{:swoosh, "~> 0.20"},
{:gen_smtp, "~> 0.13"},
{:ueberauth, "~> 0.4"},
{:auto_linker,
git: "https://git.pleroma.social/pleroma/auto_linker.git",
- ref: "479dd343f4e563ff91215c8275f3b5c67e032850"},
+ ref: "c00c4e75b35367fa42c95ffd9b8c455bf9995829"},
+ {:http_signatures,
+ git: "https://git.pleroma.social/pleroma/http_signatures.git",
+ ref: "9789401987096ead65646b52b5a2ca6bf52fc531"},
{:pleroma_job_queue, "~> 0.2.0"},
{:telemetry, "~> 0.3"},
{:prometheus_ex, "~> 3.0"},
{:prometheus_ecto, "~> 1.4"},
{:prometheus_process_collector, "~> 1.4"},
{:recon, github: "ferd/recon", tag: "2.4.0"},
- {:quack, "~> 0.1.1"}
- ] ++ oauth_deps
+ {:quack, "~> 0.1.1"},
+ {:benchee, "~> 1.0"},
+ {:esshd, "~> 0.1.0", runtime: Application.get_env(:esshd, :enabled, false)},
+ {:ex_rated, "~> 1.2"},
+ {:plug_static_index_html, "~> 1.0.0"},
+ {:excoveralls, "~> 0.11.1", only: :test}
+ ] ++ oauth_deps()
end
# Aliases are shortcuts or tasks specific to the current project.