diff options
Diffstat (limited to 'mix.exs')
-rw-r--r-- | mix.exs | 113 |
1 files changed, 62 insertions, 51 deletions
@@ -4,12 +4,13 @@ defmodule Pleroma.Mixfile do def project do [ app: :pleroma, - version: version("2.6.3"), - elixir: "~> 1.11", + version: version("2.7.0"), + elixir: "~> 1.13", elixirc_paths: elixirc_paths(Mix.env()), - compilers: [:phoenix] ++ Mix.compilers(), - elixirc_options: [warnings_as_errors: warnings_as_errors()], + compilers: Mix.compilers(), + elixirc_options: [warnings_as_errors: warnings_as_errors(), prune_code_paths: false], xref: [exclude: [:eldap]], + dialyzer: [plt_add_apps: [:mix, :eldap]], start_permanent: Mix.env() == :prod, aliases: aliases(), deps: deps(), @@ -72,14 +73,16 @@ defmodule Pleroma.Mixfile do def application do [ mod: {Pleroma.Application, []}, - extra_applications: [ - :logger, - :runtime_tools, - :comeonin, - :fast_sanitize, - :os_mon, - :ssl - ], + extra_applications: + [ + :logger, + :runtime_tools, + :comeonin, + :fast_sanitize, + :os_mon, + :ssl, + :eldap + ] ++ logger_application(), included_applications: [:ex_syslogger] ] end @@ -108,25 +111,40 @@ defmodule Pleroma.Mixfile do for s <- oauth_strategy_packages, do: {String.to_atom(s), ">= 0.0.0"} end + defp logger_application do + if Version.match?(System.version(), "<1.15.0-rc.0") do + [] + else + [:logger_backends] + end + end + + defp logger_deps do + if Version.match?(System.version(), "<1.15.0-rc.0") do + [] + else + [{:logger_backends, "~> 1.0"}] + end + end + # Specifies your project dependencies. # # Type `mix help deps` for examples and options. defp deps do [ - {:phoenix, "~> 1.6.0"}, - {:phoenix_ecto, "~> 4.4.0"}, + {:phoenix, "~> 1.7.3"}, + {:phoenix_ecto, "~> 4.4"}, + {:ecto_sql, "~> 3.10"}, {:ecto_enum, "~> 1.4"}, {:postgrex, ">= 0.0.0"}, - {:phoenix_html, "~> 3.1"}, - {:phoenix_live_reload, "~> 1.3.3", only: :dev}, - {:phoenix_live_view, "~> 0.17.1"}, - {:phoenix_live_dashboard, "~> 0.6.2"}, - {:telemetry_metrics, "~> 0.6.1"}, + {:phoenix_html, "~> 3.3"}, + {:phoenix_live_view, "~> 0.19.0"}, + {:phoenix_live_dashboard, "~> 0.8.0"}, + {:telemetry_metrics, "~> 0.6"}, {:telemetry_poller, "~> 1.0"}, {:tzdata, "~> 1.0.3"}, - {:plug_cowboy, "~> 2.3"}, - # oban 2.14 requires Elixir 1.12+ - {:oban, "~> 2.13.4"}, + {:plug_cowboy, "~> 2.5"}, + {:oban, "~> 2.17.9"}, {:gettext, "~> 0.20"}, {:bcrypt_elixir, "~> 2.2"}, {:trailing_format_plug, "~> 0.0.7"}, @@ -134,49 +152,34 @@ defmodule Pleroma.Mixfile do {:html_entities, "~> 0.5", override: true}, {:calendar, "~> 1.0"}, {:cachex, "~> 3.2"}, - {:poison, "~> 3.0", override: true}, - {:tesla, "~> 1.4.0", override: true}, + {:tesla, "~> 1.11"}, {:castore, "~> 0.1"}, {:cowlib, "~> 2.9", override: true}, {:gun, "~> 2.0.0-rc.1", override: true}, - {:finch, "~> 0.10.0"}, + {:finch, "~> 0.15"}, {:jason, "~> 1.2"}, - {:mogrify, "~> 0.9.1"}, + {:mogrify, "~> 0.8.0"}, {:ex_aws, "~> 2.1.6"}, {:ex_aws_s3, "~> 2.0"}, {:sweet_xml, "~> 0.7.2"}, - # earmark 1.4.23 requires Elixir 1.12+ - {:earmark, "1.4.22"}, + {:earmark, "1.4.46"}, {:bbcode_pleroma, "~> 0.2.0"}, {:cors_plug, "~> 2.0"}, {:web_push_encryption, "~> 0.3.1"}, - # swoosh 1.11.2+ requires Elixir 1.12+ - {:swoosh, "~> 1.10.0"}, + {:swoosh, "~> 1.16.9"}, {:phoenix_swoosh, "~> 1.1"}, {:gen_smtp, "~> 0.13"}, {:ex_syslogger, "~> 1.4"}, - {:floki, "~> 0.27"}, + {:floki, "~> 0.35"}, {:timex, "~> 3.6"}, {:ueberauth, "~> 0.4"}, {:linkify, "~> 0.5.3"}, - {:http_signatures, "~> 0.1.1"}, + {:http_signatures, "~> 0.1.2"}, {:telemetry, "~> 1.0.0", override: true}, {:poolboy, "~> 1.5"}, - {:prometheus, "~> 4.6"}, - {:prometheus_ex, - git: "https://github.com/lanodan/prometheus.ex.git", - branch: "fix/elixir-1.14", - override: true}, - {:prometheus_plugs, "~> 1.1"}, - {:prometheus_phoenix, "~> 1.3"}, - # Note: once `prometheus_phx` is integrated into `prometheus_phoenix`, remove the former: - {:prometheus_phx, - git: "https://git.pleroma.social/pleroma/elixir-libraries/prometheus-phx.git", - branch: "no-logging"}, - {:prometheus_ecto, "~> 1.4"}, + {:prom_ex, "~> 1.9"}, {:recon, "~> 2.5"}, {:joken, "~> 2.0"}, - {:benchee, "~> 1.0"}, {:pot, "~> 1.0"}, {:ex_const, "~> 0.2"}, {:plug_static_index_html, "~> 1.0.0"}, @@ -187,16 +190,22 @@ defmodule Pleroma.Mixfile do ref: "b647d0deecaa3acb140854fe4bda5b7e1dc6d1c8"}, {:captcha, git: "https://git.pleroma.social/pleroma/elixir-libraries/elixir-captcha.git", - ref: "90f6ce7672f70f56708792a98d98bd05176c9176"}, + ref: "6630c42aaaab124e697b4e513190c89d8b64e410"}, {:restarter, path: "./restarter"}, {:majic, "~> 1.0"}, - {:eblurhash, - git: "https://github.com/zotonic/eblurhash.git", - ref: "bc37ceb426ef021ee9927fb249bb93f7059194ab"}, {:open_api_spex, "~> 3.16"}, {:ecto_psql_extras, "~> 0.6"}, + {:vix, "~> 0.26.0"}, + {:elixir_make, "~> 0.7.7", override: true}, + {:blurhash, "~> 0.1.0", hex: :rinpatch_blurhash}, + {:exile, "~> 0.10.0"}, + {:bandit, "~> 1.5.2"}, + {:websock_adapter, "~> 0.5.6"}, + {:oban_live_dashboard, "~> 0.1.1"}, ## dev & test + {:phoenix_live_reload, "~> 1.3.3", only: :dev}, + {:poison, "~> 3.0", only: :test}, {:ex_doc, "~> 0.22", only: :dev, runtime: false}, {:ex_machina, "~> 2.4", only: :test}, {:credo, "~> 1.6", only: [:dev, :test], runtime: false}, @@ -204,8 +213,10 @@ defmodule Pleroma.Mixfile do {:covertool, "~> 2.0", only: :test}, {:hackney, "~> 1.18.0", override: true}, {:mox, "~> 1.0", only: :test}, - {:websockex, "~> 0.4.3", only: :test} - ] ++ oauth_deps() + {:websockex, "~> 0.4.3", only: :test}, + {:benchee, "~> 1.0", only: :benchmark}, + {:dialyxir, "~> 1.4", only: [:dev, :test], runtime: false} + ] ++ oauth_deps() ++ logger_deps() end # Aliases are shortcuts or tasks specific to the current project. |