Merge branch 'develop' of https://git.pleroma.social/pleroma/pleroma into develop
[akkoma] / mix.exs
diff --git a/mix.exs b/mix.exs
index a14b0c51a350fea0bff83b69056792a1f1219ca0..4de0c78db6d74c6680a44e8c4f51851ddc8cd415 100644 (file)
--- a/mix.exs
+++ b/mix.exs
@@ -4,7 +4,7 @@ defmodule Pleroma.Mixfile do
   def project do
     [
       app: :pleroma,
-      version: version("2.0.50"),
+      version: version("2.1.50"),
       elixir: "~> 1.9",
       elixirc_paths: elixirc_paths(Mix.env()),
       compilers: [:phoenix, :gettext] ++ Mix.compilers(),
@@ -114,63 +114,52 @@ defmodule Pleroma.Mixfile do
   # Type `mix help deps` for examples and options.
   defp deps do
     [
-      {:phoenix, "~> 1.4.8"},
+      {:phoenix, "~> 1.4.17"},
       {:tzdata, "~> 1.0.3"},
-      {:plug_cowboy, "~> 2.0"},
+      {:plug_cowboy, "~> 2.3"},
       {:phoenix_pubsub, "~> 1.1"},
       {:phoenix_ecto, "~> 4.0"},
       {:ecto_enum, "~> 1.4"},
       {:ecto_sql, "~> 3.4.4"},
-      {:postgrex, ">= 0.13.5"},
+      {:postgrex, ">= 0.15.5"},
       {:oban, "~> 2.0.0"},
-      {:gettext, "~> 0.15"},
-      {:pbkdf2_elixir, "~> 1.0"},
-      {:bcrypt_elixir, "~> 2.0"},
+      {:gettext, "~> 0.18"},
+      {:pbkdf2_elixir, "~> 1.2"},
+      {:bcrypt_elixir, "~> 2.2"},
       {:trailing_format_plug, "~> 0.0.7"},
-      {:fast_sanitize, "~> 0.1"},
+      {:fast_sanitize, "~> 0.2.0"},
       {:html_entities, "~> 0.5", override: true},
-      {:phoenix_html, "~> 2.10"},
-      {:calendar, "~> 0.17.4"},
+      {:phoenix_html, "~> 2.14"},
+      {:calendar, "~> 1.0"},
       {:cachex, "~> 3.2"},
       {:poison, "~> 3.0", override: true},
-      # {:tesla, "~> 1.3", override: true},
       {:tesla,
        github: "teamon/tesla", ref: "af3707078b10793f6a534938e56b963aff82fe3c", override: true},
       {:castore, "~> 0.1"},
-      {:cowlib, "~> 2.8", override: true},
+      {:cowlib, "~> 2.9", override: true},
       {:gun,
        github: "ninenines/gun", ref: "921c47146b2d9567eac7e9a4d2ccc60fffd4f327", override: true},
-      {:jason, "~> 1.0"},
-      {:mogrify, "~> 0.6.1"},
+      {:jason, "~> 1.2"},
+      {:mogrify, "~> 0.7.4"},
       {:ex_aws, "~> 2.1"},
       {:ex_aws_s3, "~> 2.0"},
       {:sweet_xml, "~> 0.6.6"},
       {:earmark, "1.4.3"},
       {:bbcode_pleroma, "~> 0.2.0"},
-      {:ex_machina, "~> 2.3", only: :test},
-      {:credo, "~> 1.1.0", only: [:dev, :test], runtime: false},
-      {:mock, "~> 0.3.3", only: :test},
       {:crypt,
        git: "https://github.com/msantos/crypt.git",
        ref: "f63a705f92c26955977ee62a313012e309a4d77a"},
-      {:cors_plug, "~> 1.5"},
-      {:ex_doc, "~> 0.21", only: :dev, runtime: false},
-      {:web_push_encryption, "~> 0.2.1"},
-      {:swoosh,
-       git: "https://github.com/swoosh/swoosh.git",
-       ref: "c96e0ca8a00d8f211ec1f042a4626b09f249caa5",
-       override: true},
-      {:phoenix_swoosh, "~> 0.2"},
+      {:cors_plug, "~> 2.0"},
+      {:web_push_encryption, "~> 0.3"},
+      {:swoosh, "~> 1.0"},
+      {:phoenix_swoosh, "~> 0.3"},
       {:gen_smtp, "~> 0.13"},
-      {:websocket_client, git: "https://github.com/jeremyong/websocket_client.git", only: :test},
       {:ex_syslogger, "~> 1.4"},
-      {:floki, "~> 0.25"},
-      {:timex, "~> 3.5"},
+      {:floki, "~> 0.27"},
+      {:timex, "~> 3.6"},
       {:ueberauth, "~> 0.4"},
       {:linkify, "~> 0.2.0"},
-      {:http_signatures,
-       git: "https://git.pleroma.social/pleroma/http_signatures.git",
-       ref: "293d77bb6f4a67ac8bde1428735c3b42f22cbb30"},
+      {:http_signatures, "~> 0.1.0"},
       {:telemetry, "~> 0.3"},
       {:poolboy, "~> 1.5"},
       {:prometheus, "~> 4.6"},
@@ -182,26 +171,33 @@ defmodule Pleroma.Mixfile do
       {:quack, "~> 0.1.1"},
       {:joken, "~> 2.0"},
       {:benchee, "~> 1.0"},
-      {:pot, "~> 0.10.2"},
+      {:pot, "~> 0.11"},
       {:esshd, "~> 0.1.0", runtime: Application.get_env(:esshd, :enabled, false)},
       {:ex_const, "~> 0.2"},
       {:plug_static_index_html, "~> 1.0.0"},
-      {:excoveralls, "~> 0.12.1", only: :test},
       {:flake_id, "~> 0.1.0"},
       {:concurrent_limiter,
        git: "https://git.pleroma.social/pleroma/elixir-libraries/concurrent_limiter.git",
-       ref: "8eee96c6ba39b9286ec44c51c52d9f2758951365"},
+       ref: "55e92f84b4ed531bd487952a71040a9c69dc2807"},
       {:remote_ip,
        git: "https://git.pleroma.social/pleroma/remote_ip.git",
        ref: "b647d0deecaa3acb140854fe4bda5b7e1dc6d1c8"},
       {:captcha,
        git: "https://git.pleroma.social/pleroma/elixir-libraries/elixir-captcha.git",
        ref: "e0f16822d578866e186a0974d65ad58cddc1e2ab"},
-      {:mox, "~> 0.5", only: :test},
       {:restarter, path: "./restarter"},
       {:open_api_spex,
        git: "https://git.pleroma.social/pleroma/elixir-libraries/open_api_spex.git",
-       ref: "f296ac0924ba3cf79c7a588c4c252889df4c2edd"}
+       ref: "f296ac0924ba3cf79c7a588c4c252889df4c2edd"},
+
+      ## dev & test
+      {:ex_doc, "~> 0.22", only: :dev, runtime: false},
+      {:ex_machina, "~> 2.4", only: :test},
+      {:credo, "~> 1.4", only: [:dev, :test], runtime: false},
+      {:mock, "~> 0.3.5", only: :test},
+      {:excoveralls, "~> 0.13.1", only: :test},
+      {:mox, "~> 0.5", only: :test},
+      {:websocket_client, git: "https://github.com/jeremyong/websocket_client.git", only: :test}
     ] ++ oauth_deps()
   end
 
