mppm

Build log

nerves_system_rpi0

mppm 0.1.1 · fail · run mppm-0.1.1-1791006358568
2471 of 2471 lines
1Resolving Hex dependencies...2Resolution completed in 0.478s3Unchanged:4  certifi 2.15.05  circular_buffer 1.1.06  cowboy 2.19.07  cowboy_telemetry 0.3.18  cowlib 2.20.0 VULNERABLE!9    EEF-CVE-2026-43966 (MEDIUM)10    aka: CVE-2026-43966, GHSA-w4f7-4cxr-rv3c11    HTTP Response Splitting via Non-VCHAR Bytes in cow_http_struct_hd:escape_string/212    https://osv.dev/vulnerability/EEF-CVE-2026-439661314    EEF-CVE-2026-43969 (LOW)15    aka: CVE-2026-43969, GHSA-g2wm-735q-3f5616    Cookie Request Header Injection via Unvalidated Encoder in cow_cookie:cookie/117    https://osv.dev/vulnerability/EEF-CVE-2026-4396918  db_connection 2.10.219  decimal 3.1.120  ecto 3.14.221  ecto_network 1.3.022  ecto_sql 3.14.023  elixir_make 0.10.024  erlsom 1.5.225  expo 1.1.126  gettext 0.26.227  hackney 1.25.0 VULNERABLE!28    EEF-CVE-2026-47071 (HIGH)29    aka: CVE-2026-47071, GHSA-gp9c-pm5m-5cxr30    SOCKS5 TLS upgrade ignores caller timeout in hackney31    https://osv.dev/vulnerability/EEF-CVE-2026-470713233    EEF-CVE-2026-47076 (MEDIUM)34    aka: CVE-2026-47076, GHSA-pj7v-xfvx-wmjq35    SSRF allowlist bypass via percent-encoded host in hackney36    https://osv.dev/vulnerability/EEF-CVE-2026-470763738    EEF-CVE-2026-47069 (LOW)39    aka: CVE-2026-47069, GHSA-mp55-p8c9-rfw240    CRLF injection in cookie domain/path options in hackney41    https://osv.dev/vulnerability/EEF-CVE-2026-470694243    EEF-CVE-2026-47075 (MEDIUM)44    aka: CVE-2026-47075, GHSA-j9wq-vxxc-94wf45    CR/LF injection in query parameter in hackney46    https://osv.dev/vulnerability/EEF-CVE-2026-4707547  httpoison 1.8.248  idna 6.1.149  interactive_cmd 0.1.450  jason 1.4.551  logger_file_backend 0.0.1452  metrics 1.0.153  mime 2.0.754  mimerl 1.5.055  mppm 0.1.156  nerves 2.0.0-pre.257  nerves_discovery 0.1.558  nerves_logging 0.2.459  nerves_runtime 0.13.1360  nerves_system_bbb 2.30.261  nerves_system_br 1.34.462  nerves_system_mangopi_mq_pro 0.17.263  nerves_system_qemu_aarch64 0.4.264  nerves_system_rpi0 2.1.265  nerves_system_rpi4 2.1.266  nerves_system_rpi5 2.1.267  nerves_system_trellis 0.5.068  nerves_system_x86_64 1.34.269  nerves_toolchain_aarch64_nerves_linux_gnu 15.3.170  nerves_toolchain_armv6_nerves_linux_gnueabihf 15.3.171  nerves_toolchain_armv7_nerves_linux_gnueabihf 15.3.172  nerves_toolchain_riscv64_nerves_linux_gnu 15.3.173  nerves_toolchain_x86_64_nerves_linux_musl 15.3.174  nerves_uevent 0.1.775  oauth2 2.1.176  observer_cli 1.8.877  parse_trans 3.4.178  phoenix 1.5.15 VULNERABLE!79    GHSA-p8f7-22gq-m7j9 (HIGH)80    aka: CVE-2022-4297581    Phoenix before 1.6.14 mishandles check_origin wildcarding82    https://osv.dev/vulnerability/GHSA-p8f7-22gq-m7j983  phoenix_ecto 4.7.084  phoenix_html 2.14.3 VULNERABLE!85    GHSA-5g2h-9x5v-5h3x (MEDIUM)86    aka: CVE-2021-46871, GHSA-j3gg-r6gp-95q287    phoenix_html allows Cross-site Scripting in HEEx class attributes88    https://osv.dev/vulnerability/GHSA-5g2h-9x5v-5h3x89  phoenix_live_dashboard 0.4.090  phoenix_live_view 0.15.7 VULNERABLE!91    EEF-CVE-2026-64941 (LOW)92    aka: CVE-2026-64941, GHSA-36m4-rm57-3prf93    Open redirect in Phoenix.LiveView.validate_local_url!/2 via ASCII tab, LF and CR94    https://osv.dev/vulnerability/EEF-CVE-2026-6494195  phoenix_pubsub 2.3.096  plug 1.20.397  plug_cowboy 2.9.098  plug_crypto 1.2.599  postgrex 0.22.4100  property_table 0.3.4101  ranch 2.3.0102  recon 2.5.6103  ring_logger 0.11.7104  slugify 1.3.1105  ssl_verify_fun 1.1.7106  tablet 0.3.3107  telemetry 0.4.3108  telemetry_metrics 0.6.2109  tesla 1.21.3110  toolshed 0.5.0111  uboot_env 1.0.2112  unicode_util_compat 0.7.1113  xmlrpc 1.5.0114* Getting mppm (Hex package)115* Getting nerves (Hex package)116* Getting ring_logger (Hex package)117* Getting toolshed (Hex package)118* Getting nerves_runtime (Hex package)119* Getting nerves_system_bbb (Hex package)120* Getting nerves_system_mangopi_mq_pro (Hex package)121* Getting nerves_system_qemu_aarch64 (Hex package)122* Getting nerves_system_rpi0 (Hex package)123* Getting nerves_system_rpi4 (Hex package)124* Getting nerves_system_rpi5 (Hex package)125* Getting nerves_system_trellis (Hex package)126* Getting nerves_system_x86_64 (Hex package)127* Getting nerves_system_br (Hex package)128* Getting nerves_toolchain_x86_64_nerves_linux_musl (Hex package)129* Getting nerves_toolchain_armv7_nerves_linux_gnueabihf (Hex package)130* Getting nerves_toolchain_aarch64_nerves_linux_gnu (Hex package)131* Getting nerves_toolchain_armv6_nerves_linux_gnueabihf (Hex package)132* Getting nerves_toolchain_riscv64_nerves_linux_gnu (Hex package)133* Getting nerves_logging (Hex package)134* Getting nerves_uevent (Hex package)135* Getting uboot_env (Hex package)136* Getting elixir_make (Hex package)137* Getting property_table (Hex package)138* Getting circular_buffer (Hex package)139* Getting interactive_cmd (Hex package)140* Getting nerves_discovery (Hex package)141* Getting tablet (Hex package)142* Getting ecto_network (Hex package)143* Getting ecto_sql (Hex package)144* Getting gettext (Hex package)145* Getting httpoison (Hex package)146* Getting jason (Hex package)147* Getting logger_file_backend (Hex package)148* Getting oauth2 (Hex package)149* Getting observer_cli (Hex package)150* Getting phoenix (Hex package)151* Getting phoenix_ecto (Hex package)152* Getting phoenix_html (Hex package)153* Getting phoenix_live_dashboard (Hex package)154* Getting phoenix_live_view (Hex package)155* Getting phoenix_pubsub (Hex package)156* Getting plug_cowboy (Hex package)157* Getting postgrex (Hex package)158* Getting slugify (Hex package)159* Getting xmlrpc (Hex package)160* Getting decimal (Hex package)161* Getting erlsom (Hex package)162* Getting db_connection (Hex package)163* Getting telemetry (Hex package)164* Getting cowboy (Hex package)165* Getting cowboy_telemetry (Hex package)166* Getting plug (Hex package)167* Getting mime (Hex package)168* Getting plug_crypto (Hex package)169* Getting cowlib (Hex package)170* Getting ranch (Hex package)171* Getting telemetry_metrics (Hex package)172* Getting ecto (Hex package)173* Getting recon (Hex package)174* Getting tesla (Hex package)175* Getting hackney (Hex package)176* Getting certifi (Hex package)177* Getting idna (Hex package)178* Getting metrics (Hex package)179* Getting mimerl (Hex package)180* Getting parse_trans (Hex package)181* Getting ssl_verify_fun (Hex package)182* Getting unicode_util_compat (Hex package)183* Getting expo (Hex package)184Found packages with security advisories, see above for details185You have added/upgraded packages you could sponsor, run `mix hex.sponsor` to learn more186==> nerves_system_br187Generated nerves_system_br app188==> mime189Compiling 1 file (.ex)190Generated mime app191==> circular_buffer192Compiling 1 file (.ex)193Generated circular_buffer app194==> nerves_compatibility_test195===> Analyzing applications...196===> Compiling erlsom197     ┌─ src/erlsom_compile.erl:198     │199 250 │    case catch transform(ParsedXsd, Acc) of200     │         ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.201Compile directive 'nowarn_deprecated_catch' can be used to suppress202warnings in selected modules.203204     ┌─ src/erlsom_compile.erl:205     │206 254 │        case catch erlsom_pass2:secondPass(IntermediateResult#p1acc.tps,207     │             ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.208Compile directive 'nowarn_deprecated_catch' can be used to suppress209warnings in selected modules.210211212      ┌─ src/erlsom_sax_latin9.erl:213      │214 1063 │        case catch list_to_integer(Tail1) of215      │             ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.216Compile directive 'nowarn_deprecated_catch' can be used to suppress217warnings in selected modules.218219220      ┌─ src/erlsom_sax_utf16be.erl:221      │222 1063 │        case catch list_to_integer(Tail1) of223      │             ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.224Compile directive 'nowarn_deprecated_catch' can be used to suppress225warnings in selected modules.226227228     ┌─ src/erlsom.erl:229     │230 143 │    case catch erlsom_compile:compile(Xsd, Options) of231     │         ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.232Compile directive 'nowarn_deprecated_catch' can be used to suppress233warnings in selected modules.234235     ┌─ src/erlsom.erl:236     │237 245 │    case catch erlsom_sax:parseDocument(Xml, State,238     │         ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.239Compile directive 'nowarn_deprecated_catch' can be used to suppress240warnings in selected modules.241242243      ┌─ src/erlsom_sax_utf8.erl:244      │245 1063 │        case catch list_to_integer(Tail1) of246      │             ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.247Compile directive 'nowarn_deprecated_catch' can be used to suppress248warnings in selected modules.249250251      ┌─ src/erlsom_sax_latin1.erl:252      │253 1063 │        case catch list_to_integer(Tail1) of254      │             ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.255Compile directive 'nowarn_deprecated_catch' can be used to suppress256warnings in selected modules.257258259      ┌─ src/erlsom_sax_list.erl:260      │261 1063 │        case catch list_to_integer(Tail1) of262      │             ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.263Compile directive 'nowarn_deprecated_catch' can be used to suppress264warnings in selected modules.265266267      ┌─ src/erlsom_sax_utf16le.erl:268      │269 1063 │        case catch list_to_integer(Tail1) of270      │             ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.271Compile directive 'nowarn_deprecated_catch' can be used to suppress272warnings in selected modules.273274275==> recon276Compiling 6 files (.erl)277Generated recon app278==> plug_crypto279Compiling 5 files (.ex)280Generated plug_crypto app281==> nerves_compatibility_test282===> Analyzing applications...283===> Compiling mimerl284===> Analyzing applications...285===> Compiling ranch286==> ssl_verify_fun287Compiling 7 files (.erl)288Generated ssl_verify_fun app289==> observer_cli290Compiling 17 files (.erl)291Generated observer_cli app292==> tablet293Compiling 2 files (.ex)294Generated tablet app295==> elixir_make296Compiling 8 files (.ex)297Generated elixir_make app298==> nerves_logging299 CC kmsg_tailer.o300 LD kmsg_tailer301Compiling 5 files (.ex)302Generated nerves_logging app303==> nerves_compatibility_test304===> Analyzing applications...305===> Compiling cowlib306==> logger_file_backend307Compiling 1 file (.ex)308Generated logger_file_backend app309==> nerves_discovery310Compiling 5 files (.ex)311Generated nerves_discovery app312==> ring_logger313Compiling 7 files (.ex)314Generated ring_logger app315==> decimal316Compiling 4 files (.ex)317Generated decimal app318==> jason319Compiling 10 files (.ex)320Generated jason app321==> interactive_cmd322Compiling 1 file (.ex)323Generated interactive_cmd app324==> nerves325Compiling 65 files (.ex)326    warning: redefining module Mix.Tasks.Nerves.Init (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Mix.Tasks.Nerves.Init.beam)327    │328  6 │ defmodule Mix.Tasks.Nerves.Init do329    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~330    │331    └─ lib/mix/tasks/nerves.init.ex:6: Mix.Tasks.Nerves.Init (module)332333    warning: redefining module Nerves (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.beam)334    │335  6 │ defmodule Nerves do336    │ ~~~~~~~~~~~~~~~~~~~337    │338    └─ lib/nerves.ex:6: Nerves (module)339340    warning: redefining module Nerves.ArtifactResolver (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.ArtifactResolver.beam)341    │342  5 │ defmodule Nerves.ArtifactResolver do343    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~344    │345    └─ lib/nerves/artifact_resolver.ex:5: Nerves.ArtifactResolver (module)346347    warning: redefining module Nerves.BuildAction.AppModes (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.BuildAction.AppModes.beam)348    │349  6 │ defmodule Nerves.BuildAction.AppModes do350    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~351    │352    └─ lib/nerves/build_action/app_modes.ex:6: Nerves.BuildAction.AppModes (module)353354    warning: redefining module Nerves.BuildAction.CheckExecutables (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.BuildAction.CheckExecutables.beam)355    │356  5 │ defmodule Nerves.BuildAction.CheckExecutables do357    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~358    │359    └─ lib/nerves/build_action/check_executables.ex:5: Nerves.BuildAction.CheckExecutables (module)360361    warning: redefining module Nerves.BuildAction.Erlinit (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.BuildAction.Erlinit.beam)362    │363  8 │ defmodule Nerves.BuildAction.Erlinit do364    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~365    │366    └─ lib/nerves/build_action/erlinit.ex:8: Nerves.BuildAction.Erlinit (module)367368    warning: redefining module Nerves.BuildAction.Firmware (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.BuildAction.Firmware.beam)369    │370  5 │ defmodule Nerves.BuildAction.Firmware do371    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~372    │373    └─ lib/nerves/build_action/firmware.ex:5: Nerves.BuildAction.Firmware (module)374375    warning: redefining module Nerves.BuildAction.IExStartupCheck (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.BuildAction.IExStartupCheck.beam)376    │377  7 │ defmodule Nerves.BuildAction.IExStartupCheck do378    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~379    │380    └─ lib/nerves/build_action/iex_startup_check.ex:7: Nerves.BuildAction.IExStartupCheck (module)381382    warning: redefining module Nerves.BuildAction.NervesV1System (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.BuildAction.NervesV1System.beam)383    │384  5 │ defmodule Nerves.BuildAction.NervesV1System do385    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~386    │387    └─ lib/nerves/build_action/nerves_v1_system.ex:5: Nerves.BuildAction.NervesV1System (module)388389    warning: redefining module Nerves.BuildAction.NervesV1Toolchain (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.BuildAction.NervesV1Toolchain.beam)390    │391  5 │ defmodule Nerves.BuildAction.NervesV1Toolchain do392    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~393    │394    └─ lib/nerves/build_action/nerves_v1_toolchain.ex:5: Nerves.BuildAction.NervesV1Toolchain (module)395396    warning: redefining module Nerves.BuildAction.Rootfs (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.BuildAction.Rootfs.beam)397    │398  5 │ defmodule Nerves.BuildAction.Rootfs do399    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~400    │401    └─ lib/nerves/build_action/rootfs.ex:5: Nerves.BuildAction.Rootfs (module)402403    warning: redefining module Nerves.BuildAction.SortApps (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.BuildAction.SortApps.beam)404    │405  6 │ defmodule Nerves.BuildAction.SortApps do406    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~407    │408    └─ lib/nerves/build_action/sort_apps.ex:6: Nerves.BuildAction.SortApps (module)409410    warning: redefining module Nerves.BuildAction.StripAll (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.BuildAction.StripAll.beam)411    │412  5 │ defmodule Nerves.BuildAction.StripAll do413    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~414    │415    └─ lib/nerves/build_action/strip_all.ex:5: Nerves.BuildAction.StripAll (module)416417    warning: redefining module Nerves.BuildAction.Trimmer (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.BuildAction.Trimmer.beam)418    │419  5 │ defmodule Nerves.BuildAction.Trimmer do420    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~421    │422    └─ lib/nerves/build_action/trimmer.ex:5: Nerves.BuildAction.Trimmer (module)423424    warning: redefining module Nerves.BuildPlan (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.BuildPlan.beam)425    │426  5 │ defmodule Nerves.BuildPlan do427    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~428    │429    └─ lib/nerves/build_plan.ex:5: Nerves.BuildPlan (module)430431    warning: redefining module Nerves.BuildPlan.Checks (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.BuildPlan.Checks.beam)432    │433  5 │ defmodule Nerves.BuildPlan.Checks do434    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~435    │436    └─ lib/nerves/build_plan/checks.ex:5: Nerves.BuildPlan.Checks (module)437438    warning: redefining module Nerves.Container (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.Container.beam)439    │440  6 │ defmodule Nerves.Container do441    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~442    │443    └─ lib/nerves/container.ex:6: Nerves.Container (module)444445    warning: redefining module Nerves.Fingerprint (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.Fingerprint.beam)446    │447  5 │ defmodule Nerves.Fingerprint do448    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~449    │450    └─ lib/nerves/fingerprint.ex:5: Nerves.Fingerprint (module)451452    warning: redefining module Nerves.MixPackage (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.MixPackage.beam)453    │454  5 │ defmodule Nerves.MixPackage do455    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~456    │457    └─ lib/nerves/mix_package.ex:5: Nerves.MixPackage (module)458459    warning: redefining module Nerves.Paths (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.Paths.beam)460    │461  5 │ defmodule Nerves.Paths do462    │ ~~~~~~~~~~~~~~~~~~~~~~~~~463    │464    └─ lib/nerves/paths.ex:5: Nerves.Paths (module)465466    warning: redefining module Nerves.TargetTuple (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.TargetTuple.beam)467    │468  5 │ defmodule Nerves.TargetTuple do469    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~470    │471    └─ lib/nerves/target_tuple.ex:5: Nerves.TargetTuple (module)472473Generated nerves app474==> nerves_toolchain_armv6_nerves_linux_gnueabihf475Compiling 1 file (.ex)476Generated nerves_toolchain_armv6_nerves_linux_gnueabihf app477==> nerves_system_rpi0478Generated nerves_system_rpi0 app479==> nerves_compatibility_test480===> Analyzing applications...481===> Compiling unicode_util_compat482===> Analyzing applications...483===> Compiling idna484===> Analyzing applications...485===> Compiling telemetry486==> db_connection487Compiling 18 files (.ex)488Generated db_connection app489==> telemetry_metrics490Compiling 7 files (.ex)491     warning: unused require Logger492     │493 391 │   require Logger494     │   ~495     │496     └─ lib/telemetry_metrics.ex:391:3497498Generated telemetry_metrics app499==> ecto500Compiling 56 files (.ex)501Generated ecto app502==> xmlrpc503Compiling 5 files (.ex)504Generated xmlrpc app505==> nerves_compatibility_test506===> Analyzing applications...507===> Compiling cowboy508==> expo509Compiling 2 files (.erl)510Compiling 22 files (.ex)511Generated expo app512==> gettext513Compiling 18 files (.ex)514     warning: unused require Gettext.Macros515     │516 594 │   require Gettext.Macros517     │   ~518     │519     └─ lib/gettext.ex:594:3520521     warning: the following clause is redundant:522523         defp ensure_empty_msgstr!(%Expo.Message.Plural{} = message)524525     it has type:526527         dynamic(%Expo.Message.Plural{})528529     previous clauses have already matched on the following types:530531         %Expo.Message.Singular{}532         %Expo.Message.Plural{}533534     │535 391 │   defp ensure_empty_msgstr!(%Message.Plural{} = message) do536     │        ~537     │538     └─ lib/gettext/extractor.ex:391:8: Gettext.Extractor.ensure_empty_msgstr!/1539540     warning: Kernel.ParallelCompiler.async/1 is deprecated. Use `pmap/2` instead541     │542 426 │               Kernel.ParallelCompiler.async(fn ->543     │                                       ~544     │545     └─ lib/gettext/compiler.ex:426:39: Gettext.Compiler.compile_po_files/3546547Generated gettext app548==> phoenix_pubsub549Compiling 12 files (.ex)550Generated phoenix_pubsub app551==> slugify552Compiling 1 file (.ex)553Generated slugify app554==> nerves_compatibility_test555===> Analyzing applications...556===> Compiling certifi557==> plug558Compiling 1 file (.erl)559Compiling 42 files (.ex)560Generated plug app561==> phoenix_html562Compiling 8 files (.ex)563    warning: using single-quoted strings to represent charlists is deprecated.564    Use ~c"" if you indeed want a charlist or use "" instead.565    You may run "mix format --migrate" to change all single-quoted566    strings to use the ~c sigil and fix this warning.567    │568 12 │   @anno (if :erlang.system_info(:otp_release) >= '19' do569    │                                                  ~570    │571    └─ lib/phoenix_html/engine.ex:12:50572573    warning: the 1st pattern in clause will never match:574575        60576577    because it is expected to receive type:578579        dynamic(empty_list() or non_empty_list(term(), term()))580581    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())582583    type warning found at:584    │585 56 │   def to_iodata(?<), do: "&lt;"586    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~587    │588    └─ lib/phoenix_html/safe.ex:56: Phoenix.HTML.Safe.List.to_iodata/1589590    warning: the 1st pattern in clause will never match:591592        62593594    because it is expected to receive type:595596        dynamic(empty_list() or non_empty_list(term(), term()))597598    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())599600    type warning found at:601    │602 57 │   def to_iodata(?>), do: "&gt;"603    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~604    │605    └─ lib/phoenix_html/safe.ex:57: Phoenix.HTML.Safe.List.to_iodata/1606607    warning: the 1st pattern in clause will never match:608609        38610611    because it is expected to receive type:612613        dynamic(empty_list() or non_empty_list(term(), term()))614615    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())616617    type warning found at:618    │619 58 │   def to_iodata(?&), do: "&amp;"620    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~621    │622    └─ lib/phoenix_html/safe.ex:58: Phoenix.HTML.Safe.List.to_iodata/1623624    warning: the 1st pattern in clause will never match:625626        34627628    because it is expected to receive type:629630        dynamic(empty_list() or non_empty_list(term(), term()))631632    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())633634    type warning found at:635    │636 59 │   def to_iodata(?"), do: "&quot;"637    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~638    │639    └─ lib/phoenix_html/safe.ex:59: Phoenix.HTML.Safe.List.to_iodata/1640641    warning: the 1st pattern in clause will never match:642643        39644645    because it is expected to receive type:646647        dynamic(empty_list() or non_empty_list(term(), term()))648649    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())650651    type warning found at:652    │653 60 │   def to_iodata(?'), do: "&#39;"654    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~655    │656    └─ lib/phoenix_html/safe.ex:60: Phoenix.HTML.Safe.List.to_iodata/1657658    warning: the 1st pattern in clause will never match:659660        {:safe, data}661662    because it is expected to receive type:663664        dynamic(empty_list() or non_empty_list(term(), term()))665666    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())667668    type warning found at:669    │670 76 │   def to_iodata({:safe, data}) do671    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~672    │673    └─ lib/phoenix_html/safe.ex:76: Phoenix.HTML.Safe.List.to_iodata/1674675    warning: the following clause is redundant:676677        def to_iodata(other)678679    it has type:680681        dynamic(empty_list() or non_empty_list(term(), term()))682683    previous clauses have already matched on the following types:684685        non_empty_list(term(), term())686        empty_list()687688    │689 80 │   def to_iodata(other) do690    │       ~691    │692    └─ lib/phoenix_html/safe.ex:80:7: Phoenix.HTML.Safe.List.to_iodata/1693694    warning: the 1st pattern in clause will never match:695696        h697698    because it is expected to receive type:699700        dynamic(empty_list() or non_empty_list(term(), term()))701702    where "h" was given the type:703704        # type: integer()705        # from: lib/phoenix_html/safe.ex:62:25706        is_integer(h)707708    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())709710    type warning found at:711    │712 62 │   def to_iodata(h) when is_integer(h) and h <= 255 do713    │                 ~714    │715    └─ lib/phoenix_html/safe.ex:62:17: Phoenix.HTML.Safe.List.to_iodata/1716717    warning: the 1st pattern in clause will never match:718719        h720721    because it is expected to receive type:722723        dynamic(empty_list() or non_empty_list(term(), term()))724725    where "h" was given the type:726727        # type: integer()728        # from: lib/phoenix_html/safe.ex:66:25729        is_integer(h)730731    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())732733    type warning found at:734    │735 66 │   def to_iodata(h) when is_integer(h) do736    │                 ~737    │738    └─ lib/phoenix_html/safe.ex:66:17: Phoenix.HTML.Safe.List.to_iodata/1739740    warning: the 1st pattern in clause will never match:741742        h743744    because it is expected to receive type:745746        dynamic(empty_list() or non_empty_list(term(), term()))747748    where "h" was given the type:749750        # type: binary()751        # from: lib/phoenix_html/safe.ex:72:25752        is_binary(h)753754    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())755756    type warning found at:757    │758 72 │   def to_iodata(h) when is_binary(h) do759    │                 ~760    │761    └─ lib/phoenix_html/safe.ex:72:17: Phoenix.HTML.Safe.List.to_iodata/1762763Generated phoenix_html app764warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"765  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2766  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1767  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5768  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2769  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4770  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2771772==> postgrex773Compiling 70 files (.ex)774Generated postgrex app775==> ecto_sql776Compiling 25 files (.ex)777Generated ecto_sql app778warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"779  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2780  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1781  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5782  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2783  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4784  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2785786==> phoenix_ecto787Compiling 7 files (.ex)788Generated phoenix_ecto app789==> nerves_compatibility_test790===> Analyzing applications...791===> Compiling parse_trans792==> uboot_env793Compiling 5 files (.ex)794Generated uboot_env app795==> nerves_compatibility_test796===> Analyzing applications...797===> Compiling metrics798===> Analyzing applications...799===> Compiling hackney800    ┌─ src/hackney_pool.erl:801    │802 80 │    case catch gen_server:call(Pool, {checkout, Connection, Requester, RequestRef}, CheckoutTimeout) of803    │         ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.804Compile directive 'nowarn_deprecated_catch' can be used to suppress805warnings in selected modules.806807     ┌─ src/hackney_pool.erl:808     │809 101 │                _ = catch hackney_connection:close(Connection, Socket),810     │                    ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.811Compile directive 'nowarn_deprecated_catch' can be used to suppress812warnings in selected modules.813814     ┌─ src/hackney_pool.erl:815     │816 130 │            _ = catch hackney_connection:close(Connection, Socket),817     │                ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.818Compile directive 'nowarn_deprecated_catch' can be used to suppress819warnings in selected modules.820821     ┌─ src/hackney_pool.erl:822     │823 134 │        catch hackney_connection:close(Connection, Socket),824     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.825Compile directive 'nowarn_deprecated_catch' can be used to suppress826warnings in selected modules.827828     ┌─ src/hackney_pool.erl:829     │830 319 │                 catch Transport:close(Socket),831     │                 ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.832Compile directive 'nowarn_deprecated_catch' can be used to suppress833warnings in selected modules.834835     ┌─ src/hackney_pool.erl:836     │837 417 │                case catch hackney_connection:controlling_process(Connection, S, self()) of838     │                     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.839Compile directive 'nowarn_deprecated_catch' can be used to suppress840warnings in selected modules.841842     ┌─ src/hackney_pool.erl:843     │844 423 │                    _ = catch hackney_connection:close(Connection, S),845     │                        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.846Compile directive 'nowarn_deprecated_catch' can be used to suppress847warnings in selected modules.848849     ┌─ src/hackney_pool.erl:850     │851 444 │        catch hackney_connection:close(Connection, Socket),852     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.853Compile directive 'nowarn_deprecated_catch' can be used to suppress854warnings in selected modules.855856     ┌─ src/hackney_pool.erl:857     │858 543 │            _ = (catch hackney_connection:close(Connection, Socket)),859     │                 ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.860Compile directive 'nowarn_deprecated_catch' can be used to suppress861warnings in selected modules.862863864     ┌─ src/hackney_happy.erl:865     │866 101 │    catch exit(Pid, normal),867     │    ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.868Compile directive 'nowarn_deprecated_catch' can be used to suppress869warnings in selected modules.870871     ┌─ src/hackney_happy.erl:872     │873 128 │    case (catch inet_res:getbyname(Hostname, Type)) of874     │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.875Compile directive 'nowarn_deprecated_catch' can be used to suppress876warnings in selected modules.877878     ┌─ src/hackney_happy.erl:879     │880 151 │    case (catch inet:gethostbyname(Hostname, InetType)) of881     │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.882Compile directive 'nowarn_deprecated_catch' can be used to suppress883warnings in selected modules.884885886     ┌─ src/hackney_trace.erl:887     │888 132 │    (catch io:format(standard_io, "stop trace at ~s~n", [format_timestamp(Timestamp)])),889     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.890Compile directive 'nowarn_deprecated_catch' can be used to suppress891warnings in selected modules.892893     ┌─ src/hackney_trace.erl:894     │895 139 │    (catch io:format(Fd, "stop trace at ~s~n", [format_timestamp(Timestamp)])),896     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.897Compile directive 'nowarn_deprecated_catch' can be used to suppress898warnings in selected modules.899900     ┌─ src/hackney_trace.erl:901     │902 146 │    (catch io:format(Fd, "stop trace at ~s~n", [format_timestamp(Timestamp)])),903     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.904Compile directive 'nowarn_deprecated_catch' can be used to suppress905warnings in selected modules.906907     ┌─ src/hackney_trace.erl:908     │909 147 │    (catch file:close(Fd)),910     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.911Compile directive 'nowarn_deprecated_catch' can be used to suppress912warnings in selected modules.913914     ┌─ src/hackney_trace.erl:915     │916 154 │    (catch io:format(Fd, "stop trace at ~s~n", [format_timestamp(Timestamp)])),917     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.918Compile directive 'nowarn_deprecated_catch' can be used to suppress919warnings in selected modules.920921     ┌─ src/hackney_trace.erl:922     │923 155 │    (catch file:close(Fd)),924     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.925Compile directive 'nowarn_deprecated_catch' can be used to suppress926warnings in selected modules.927928     ┌─ src/hackney_trace.erl:929     │930 161 │    (catch print_hackney_trace(Fd, Sev, Timestamp, Who,931     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.932Compile directive 'nowarn_deprecated_catch' can be used to suppress933warnings in selected modules.934935     ┌─ src/hackney_trace.erl:936     │937 165 │    (catch print_trace(Fd, Event)),938     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.939Compile directive 'nowarn_deprecated_catch' can be used to suppress940warnings in selected modules.941942943     ┌─ src/hackney_manager.erl:944     │945 114 │    catch ets:delete(?MODULE, Ref),946     │    ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.947Compile directive 'nowarn_deprecated_catch' can be used to suppress948warnings in selected modules.949950     ┌─ src/hackney_manager.erl:951     │952 125 │            catch Transport:close(Socket);953     │            ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.954Compile directive 'nowarn_deprecated_catch' can be used to suppress955warnings in selected modules.956957     ┌─ src/hackney_manager.erl:958     │959 129 │            catch Handler:checkin(SocketRef, Socket)960     │            ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.961Compile directive 'nowarn_deprecated_catch' can be used to suppress962warnings in selected modules.963964     ┌─ src/hackney_manager.erl:965     │966 133 │          catch Transport:controlling_process(Socket, self()),967     │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.968Compile directive 'nowarn_deprecated_catch' can be used to suppress969warnings in selected modules.970971     ┌─ src/hackney_manager.erl:972     │973 134 │          catch Transport:close(Socket),974     │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.975Compile directive 'nowarn_deprecated_catch' can be used to suppress976warnings in selected modules.977978     ┌─ src/hackney_manager.erl:979     │980 227 │            catch ets:delete(?MODULE, Ref),981     │            ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.982Compile directive 'nowarn_deprecated_catch' can be used to suppress983warnings in selected modules.984985     ┌─ src/hackney_manager.erl:986     │987 255 │    catch ets:delete(?MODULE, Ref),988     │    ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.989Compile directive 'nowarn_deprecated_catch' can be used to suppress990warnings in selected modules.991992     ┌─ src/hackney_manager.erl:993     │994 269 │          catch Transport:controlling_process(Socket, self()),995     │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.996Compile directive 'nowarn_deprecated_catch' can be used to suppress997warnings in selected modules.998999     ┌─ src/hackney_manager.erl:1000     │1001 270 │          catch Transport:close(Socket),1002     │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1003Compile directive 'nowarn_deprecated_catch' can be used to suppress1004warnings in selected modules.10051006     ┌─ src/hackney_manager.erl:1007     │1008 383 │          catch unlink(Stream),1009     │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1010Compile directive 'nowarn_deprecated_catch' can be used to suppress1011warnings in selected modules.10121013     ┌─ src/hackney_manager.erl:1014     │1015 416 │        catch ets:delete(?REFS, Ref),1016     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1017Compile directive 'nowarn_deprecated_catch' can be used to suppress1018warnings in selected modules.10191020     ┌─ src/hackney_manager.erl:1021     │1022 426 │        catch ets:delete(?REFS, Ref),1023     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1024Compile directive 'nowarn_deprecated_catch' can be used to suppress1025warnings in selected modules.10261027     ┌─ src/hackney_manager.erl:1028     │1029 470 │    case catch hackney_stream:start_link(StreamTo2, Ref, Client) of1030     │         ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1031Compile directive 'nowarn_deprecated_catch' can be used to suppress1032warnings in selected modules.10331034     ┌─ src/hackney_manager.erl:1035     │1036 487 │           catch Transport:close(Socket),1037     │           ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1038Compile directive 'nowarn_deprecated_catch' can be used to suppress1039warnings in selected modules.10401041     ┌─ src/hackney_manager.erl:1042     │1043 543 │        catch ets:delete(?REFS, Ref),1044     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1045Compile directive 'nowarn_deprecated_catch' can be used to suppress1046warnings in selected modules.10471048     ┌─ src/hackney_manager.erl:1049     │1050 544 │        catch ets:delete(?MODULE, Ref),1051     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1052Compile directive 'nowarn_deprecated_catch' can be used to suppress1053warnings in selected modules.10541055     ┌─ src/hackney_manager.erl:1056     │1057 559 │        catch ets:delete(?REFS, Ref),1058     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1059Compile directive 'nowarn_deprecated_catch' can be used to suppress1060warnings in selected modules.10611062     ┌─ src/hackney_manager.erl:1063     │1064 560 │        catch ets:delete(?MODULE, Ref),1065     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1066Compile directive 'nowarn_deprecated_catch' can be used to suppress1067warnings in selected modules.10681069     ┌─ src/hackney_manager.erl:1070     │1071 618 │        catch unlink(Pid),1072     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1073Compile directive 'nowarn_deprecated_catch' can be used to suppress1074warnings in selected modules.107510761077==> tesla1078Compiling 57 files (.ex)1079Generated tesla app1080==> oauth21081Compiling 13 files (.ex)1082Generated oauth2 app1083==> property_table1084Compiling 8 files (.ex)1085Generated property_table app1086==> nerves_uevent1087 CC uevent.o1088 LD uevent1089Compiling 5 files (.ex)1090Generated nerves_uevent app1091==> nerves_runtime1092Compiling 14 files (.ex)1093Generated nerves_runtime app1094==> toolshed1095Compiling 5 files (.ex)1096Generated toolshed app1097==> nerves_compatibility_test1098===> Analyzing applications...1099===> Compiling cowboy_telemetry1100==> plug_cowboy1101Compiling 5 files (.ex)1102Generated plug_cowboy app1103warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"1104  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21105  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11106  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51107  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21108  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41109  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/211101111==> phoenix1112Compiling 66 files (.ex)1113     warning: the variable "prefix" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator1114     │1115 194 │       <<attr::size(prefix)-binary, ":unique">> -> attr1116     │                    ~1117     │1118     └─ lib/mix/phoenix/schema.ex:194:20: Mix.Phoenix.Schema.drop_unique/111191120     warning: using single-quoted strings to represent charlists is deprecated.1121     Use ~c"" if you indeed want a charlist or use "" instead.1122     You may run "mix format --migrate" to change all single-quoted1123     strings to use the ~c sigil and fix this warning.1124     │1125 258 │           notBefore: {:utcTime, '#{not_before}000000Z'},1126     │                                 ~1127     │1128     └─ lib/mix/tasks/phx.gen.cert.ex:258:3311291130     warning: using single-quoted strings to represent charlists is deprecated.1131     Use ~c"" if you indeed want a charlist or use "" instead.1132     You may run "mix format --migrate" to change all single-quoted1133     strings to use the ~c sigil and fix this warning.1134     │1135 259 │           notAfter: {:utcTime, '#{not_after}000000Z'}1136     │                                ~1137     │1138     └─ lib/mix/tasks/phx.gen.cert.ex:259:3211391140    warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1141    │1142 55 │             Logger.warn(1143    │                    ~1144    │1145    └─ lib/phoenix/code_reloader/server.ex:55:20: Phoenix.CodeReloader.Server.handle_call/311461147    warning: unused require Logger1148    │1149  9 │   require Logger1150    │   ~1151    │1152    └─ lib/phoenix/config.ex:9:311531154      warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.11551156      This error happens when you have function calls without parentheses inside keywords. For example:11571158          function(arg, one: nested_call a, b, c)1159          function(arg, one: if expr, do: :this, else: :that)11601161      In the examples above, we don't know if the arguments "b" and "c" apply to the function "function" or "nested_call". Or if the keywords "do" and "else" apply to the function "function" or "if". You can solve this by explicitly adding parentheses:11621163          function(arg, one: if(expr, do: :this, else: :that))1164          function(arg, one: nested_call(a, b, c))11651166      Ambiguity found at:1167      │1168 1002 │   defp get_disposition_type(other), do: raise ArgumentError, "expected :disposition to be :attachment or :inline, got: #{inspect(other)}"1169      │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1170      │1171      └─ lib/phoenix/controller.ex:100211721173     warning: unused require Logger1174     │1175 240 │   require Logger1176     │   ~1177     │1178     └─ lib/phoenix/endpoint.ex:240:311791180      warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1181      │1182 1013 │       Logger.warn "send_download/3 has been invoked during an AJAX request. " <>1183      │              ~1184      │1185      └─ lib/phoenix/controller.ex:1013:14: Phoenix.Controller.warn_if_ajax/111861187    warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1188    │1189 82 │     Logger.warn "Phoenix.Endpoint.CowboyAdapter is deprecated and it will be removed in next versions. " <>1190    │            ~1191    │1192    └─ lib/phoenix/endpoint/cowboy_adapter.ex:82:12: Phoenix.Endpoint.CowboyAdapter.child_specs/211931194    warning: unused require Phoenix.Endpoint1195    │1196  6 │   require Phoenix.Endpoint1197    │   ~1198    │1199    └─ lib/phoenix/controller.ex:6:312001201    warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1202    │1203 71 │             Logger.warn("no configuration found for otp_app #{inspect(otp_app)} and module #{inspect(mod)}")1204    │                    ~1205    │1206    └─ lib/phoenix/endpoint/supervisor.ex:71:20: Phoenix.Endpoint.Supervisor.init/112071208    warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1209    │1210 95 │       Logger.warn(":instrumenters configuration for #{inspect(mod)} is deprecated and has no effect")1211    │              ~1212    │1213    └─ lib/phoenix/endpoint/supervisor.ex:95:14: Phoenix.Endpoint.Supervisor.init/112141215     warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1216     │1217 116 │       Logger.warn """1218     │              ~1219     │1220     └─ lib/phoenix/endpoint/supervisor.ex:116:14: Phoenix.Endpoint.Supervisor.pubsub_children/212211222     warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1223     │1224 166 │         Logger.warn "Phoenix.Endpoint.CowboyHandler is deprecated, please use Phoenix.Endpoint.CowboyAdapter instead"1225     │                ~1226     │1227     └─ lib/phoenix/endpoint/supervisor.ex:166:16: Phoenix.Endpoint.Supervisor.user_adapter/212281229     warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1230     │1231 170 │         Logger.warn "The :handler option in #{inspect endpoint} is deprecated, please use :adapter instead"1232     │                ~1233     │1234     └─ lib/phoenix/endpoint/supervisor.ex:170:16: Phoenix.Endpoint.Supervisor.user_adapter/212351236     warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1237     │1238 346 │       Logger.warn("url: [host: ...] configuration value #{inspect(host)} for #{inspect(endpoint)} is invalid")1239     │              ~1240     │1241     └─ lib/phoenix/endpoint/supervisor.ex:346:14: Phoenix.Endpoint.Supervisor.build_url/212421243    warning: the variable "prefix_size" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator1244    │1245 46 │       <<prefix::binary-size(prefix_size), ^suffix::binary>> -> prefix1246    │                             ~1247    │1248    └─ lib/phoenix/naming.ex:46:29: Phoenix.Naming.unsuffix/212491250     warning: using single-quoted strings to represent charlists is deprecated.1251     Use ~c"" if you indeed want a charlist or use "" instead.1252     You may run "mix format --migrate" to change all single-quoted1253     strings to use the ~c sigil and fix this warning.1254     │1255 411 │   @anno (if :erlang.system_info(:otp_release) >= '19' do1256     │                                                  ~1257     │1258     └─ lib/phoenix/router.ex:411:5012591260    warning: unused require Phoenix.Endpoint1261    │1262 19 │   require Phoenix.Endpoint1263    │   ~1264    │1265    └─ lib/phoenix/endpoint/render_errors.ex:19:312661267    warning: using single-quoted strings to represent charlists is deprecated.1268    Use ~c"" if you indeed want a charlist or use "" instead.1269    You may run "mix format --migrate" to change all single-quoted1270    strings to use the ~c sigil and fix this warning.1271    │1272  8 │   @anno (if :erlang.system_info(:otp_release) >= '19' do1273    │                                                  ~1274    │1275    └─ lib/phoenix/router/helpers.ex:8:5012761277    warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.12781279    This error happens when you have function calls without parentheses inside keywords. For example:12801281        function(arg, one: nested_call a, b, c)1282        function(arg, one: if expr, do: :this, else: :that)12831284    In the examples above, we don't know if the arguments "b" and "c" apply to the function "function" or "nested_call". Or if the keywords "do" and "else" apply to the function "function" or "if". You can solve this by explicitly adding parentheses:12851286        function(arg, one: if(expr, do: :this, else: :that))1287        function(arg, one: nested_call(a, b, c))12881289    Ambiguity found at:1290    │1291 71 │     unless actions -- supported_actions == [], do: raise ArgumentError, """1292    │     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1293    │1294    └─ lib/phoenix/router/resource.ex:7112951296     warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1297     │1298 734 │     Logger.warn fn -> "Ignoring unmatched topic \"#{topic}\" in #{inspect(handler)}" end1299     │            ~1300     │1301     └─ lib/phoenix/socket.ex:734:12: Phoenix.Socket.encode_ignore/213021303    warning: unused require Phoenix.Endpoint1304    │1305  6 │   require Phoenix.Endpoint1306    │   ~1307    │1308    └─ lib/phoenix/channel/server.ex:6:313091310     warning: unused require Phoenix.Endpoint1311     │1312 188 │   require Phoenix.Endpoint1313     │   ~1314     │1315     └─ lib/phoenix/socket.ex:188:313161317    warning: unused require Logger1318    │1319 93 │   require Logger1320    │   ~1321    │1322    └─ lib/phoenix/token.ex:93:313231324     warning: using single-quoted strings to represent charlists is deprecated.1325     Use ~c"" if you indeed want a charlist or use "" instead.1326     You may run "mix format --migrate" to change all single-quoted1327     strings to use the ~c sigil and fix this warning.1328     │1329 178 │   @anno (if :erlang.system_info(:otp_release) >= '19' do1330     │                                                  ~1331     │1332     └─ lib/phoenix/view.ex:178:5013331334    warning: a struct for Plug.Conn is expected on struct update:13351336        %Plug.Conn{conn | state: :sent}13371338    but got type:13391340        dynamic()13411342    where "conn" was given the type:13431344        # type: dynamic()1345        # from: lib/phoenix/endpoint/render_errors.ex:57:171346        conn13471348    when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"13491350    type warning found at:1351    │1352 61 │         %Plug.Conn{conn | state: :sent}1353    │         ~1354    │1355    └─ lib/phoenix/endpoint/render_errors.ex:61:9: Phoenix.Endpoint.RenderErrors.__catch__/513561357     warning: a struct for Plug.Conn is expected on struct update:13581359         %Plug.Conn{conn | query_params: %{}, params: %{}}13601361     but got type:13621363         dynamic(%{..., params: %Plug.Conn.Unfetched{}})13641365     where "conn" was given the types:13661367         # type: dynamic(%{..., params: term()})1368         # from: lib/phoenix/endpoint/render_errors.ex:124:171369         conn.params13701371         # type: dynamic(%{..., params: %Plug.Conn.Unfetched{}})1372         # from: lib/phoenix/endpoint/render_errors.ex:124:171373         conn.params13741375     when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"13761377     type warning found at:1378     │1379 125 │         %Plug.Conn.Unfetched{} -> %Plug.Conn{conn | query_params: %{}, params: %{}}1380     │                                   ~1381     │1382     └─ lib/phoenix/endpoint/render_errors.ex:125:35: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/113831384     warning: incompatible types given to socket_children/1:13851386         socket_children(mod)13871388     given types:13891390         -dynamic(atom())-13911392     but expected one of:13931394         %{..., __sockets__: term()}13951396     where "mod" was given the types:13971398         # type: dynamic(atom() or binary())1399         # from: lib/phoenix/endpoint/supervisor.ex:64:411400         defaults(otp_app, mod)14011402         # type: dynamic(atom())1403         # from: lib/phoenix/endpoint/supervisor.ex:68:161404         mod.init(:supervisor, env_conf)14051406     type warning found at:1407     │1408 105 │       socket_children(mod) ++1409     │       ~1410     │1411     └─ lib/phoenix/endpoint/supervisor.ex:105:7: Phoenix.Endpoint.Supervisor.init/114121413     warning: a struct for Plug.Conn is expected on struct update:14141415         %Plug.Conn{conn | query_params: %{}, params: params}14161417     but got type:14181419         dynamic(%{..., params: not %Plug.Conn.Unfetched{}})14201421     where "conn" was given the types:14221423         # type: dynamic(%{..., params: term()})1424         # from: lib/phoenix/endpoint/render_errors.ex:124:171425         conn.params14261427         # type: dynamic(%{..., params: not %Plug.Conn.Unfetched{}})1428         # from: lib/phoenix/endpoint/render_errors.ex:124:171429         conn.params14301431     when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"14321433     type warning found at:1434     │1435 126 │         params -> %Plug.Conn{conn | query_params: %{}, params: params}1436     │                   ~1437     │1438     └─ lib/phoenix/endpoint/render_errors.ex:126:19: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/114391440      warning: a struct for Plug.Conn is expected on struct update:14411442          %Plug.Conn{conn | params: params}14431444      but got type:14451446          dynamic(%{..., params: map()})14471448      where "conn" was given the type:14491450          # type: dynamic(%{..., params: map()})1451          # from: lib/phoenix/controller.ex:1040:171452          Map.get(conn.params, required_key)14531454      when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"14551456      type warning found at:1457      │1458 1047 │     %Plug.Conn{conn | params: params}1459      │     ~1460      │1461      └─ lib/phoenix/controller.ex:1047:5: Phoenix.Controller.scrub_params/214621463Generated phoenix app1464warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"1465  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21466  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11467  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51468  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21469  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41470  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/214711472==> phoenix_live_view1473Compiling 22 files (.ex)1474    warning: unused require Logger1475    │1476 25 │   require Logger1477    │   ~1478    │1479    └─ lib/phoenix_live_view/socket.ex:25:314801481    warning: unused require Logger1482    │1483  6 │   require Logger1484    │   ~1485    │1486    └─ lib/phoenix_live_view/upload_channel.ex:6:314871488     warning: unused require Phoenix.ChannelTest1489     │1490 141 │   require Phoenix.ChannelTest1491     │   ~1492     │1493     └─ lib/phoenix_live_view/test/live_view_test.ex:141:314941495     warning: unused require Phoenix.ConnTest1496     │1497 140 │   require Phoenix.ConnTest1498     │   ~1499     │1500     └─ lib/phoenix_live_view/test/live_view_test.ex:140:315011502    warning: unused require Phoenix.ChannelTest1503    │1504  4 │   require Phoenix.ChannelTest1505    │   ~1506    │1507    └─ lib/phoenix_live_view/test/upload_client.ex:4:315081509     warning: a struct for Phoenix.LiveView.Socket is expected on struct update:15101511         %Phoenix.LiveView.Socket{1512           socket1513           | private: Map.put(socket.private, :phoenix_live_layout, {mod, template})1514         }15151516     but got type:15171518         dynamic()15191520     where "socket" was given the type:15211522         # type: dynamic()1523         # from: lib/phoenix_live_view/utils.ex:464:211524         socket15251526     when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"15271528     type warning found at:1529     │1530 465 │     %Socket{socket | private: Map.put(socket.private, :phoenix_live_layout, {mod, template})}1531     │     ~1532     │1533     └─ lib/phoenix_live_view/utils.ex:465:5: Phoenix.LiveView.Utils.do_mount_opt/315341535     warning: a struct for Phoenix.LiveView.Socket is expected on struct update:15361537         %Phoenix.LiveView.Socket{socket | private: Map.put(socket.private, :phoenix_live_layout, false)}15381539     but got type:15401541         dynamic()15421543     where "socket" was given the type:15441545         # type: dynamic()1546         # from: lib/phoenix_live_view/utils.ex:468:211547         socket15481549     when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"15501551     type warning found at:1552     │1553 469 │     %Socket{socket | private: Map.put(socket.private, :phoenix_live_layout, false)}1554     │     ~1555     │1556     └─ lib/phoenix_live_view/utils.ex:469:5: Phoenix.LiveView.Utils.do_mount_opt/315571558     warning: a struct for Phoenix.LiveView.Socket is expected on struct update:15591560         %Phoenix.LiveView.Socket{1561           socket1562           | assigns: Map.merge(temp_assigns, socket.assigns),1563             private: Map.put(socket.private, :temporary_assigns, temp_assigns)1564         }15651566     but got type:15671568         dynamic()15691570     where "socket" was given the type:15711572         # type: dynamic()1573         # from: lib/phoenix_live_view/utils.ex:478:211574         socket15751576     when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"15771578     type warning found at:1579     │1580 485 │     %Socket{1581     │     ~1582     │1583     └─ lib/phoenix_live_view/utils.ex:485:5: Phoenix.LiveView.Utils.do_mount_opt/315841585     warning: a struct for Phoenix.LiveView.Socket is expected on struct update:15861587         %Phoenix.LiveView.Socket{1588           socket1589           | assigns: %Phoenix.LiveView.Socket.AssignsNotInSocket{__assigns__: assigns}1590         }15911592     but got type:15931594         dynamic(%{..., assigns: term(), changed: term()})15951596     where "socket" was given the type:15971598         # type: dynamic(%{..., assigns: term(), changed: term()})1599         # from: lib/phoenix_live_view/utils.ex:496:611600         %{assigns: assigns, changed: changed} = socket16011602     when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"16031604     type warning found at:1605     │1606 497 │     socket = %Socket{socket | assigns: %Socket.AssignsNotInSocket{__assigns__: assigns}}1607     │              ~1608     │1609     └─ lib/phoenix_live_view/utils.ex:497:14: Phoenix.LiveView.Utils.render_assigns/116101611     warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:16121613         %Phoenix.LiveView.UploadEntry{entry | preflighted?: true}16141615     but got type:16161617         dynamic()16181619     where "entry" was given the type:16201621         # type: dynamic()1622         # from: lib/phoenix_live_view/upload_config.ex:341:281623         entry <- conf.entries16241625     when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"16261627     type warning found at:1628     │1629 341 │       | entries: for(entry <- conf.entries, do: %UploadEntry{entry | preflighted?: true})1630     │                                                 ~1631     │1632     └─ lib/phoenix_live_view/upload_config.ex:341:49: Phoenix.LiveView.UploadConfig.mark_preflighted/116331634    warning: Logger.disable/1 is deprecated. Use Logger.put_process_level(pid, :none) instead1635    │1636 56 │     Logger.disable(self())1637    │            ~1638    │1639    └─ lib/phoenix_live_view/test/client_proxy.ex:56:12: Phoenix.LiveViewTest.ClientProxy.init/116401641     warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:16421643         %Phoenix.LiveView.UploadEntry{entry | valid?: true, uuid: generate_uuid()}16441645     but got type:16461647         dynamic()16481649     where "entry" was given the type:16501651         # type: dynamic()1652         # from: lib/phoenix_live_view/upload_config.ex:541:301653         entry16541655     when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"16561657     type warning found at:1658     │1659 542 │     entry = %UploadEntry{entry | valid?: true, uuid: generate_uuid()}1660     │             ~1661     │1662     └─ lib/phoenix_live_view/upload_config.ex:542:13: Phoenix.LiveView.UploadConfig.put_valid_entry/216631664     warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:16651666         %Phoenix.LiveView.UploadEntry{entry | valid?: false}16671668     but got type:16691670         dynamic()16711672     where "entry" was given the type:16731674         # type: dynamic()1675         # from: lib/phoenix_live_view/upload_config.ex:554:321676         entry16771678     when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"16791680     type warning found at:1681     │1682 555 │     entry = %UploadEntry{entry | valid?: false}1683     │             ~1684     │1685     └─ lib/phoenix_live_view/upload_config.ex:555:13: Phoenix.LiveView.UploadConfig.put_invalid_entry/316861687     warning: a struct for Phoenix.LiveViewTest.ClientProxy is expected on struct update:16881689         %Phoenix.LiveViewTest.ClientProxy{view | rendered: rendered}16901691     but got type:16921693         dynamic(%{..., rendered: term()})16941695     where "view" was given the type:16961697         # type: dynamic(%{..., rendered: term()})1698         # from: lib/phoenix_live_view/test/client_proxy.ex:600:241699         Phoenix.LiveViewTest.DOM.merge_diff(view.rendered, diff)17001701     when defining the variable "view", you must also pattern match on "%Phoenix.LiveViewTest.ClientProxy{}"17021703     type warning found at:1704     │1705 601 │         new_view = %ClientProxy{view | rendered: rendered}1706     │                    ~1707     │1708     └─ lib/phoenix_live_view/test/client_proxy.ex:601:20: Phoenix.LiveViewTest.ClientProxy.merge_rendered/317091710     warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:17111712         %Phoenix.LiveView.UploadEntry{entry | cancelled?: true}17131714     but got type:17151716         dynamic()17171718     where "entry" was given the type:17191720         # type: dynamic()1721         # from: lib/phoenix_live_view/upload_config.ex:638:421722         entry17231724     when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"17251726     type warning found at:1727     │1728 638 │         update_entry(conf, entry.ref, fn entry -> %UploadEntry{entry | cancelled?: true} end)1729     │                                                   ~1730     │1731     └─ lib/phoenix_live_view/upload_config.ex:638:51: Phoenix.LiveView.UploadConfig.cancel_entry/217321733     warning: Plug.Conn.Query.decode_pair/2 is deprecated. Use decode_init/0, decode_each/2, and decode_done/2 instead1734     │1735 986 │       Plug.Conn.Query.decode_pair({name, DOM.attribute(selected, "value")}, acc)1736     │                       ~1737     │1738     └─ lib/phoenix_live_view/test/client_proxy.ex:986:23: Phoenix.LiveViewTest.ClientProxy.form_defaults/31739     └─ lib/phoenix_live_view/test/client_proxy.ex:991:21: Phoenix.LiveViewTest.ClientProxy.form_defaults/31740     └─ lib/phoenix_live_view/test/client_proxy.ex:1001:27: Phoenix.LiveViewTest.ClientProxy.form_defaults/31741     └─ lib/phoenix_live_view/test/client_proxy.ex:1010:25: Phoenix.LiveViewTest.ClientProxy.form_defaults/317421743     warning: the following clause is redundant:17441745         def to_iodata(%_{} = struct)17461747     it has type:17481749         dynamic(%Phoenix.LiveView.Rendered{})17501751     previous clauses have already matched on the following types:17521753         %Phoenix.LiveView.Rendered{}17541755     │1756 126 │     def to_iodata(%_{} = struct) do1757     │         ~1758     │1759     └─ lib/phoenix_live_view/engine.ex:126:9: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/117601761     warning: the 1st pattern in clause will never match:17621763         nil17641765     because it is expected to receive type:17661767         dynamic(%Phoenix.LiveView.Rendered{})17681769     hint: defimpl for Phoenix.LiveView.Rendered requires its callbacks to match exclusively on %Phoenix.LiveView.Rendered{}17701771     type warning found at:1772     │1773 130 │     def to_iodata(nil) do1774     │     ~~~~~~~~~~~~~~~~~~~~~1775     │1776     └─ lib/phoenix_live_view/engine.ex:130: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/117771778     warning: the following clause is redundant:17791780         def to_iodata(other)17811782     it has type:17831784         dynamic(%Phoenix.LiveView.Rendered{})17851786     previous clauses have already matched on the following types:17871788         %Phoenix.LiveView.Rendered{}17891790     │1791 134 │     def to_iodata(other) do1792     │         ~1793     │1794     └─ lib/phoenix_live_view/engine.ex:134:9: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/117951796Generated phoenix_live_view app1797warning: Phoenix now requires you to explicitly list which engine to use1798for Phoenix JSON encoding. We recommend everyone to upgrade to1799Jason by setting in your config/config.exs:18001801    config :phoenix, :json_library, Jason18021803And then adding {:jason, "~> 1.0"} as a dependency.18041805If instead you would rather continue using Poison, then add to1806your config/config.exs:18071808    config :phoenix, :json_library, Poison18091810  (phoenix 1.5.15) lib/phoenix.ex:38: Phoenix.start/21811  (kernel 11.0.4) application_master.erl:299: :application_master.start_it_old/418121813warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"1814  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21815  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11816  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51817  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21818  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41819  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/218201821==> phoenix_live_dashboard1822Compiling 36 files (.ex)1823    warning: using single-quoted strings to represent charlists is deprecated.1824    Use ~c"" if you indeed want a charlist or use "" instead.1825    You may run "mix format --migrate" to change all single-quoted1826    strings to use the ~c sigil and fix this warning.1827    │1828 41 │     '#Port' ++ rest = :erlang.port_to_list(ref)1829    │     ~1830    │1831    └─ lib/phoenix/live_dashboard/helpers.ex:41:518321833    warning: using single-quoted strings to represent charlists is deprecated.1834    Use ~c"" if you indeed want a charlist or use "" instead.1835    You may run "mix format --migrate" to change all single-quoted1836    strings to use the ~c sigil and fix this warning.1837    │1838 49 │     '#Ref' ++ rest = :erlang.ref_to_list(ref)1839    │     ~1840    │1841    └─ lib/phoenix/live_dashboard/helpers.ex:49:518421843warning: passing the @socket to live_component is no longer necessary, please remove the socket argument1844  lib/phoenix/live_dashboard/pages/home_page.ex:176: Phoenix.LiveDashboard.HomePage.render/118451846warning: passing the @socket to live_component is no longer necessary, please remove the socket argument1847  lib/phoenix/live_dashboard/pages/home_page.ex:184: Phoenix.LiveDashboard.HomePage.render/118481849warning: passing the @socket to live_component is no longer necessary, please remove the socket argument1850  lib/phoenix/live_dashboard/pages/home_page.ex:192: Phoenix.LiveDashboard.HomePage.render/118511852warning: passing the @socket to live_component is no longer necessary, please remove the socket argument1853  lib/phoenix/live_dashboard/pages/os_mon_page.ex:213: Phoenix.LiveDashboard.OSMonPage.render/118541855warning: passing the @socket to live_component is no longer necessary, please remove the socket argument1856  lib/phoenix/live_dashboard/pages/os_mon_page.ex:235: Phoenix.LiveDashboard.OSMonPage.render/118571858     warning: using single-quoted strings to represent charlists is deprecated.1859     Use ~c"" if you indeed want a charlist or use "" instead.1860     You may run "mix format --migrate" to change all single-quoted1861     strings to use the ~c sigil and fix this warning.1862     │1863 397 │   @inet_ports ['tcp_inet', 'udp_inet', 'sctp_inet']1864     │                ~1865     │1866     └─ lib/phoenix/live_dashboard/system_info.ex:397:1618671868     warning: using single-quoted strings to represent charlists is deprecated.1869     Use ~c"" if you indeed want a charlist or use "" instead.1870     You may run "mix format --migrate" to change all single-quoted1871     strings to use the ~c sigil and fix this warning.1872     │1873 397 │   @inet_ports ['tcp_inet', 'udp_inet', 'sctp_inet']1874     │                            ~1875     │1876     └─ lib/phoenix/live_dashboard/system_info.ex:397:2818771878     warning: using single-quoted strings to represent charlists is deprecated.1879     Use ~c"" if you indeed want a charlist or use "" instead.1880     You may run "mix format --migrate" to change all single-quoted1881     strings to use the ~c sigil and fix this warning.1882     │1883 397 │   @inet_ports ['tcp_inet', 'udp_inet', 'sctp_inet']1884     │                                        ~1885     │1886     └─ lib/phoenix/live_dashboard/system_info.ex:397:4018871888     warning: using single-quoted strings to represent charlists is deprecated.1889     Use ~c"" if you indeed want a charlist or use "" instead.1890     You may run "mix format --migrate" to change all single-quoted1891     strings to use the ~c sigil and fix this warning.1892     │1893 543 │         [{'none', 0, 0}] -> []1894     │           ~1895     │1896     └─ lib/phoenix/live_dashboard/system_info.ex:543:1118971898warning: passing the @socket to live_component is no longer necessary, please remove the socket argument1899  lib/phoenix/live_dashboard/page_live.ex:211: Phoenix.LiveDashboard.PageLive.render_page/319001901warning: passing the @socket to live_component is no longer necessary, please remove the socket argument1902  lib/phoenix/live_dashboard/page_live.ex:236: Phoenix.LiveDashboard.PageLive.live_modal/319031904warning: passing the @socket to live_component is no longer necessary, please remove the socket argument1905  lib/phoenix/live_dashboard/components/nav_bar_component.ex:142: Phoenix.LiveDashboard.NavBarComponent.render_content/319061907warning: passing the @socket to live_component is no longer necessary, please remove the socket argument1908  lib/phoenix/live_dashboard/components/card_usage_component.ex:7: Phoenix.LiveDashboard.CardUsageComponent.render/119091910     warning: incompatible types given to Phoenix.LiveView.Helpers.__live_component__/3:19111912         Phoenix.LiveView.Helpers.__live_component__(1913           component.__live__(),1914           Phoenix.LiveDashboard.ModalComponent,1915           nil1916         )19171918     given types:19191920         dynamic(), -Phoenix.LiveDashboard.ModalComponent-, nil19211922     but expected one of:19231924         (1925           %{..., kind: :component, module: term()},1926           empty_list() or map() or non_empty_list(term(), term()),1927           term()1928         )19291930     where "component" (context Phoenix.LiveView.Helpers) was given the types:19311932         # type: dynamic(not %Phoenix.LiveView.Socket{})1933         # from: lib/phoenix/live_dashboard/page_live.ex:2361934         component19351936         # type: dynamic(atom())1937         # from: lib/phoenix/live_dashboard/page_live.ex:2361938         component.__live__()19391940     type warning found at:1941     │1942 236 │     live_component(socket, Phoenix.LiveDashboard.ModalComponent, modal_opts)1943     │     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1944     │1945     └─ lib/phoenix/live_dashboard/page_live.ex:236: Phoenix.LiveDashboard.PageLive.live_modal/319461947     warning: the following clause will never match:19481949         %{__changed__: changed} when track_changes? ->19501951     because it attempts to match on the result of:19521953         assigns19541955     which has type:19561957         dynamic(%{text: term()})19581959     where "track_changes?" (context Phoenix.LiveView.Engine) was given the type:19601961         # type: dynamic(true)1962         # from: lib/phoenix/live_dashboard/page_live.ex:3121963         track_changes?19641965     type warning found at:1966     │1967 312 │     ~L"""1968     │     ~~~~~1969     │1970     └─ lib/phoenix/live_dashboard/page_live.ex:312: Phoenix.LiveDashboard.PageLive.maybe_link/319711972     warning: the following clause will never match:19731974         %{__changed__: changed} when track_changes? ->19751976     because it attempts to match on the result of:19771978         assigns19791980     which has type:19811982         dynamic(%{more_info_url: term(), text: term()})19831984     where "track_changes?" (context Phoenix.LiveView.Engine) was given the type:19851986         # type: dynamic(true)1987         # from: lib/phoenix/live_dashboard/page_live.ex:3221988         track_changes?19891990     type warning found at:1991     │1992 322 │     ~L"""1993     │     ~~~~~1994     │1995     └─ lib/phoenix/live_dashboard/page_live.ex:322: Phoenix.LiveDashboard.PageLive.maybe_link/319961997     warning: incompatible types given to Phoenix.LiveView.Helpers.__live_component__/3:19981999         Phoenix.LiveView.Helpers.__live_component__(2000           component.__live__(),2001           Phoenix.LiveDashboard.ColorBarComponent,2002           nil2003         )20042005     given types:20062007         dynamic(), -Phoenix.LiveDashboard.ColorBarComponent-, nil20082009     but expected one of:20102011         (2012           %{..., kind: :component, module: term()},2013           empty_list() or map() or non_empty_list(term(), term()),2014           term()2015         )20162017     where "component" (context Phoenix.LiveView.Helpers) was given the types:20182019         # type: dynamic(not %Phoenix.LiveView.Socket{})2020         # from: lib/phoenix/live_dashboard/pages/os_mon_page.ex:1912021         component20222023         # type: dynamic(atom())2024         # from: lib/phoenix/live_dashboard/pages/os_mon_page.ex:1912025         component.__live__()20262027     type warning found at:2028     │2029 191 │                       <%= live_component @socket, ColorBarComponent, dom_id: "cpu-#{num_cpu}", data: cpu_usage_sections(usage), title: "CPU #{num_cpu+1}", csp_nonces: @csp_nonces %>2030     │                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2031     │2032     └─ lib/phoenix/live_dashboard/pages/os_mon_page.ex:191: Phoenix.LiveDashboard.OSMonPage.render/120332034     warning: the following clause will never match:20352036         %{__changed__: changed} when track_changes? ->20372038     because it attempts to match on the result of:20392040         assigns20412042     which has type:20432044         dynamic(%{checked_param: binary()})20452046     where "track_changes?" (context Phoenix.LiveView.Engine) was given the type:20472048         # type: dynamic(true)2049         # from: lib/phoenix/live_dashboard/pages/request_logger_page.ex:1782050         track_changes?20512052     type warning found at:2053     │2054 178 │     ~L"""2055     │     ~~~~~2056     │2057     └─ lib/phoenix/live_dashboard/pages/request_logger_page.ex:178: Phoenix.LiveDashboard.RequestLoggerPage.autoscroll_checkbox/120582059     warning: incompatible types given to Phoenix.LiveView.Helpers.__live_component__/3:20602061         Phoenix.LiveView.Helpers.__live_component__(2062           component.__live__(),2063           Phoenix.LiveDashboard.ColorBarComponent,2064           nil2065         )20662067     given types:20682069         dynamic(), -Phoenix.LiveDashboard.ColorBarComponent-, nil20702071     but expected one of:20722073         (2074           %{..., kind: :component, module: term()},2075           empty_list() or map() or non_empty_list(term(), term()),2076           term()2077         )20782079     where "component" (context Phoenix.LiveView.Helpers) was given the types:20802081         # type: dynamic(not %Phoenix.LiveView.Socket{})2082         # from: lib/phoenix/live_dashboard/pages/home_page.ex:2062083         component20842085         # type: dynamic(atom())2086         # from: lib/phoenix/live_dashboard/pages/home_page.ex:2062087         component.__live__()20882089     type warning found at:2090     │2091 206 │             <%= live_component @socket, ColorBarComponent, data: memory_usage_sections_percent(@system_usage.memory, @system_usage.memory.total), csp_nonces: @csp_nonces, dom_id: "system_usage_memory_total" %>2092     │             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2093     │2094     └─ lib/phoenix/live_dashboard/pages/home_page.ex:206: Phoenix.LiveDashboard.HomePage.render/120952096    warning: incompatible types given to Phoenix.LiveView.Helpers.__live_component__/3:20972098        Phoenix.LiveView.Helpers.__live_component__(2099          component.__live__(),2100          Phoenix.LiveDashboard.ChartComponent,2101          nil2102        )21032104    given types:21052106        dynamic(), -Phoenix.LiveDashboard.ChartComponent-, nil21072108    but expected one of:21092110        (2111          %{..., kind: :component, module: term()},2112          empty_list() or map() or non_empty_list(term(), term()),2113          term()2114        )21152116    where "component" (context Phoenix.LiveView.Helpers) was given the types:21172118        # type: dynamic(not %Phoenix.LiveView.Socket{})2119        # from: lib/phoenix/live_dashboard/pages/metrics_page.ex:762120        component21212122        # type: dynamic(atom())2123        # from: lib/phoenix/live_dashboard/pages/metrics_page.ex:762124        component.__live__()21252126    type warning found at:2127    │2128 76 │           <%= live_component @socket, ChartComponent, id: id, metric: metric %>2129    │           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2130    │2131    └─ lib/phoenix/live_dashboard/pages/metrics_page.ex:76: Phoenix.LiveDashboard.MetricsPage.render_metrics/121322133     warning: the following clause will never match:21342135         %{__changed__: changed} when track_changes? ->21362137     because it attempts to match on the result of:21382139         assigns21402141     which has type:21422143         dynamic(%{block: term()})21442145     where "track_changes?" (context Phoenix.LiveView.Engine) was given the type:21462147         # type: dynamic(true)2148         # from: lib/phoenix/live_dashboard/helpers.ex:2082149         track_changes?21502151     type warning found at:2152     │2153 208 │     ~L"""2154     │     ~~~~~2155     │2156     └─ lib/phoenix/live_dashboard/helpers.ex:208: Phoenix.LiveDashboard.Helpers.hint/121572158    warning: Logger.add_backend/1 is deprecated. Use LoggerBackends.add/2 from :logger_backends dependency2159    │2160  8 │     Logger.add_backend(Phoenix.LiveDashboard.LoggerPubSubBackend)2161    │            ~2162    │2163    └─ lib/phoenix/live_dashboard/application.ex:8:12: Phoenix.LiveDashboard.Application.start/221642165Generated phoenix_live_dashboard app2166==> ecto_network2167Compiling 4 files (.ex)2168    warning: this clause in cond will always match:21692170        address_netmask(inet.address)21712172    since it has type:21732174        integer()21752176    where "inet" was given the type:21772178        # type: dynamic(%Postgrex.INET{})2179        # from: lib/ecto_network/inet.ex:53:292180        %Postgrex.INET{} = inet21812182    type warning found at:2183    │2184 57 │         address_netmask(inet.address) -> %{inet | netmask: address_netmask(inet.address)}2185    │                                       ~2186    │2187    └─ lib/ecto_network/inet.ex:57:39: EctoNetwork.INET.load/121882189Generated ecto_network app2190==> httpoison2191Compiling 3 files (.ex)2192Generated httpoison app2193warning: the :gettext compiler is no longer required in your mix.exs.21942195Please find the following line in your mix.exs and remove the :gettext entry:21962197    compilers: [..., :gettext, ...] ++ Mix.compilers(),21982199  (gettext 0.26.2) lib/mix/tasks/compile.gettext.ex:5: Mix.Tasks.Compile.Gettext.run/12200  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/52201  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/22202  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/42203  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/22204  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/522052206==> mppm2207Compiling 76 files (.ex)2208    warning: an expression is always required on the right side of ->. Please provide a value after ->2209    │2210 48 │         _ ->2211    │           ~2212    │2213    └─ lib/mppm/application.ex:48:1122142215    warning: Application.get_env/2 is discouraged in the module body, use Application.compile_env/3 instead2216    │2217  5 │   @root_path Application.get_env(:mppm, :game_servers_root_path)2218    │                          ~2219    │2220    └─ lib/mppm/application.ex:5:26: Mppm.Application (module)22212222    warning: binary construction will fail because of a type mismatch2223    │2224 63 │       {:ok, _} = File.cp_r("./priv/default_tracks/", @root_path<>"/UserData/Maps/MX", fn _, _ -> false end)2225    │       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2226    │2227    └─ lib/mppm/application.ex:6322282229    warning: binary construction will fail because of a type mismatch2230    │2231 61 │     if {:ok, []} == File.ls(@root_path<>"/UserData/Maps/MX") do2232    │     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2233    │2234    └─ lib/mppm/application.ex:6122352236    warning: binary construction will fail because of a type mismatch2237    │2238 53 │     try do Port.open({:spawn_executable, @root_path<>"/TrackmaniaServer"}, [:binary, args: ["/nodaemon"]])2239    │     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2240    │2241    └─ lib/mppm/application.ex:5322422243    warning: an expression is always required on the right side of ->. Please provide a value after ->2244    │2245 99 │         _unhandled_message ->2246    │                            ~2247    │2248    └─ lib/mppm/broker/receiver_server.ex:99:2822492250    warning: the variable "size" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator2251    │2252 55 │         <<message::binary-size(size), next_message::binary>> = msg2253    │                                ~2254    │2255    └─ lib/mppm/broker/receiver_server.ex:55:32: Mppm.Broker.ReceiverServer.parse_new_packet/222562257    warning: the variable "missing_bytes" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator2258    │2259 75 │         <<end_of_message::binary-size(missing_bytes), next_message::binary>> = binary2260    │                                       ~2261    │2262    └─ lib/mppm/broker/receiver_server.ex:75:39: Mppm.Broker.ReceiverServer.parse_message_next_packet/322632264     warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.22652266     This error happens when you have function calls without parentheses inside keywords. For example:22672268         function(arg, one: nested_call a, b, c)2269         function(arg, one: if expr, do: :this, else: :that)22702271     In the examples above, we don't know if the arguments "b" and "c" apply to the function "function" or "nested_call". Or if the keywords "do" and "else" apply to the function "function" or "if". You can solve this by explicitly adding parentheses:22722273         function(arg, one: if(expr, do: :this, else: :that))2274         function(arg, one: nested_call(a, b, c))22752276     Ambiguity found at:2277     │2278 116 │     from u in Mppm.User, where: u.uuid == ^uuid2279     │     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2280     │2281     └─ lib/mppm/data/user.ex:11622822283     warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.22842285     This error happens when you have function calls without parentheses inside keywords. For example:22862287         function(arg, one: nested_call a, b, c)2288         function(arg, one: if expr, do: :this, else: :that)22892290     In the examples above, we don't know if the arguments "b" and "c" apply to the function "function" or "nested_call". Or if the keywords "do" and "else" apply to the function "function" or "if". You can solve this by explicitly adding parentheses:22912292         function(arg, one: if(expr, do: :this, else: :that))2293         function(arg, one: nested_call(a, b, c))22942295     Ambiguity found at:2296     │2297 119 │     from u in Mppm.User, where: u.login == ^login2298     │     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2299     │2300     └─ lib/mppm/data/user.ex:11923012302    warning: variable "nickname" is unused (if the variable is not meant to be used, prefix it with an underscore)2303    │2304 15 │   def new_changeset(%User{} = user, %{uuid: uuid, nickname: nickname} = data)2305    │                                                             ~~~~~~~~2306    │2307    └─ lib/mppm/data/user.ex:15:61: Mppm.User.new_changeset/223082309    warning: variable "nickname" is unused (if the variable is not meant to be used, prefix it with an underscore)2310    │2311 22 │   def new_changeset(%User{} = user, %{login: login, nickname: nickname} = data)2312    │                                                               ~~~~~~~~2313    │2314    └─ lib/mppm/data/user.ex:22:63: Mppm.User.new_changeset/223152316    warning: using single-quoted strings to represent charlists is deprecated.2317    Use ~c"" if you indeed want a charlist or use "" instead.2318    You may run "mix format --migrate" to change all single-quoted2319    strings to use the ~c sigil and fix this warning.2320    │2321 32 │     res = :os.cmd('ss -lpn | grep "pid=#{pid}" | awk {\'print$5\'} | cut -d: -f2')2322    │                   ~2323    │2324    └─ lib/mppm/game_server/server.ex:32:1923252326    warning: Application.get_env/2 is discouraged in the module body, use Application.compile_env/3 instead2327    │2328  7 │   @root_path Application.get_env(:mppm, :game_servers_root_path)2329    │                          ~2330    │2331    └─ lib/mppm/game_server/server.ex:7:26: Mppm.GameServer.Server (module)23322333    warning: Application.get_env/2 is discouraged in the module body, use Application.compile_env/3 instead2334    │2335  8 │   @config Application.get_env(:mppm, Mppm.Trackmania)2336    │                       ~2337    │2338    └─ lib/mppm/game_server/server.ex:8:23: Mppm.GameServer.Server (module)23392340    warning: using single-quoted strings to represent charlists is deprecated.2341    Use ~c"" if you indeed want a charlist or use "" instead.2342    You may run "mix format --migrate" to change all single-quoted2343    strings to use the ~c sigil and fix this warning.2344    │2345 31 │   @trackmania 'TrackmaniaServer'2346    │               ~2347    │2348    └─ lib/mppm/game_server/starter.ex:31:1523492350    warning: using single-quoted strings to represent charlists is deprecated.2351    Use ~c"" if you indeed want a charlist or use "" instead.2352    You may run "mix format --migrate" to change all single-quoted2353    strings to use the ~c sigil and fix this warning.2354    │2355 61 │     :os.cmd('ps -aux | grep ' ++ @trackmania)2356    │             ~2357    │2358    └─ lib/mppm/game_server/starter.ex:61:1323592360    warning: using single-quoted strings to represent charlists is deprecated.2361    Use ~c"" if you indeed want a charlist or use "" instead.2362    You may run "mix format --migrate" to change all single-quoted2363    strings to use the ~c sigil and fix this warning.2364    │2365 75 │       :os.cmd('netstat -antp | grep #{pid}/ | awk \'{print $4}\'')2366    │               ~2367    │2368    └─ lib/mppm/game_server/starter.ex:75:1523692370    warning: using single-quoted strings to represent charlists is deprecated.2371    Use ~c"" if you indeed want a charlist or use "" instead.2372    You may run "mix format --migrate" to change all single-quoted2373    strings to use the ~c sigil and fix this warning.2374    │2375 93 │     :os.cmd('ps -aux | grep '++@trackmania)2376    │             ~2377    │2378    └─ lib/mppm/game_server/starter.ex:93:1323792380     warning: variable "ss" is unused (if the variable is not meant to be used, prefix it with an underscore)2381     │2382 153 │   def handle_cast({:relink_orphan_process, {login, pid, xmlrpc_port} = ss}, state) do2383     │                                                                        ~~2384     │2385     └─ lib/mppm/game_server/server.ex:153:72: Mppm.GameServer.Server.handle_cast/223862387     warning: using single-quoted strings to represent charlists is deprecated.2388     Use ~c"" if you indeed want a charlist or use "" instead.2389     You may run "mix format --migrate" to change all single-quoted2390     strings to use the ~c sigil and fix this warning.2391     │2392 176 │         {:name, [], ['SuperAdmin']},2393     │                      ~2394     │2395     └─ lib/mppm/server_config.ex:176:2223962397     warning: using single-quoted strings to represent charlists is deprecated.2398     Use ~c"" if you indeed want a charlist or use "" instead.2399     You may run "mix format --migrate" to change all single-quoted2400     strings to use the ~c sigil and fix this warning.2401     │2402 180 │         {:name, [], ['Admin']},2403     │                      ~2404     │2405     └─ lib/mppm/server_config.ex:180:2224062407     warning: using single-quoted strings to represent charlists is deprecated.2408     Use ~c"" if you indeed want a charlist or use "" instead.2409     You may run "mix format --migrate" to change all single-quoted2410     strings to use the ~c sigil and fix this warning.2411     │2412 184 │         {:name, [], ['User']},2413     │                      ~2414     │2415     └─ lib/mppm/server_config.ex:184:2224162417     warning: using single-quoted strings to represent charlists is deprecated.2418     Use ~c"" if you indeed want a charlist or use "" instead.2419     You may run "mix format --migrate" to change all single-quoted2420     strings to use the ~c sigil and fix this warning.2421     │2422 356 │   defp charlist(true), do: ['True']2423     │                             ~2424     │2425     └─ lib/mppm/server_config.ex:356:2924262427     warning: using single-quoted strings to represent charlists is deprecated.2428     Use ~c"" if you indeed want a charlist or use "" instead.2429     You may run "mix format --migrate" to change all single-quoted2430     strings to use the ~c sigil and fix this warning.2431     │2432 357 │   defp charlist(false), do: ['False']2433     │                              ~2434     │2435     └─ lib/mppm/server_config.ex:357:3024362437     warning: using single-quoted strings to represent charlists is deprecated.2438     Use ~c"" if you indeed want a charlist or use "" instead.2439     You may run "mix format --migrate" to change all single-quoted2440     strings to use the ~c sigil and fix this warning.2441     │2442 369 │     'ls #{@root_path}UserData/Packs/'2443     │     ~2444     │2445     └─ lib/mppm/server_config.ex:369:524462447     warning: using single-quoted strings to represent charlists is deprecated.2448     Use ~c"" if you indeed want a charlist or use "" instead.2449     You may run "mix format --migrate" to change all single-quoted2450     strings to use the ~c sigil and fix this warning.2451     │2452 379 │     'ls /opt/mppm/'2453     │     ~2454     │2455     └─ lib/mppm/server_config.ex:379:524562457    warning: Application.get_env/2 is discouraged in the module body, use Application.compile_env/3 instead2458    │2459 15 │   @root_path Application.get_env(:mppm, :game_servers_root_path)2460    │                          ~2461    │2462    └─ lib/mppm/server_config.ex:15:26: Mppm.ServerConfig (module)246324642465== Compilation error in file lib/mppm/server_config.ex ==2466** (ArgumentError) lib file xmerl/include/xmerl.hrl could not be found2467    (elixir 1.20.3) lib/record/extractor.ex:45: Record.Extractor.from_lib_file/12468    (elixir 1.20.3) lib/record/extractor.ex:22: Record.Extractor.from_or_from_lib_file/12469    (elixir 1.20.3) lib/record/extractor.ex:9: Record.Extractor.extract/22470    lib/mppm/server_config.ex:10: (module)2471could not compile dependency :mppm, "mix compile" failed. Errors may have been logged above. You can recompile this dependency with "mix deps.compile mppm --force", update it with "mix deps.update mppm" or clean it with "mix deps.clean mppm"