@@ -218,7 +214,8 @@ defmodule Pleroma.Mixfile do
       "ecto.setup": ["ecto.create", "ecto.migrate", "run priv/repo/seeds.exs"],
       "ecto.reset": ["ecto.drop", "ecto.setup"],
       test: ["ecto.create --quiet", "ecto.migrate", "test"],
-      docs: ["pleroma.docs", "docs"]
+      docs: ["pleroma.docs", "docs"],
+      analyze: ["credo --strict --only=warnings,todo,fixme,consistency,readability"]
     ]
   end
 
@@ -232,10 +229,10 @@ defmodule Pleroma.Mixfile do
   defp version(version) do
     identifier_filter = ~r/[^0-9a-z\-]+/i
 
-    {_cmdgit, cmdgit_err} = System.cmd("sh", ["-c", "command -v git"])
+    git_available? = match?({_output, 0}, System.cmd("sh", ["-c", "command -v git"]))
 
     git_pre_release =
-      if cmdgit_err == 0 do
+      if git_available? do
         {tag, tag_err} =
           System.cmd("git", ["describe", "--tags", "--abbrev=0"], stderr_to_stdout: true)
 
@@ -261,7 +258,7 @@ defmodule Pleroma.Mixfile do
 
     # Branch name as pre-release version component, denoted with a dot
     branch_name =
-      with 0 <- cmdgit_err,
+      with true <- git_available?,
            {branch_name, 0} <- System.cmd("git", ["rev-parse", "--abbrev-ref", "HEAD"]),
            branch_name <- String.trim(branch_name),
            branch_name <- System.get_env("PLEROMA_BUILD_BRANCH") || branch_name,