mppm

Build log

nerves_system_bbb

mppm 0.1.1 · fail · run mppm-0.1.1-1791006358568
2471 of 2471 lines
1Resolving Hex dependencies...2Resolution completed in 0.455s3Unchanged: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_sax_utf8.erl:198      │199 1063 │        case catch list_to_integer(Tail1) of200      │             ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.201Compile directive 'nowarn_deprecated_catch' can be used to suppress202warnings in selected modules.203204205      ┌─ src/erlsom_sax_utf16le.erl:206      │207 1063 │        case catch list_to_integer(Tail1) of208      │             ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.209Compile directive 'nowarn_deprecated_catch' can be used to suppress210warnings in selected modules.211212213      ┌─ src/erlsom_sax_latin9.erl:214      │215 1063 │        case catch list_to_integer(Tail1) of216      │             ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.217Compile directive 'nowarn_deprecated_catch' can be used to suppress218warnings in selected modules.219220221      ┌─ src/erlsom_sax_latin1.erl:222      │223 1063 │        case catch list_to_integer(Tail1) of224      │             ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.225Compile directive 'nowarn_deprecated_catch' can be used to suppress226warnings in selected modules.227228229      ┌─ src/erlsom_sax_utf16be.erl:230      │231 1063 │        case catch list_to_integer(Tail1) of232      │             ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.233Compile directive 'nowarn_deprecated_catch' can be used to suppress234warnings in selected modules.235236237     ┌─ src/erlsom.erl:238     │239 143 │    case catch erlsom_compile:compile(Xsd, Options) of240     │         ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.241Compile directive 'nowarn_deprecated_catch' can be used to suppress242warnings in selected modules.243244     ┌─ src/erlsom.erl:245     │246 245 │    case catch erlsom_sax:parseDocument(Xml, State,247     │         ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.248Compile directive 'nowarn_deprecated_catch' can be used to suppress249warnings in selected modules.250251252      ┌─ src/erlsom_sax_list.erl:253      │254 1063 │        case catch list_to_integer(Tail1) of255      │             ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.256Compile directive 'nowarn_deprecated_catch' can be used to suppress257warnings in selected modules.258259260     ┌─ src/erlsom_compile.erl:261     │262 250 │    case catch transform(ParsedXsd, Acc) of263     │         ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.264Compile directive 'nowarn_deprecated_catch' can be used to suppress265warnings in selected modules.266267     ┌─ src/erlsom_compile.erl:268     │269 254 │        case catch erlsom_pass2:secondPass(IntermediateResult#p1acc.tps,270     │             ╰── 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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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/bbb/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_armv7_nerves_linux_gnueabihf475Compiling 1 file (.ex)476Generated nerves_toolchain_armv7_nerves_linux_gnueabihf app477==> nerves_compatibility_test478===> Analyzing applications...479===> Compiling unicode_util_compat480===> Analyzing applications...481===> Compiling idna482===> Analyzing applications...483===> Compiling telemetry484==> db_connection485Compiling 18 files (.ex)486Generated db_connection app487==> telemetry_metrics488Compiling 7 files (.ex)489     warning: unused require Logger490     │491 391 │   require Logger492     │   ~493     │494     └─ lib/telemetry_metrics.ex:391:3495496Generated telemetry_metrics app497==> ecto498Compiling 56 files (.ex)499Generated ecto app500==> xmlrpc501Compiling 5 files (.ex)502Generated xmlrpc app503==> nerves_compatibility_test504===> Analyzing applications...505===> Compiling cowboy506==> expo507Compiling 2 files (.erl)508Compiling 22 files (.ex)509Generated expo app510==> gettext511Compiling 18 files (.ex)512     warning: unused require Gettext.Macros513     │514 594 │   require Gettext.Macros515     │   ~516     │517     └─ lib/gettext.ex:594:3518519     warning: the following clause is redundant:520521         defp ensure_empty_msgstr!(%Expo.Message.Plural{} = message)522523     it has type:524525         dynamic(%Expo.Message.Plural{})526527     previous clauses have already matched on the following types:528529         %Expo.Message.Singular{}530         %Expo.Message.Plural{}531532     │533 391 │   defp ensure_empty_msgstr!(%Message.Plural{} = message) do534     │        ~535     │536     └─ lib/gettext/extractor.ex:391:8: Gettext.Extractor.ensure_empty_msgstr!/1537538     warning: Kernel.ParallelCompiler.async/1 is deprecated. Use `pmap/2` instead539     │540 426 │               Kernel.ParallelCompiler.async(fn ->541     │                                       ~542     │543     └─ lib/gettext/compiler.ex:426:39: Gettext.Compiler.compile_po_files/3544545Generated gettext app546==> phoenix_pubsub547Compiling 12 files (.ex)548Generated phoenix_pubsub app549==> slugify550Compiling 1 file (.ex)551Generated slugify app552==> nerves_compatibility_test553===> Analyzing applications...554===> Compiling certifi555==> plug556Compiling 1 file (.erl)557Compiling 42 files (.ex)558Generated plug app559==> phoenix_html560Compiling 8 files (.ex)561    warning: using single-quoted strings to represent charlists is deprecated.562    Use ~c"" if you indeed want a charlist or use "" instead.563    You may run "mix format --migrate" to change all single-quoted564    strings to use the ~c sigil and fix this warning.565    │566 12 │   @anno (if :erlang.system_info(:otp_release) >= '19' do567    │                                                  ~568    │569    └─ lib/phoenix_html/engine.ex:12:50570571    warning: the 1st pattern in clause will never match:572573        60574575    because it is expected to receive type:576577        dynamic(empty_list() or non_empty_list(term(), term()))578579    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())580581    type warning found at:582    │583 56 │   def to_iodata(?<), do: "&lt;"584    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~585    │586    └─ lib/phoenix_html/safe.ex:56: Phoenix.HTML.Safe.List.to_iodata/1587588    warning: the 1st pattern in clause will never match:589590        62591592    because it is expected to receive type:593594        dynamic(empty_list() or non_empty_list(term(), term()))595596    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())597598    type warning found at:599    │600 57 │   def to_iodata(?>), do: "&gt;"601    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~602    │603    └─ lib/phoenix_html/safe.ex:57: Phoenix.HTML.Safe.List.to_iodata/1604605    warning: the 1st pattern in clause will never match:606607        38608609    because it is expected to receive type:610611        dynamic(empty_list() or non_empty_list(term(), term()))612613    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())614615    type warning found at:616    │617 58 │   def to_iodata(?&), do: "&amp;"618    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~619    │620    └─ lib/phoenix_html/safe.ex:58: Phoenix.HTML.Safe.List.to_iodata/1621622    warning: the 1st pattern in clause will never match:623624        34625626    because it is expected to receive type:627628        dynamic(empty_list() or non_empty_list(term(), term()))629630    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())631632    type warning found at:633    │634 59 │   def to_iodata(?"), do: "&quot;"635    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~636    │637    └─ lib/phoenix_html/safe.ex:59: Phoenix.HTML.Safe.List.to_iodata/1638639    warning: the 1st pattern in clause will never match:640641        39642643    because it is expected to receive type:644645        dynamic(empty_list() or non_empty_list(term(), term()))646647    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())648649    type warning found at:650    │651 60 │   def to_iodata(?'), do: "&#39;"652    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~653    │654    └─ lib/phoenix_html/safe.ex:60: Phoenix.HTML.Safe.List.to_iodata/1655656    warning: the 1st pattern in clause will never match:657658        {:safe, data}659660    because it is expected to receive type:661662        dynamic(empty_list() or non_empty_list(term(), term()))663664    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())665666    type warning found at:667    │668 76 │   def to_iodata({:safe, data}) do669    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~670    │671    └─ lib/phoenix_html/safe.ex:76: Phoenix.HTML.Safe.List.to_iodata/1672673    warning: the following clause is redundant:674675        def to_iodata(other)676677    it has type:678679        dynamic(empty_list() or non_empty_list(term(), term()))680681    previous clauses have already matched on the following types:682683        non_empty_list(term(), term())684        empty_list()685686    │687 80 │   def to_iodata(other) do688    │       ~689    │690    └─ lib/phoenix_html/safe.ex:80:7: Phoenix.HTML.Safe.List.to_iodata/1691692    warning: the 1st pattern in clause will never match:693694        h695696    because it is expected to receive type:697698        dynamic(empty_list() or non_empty_list(term(), term()))699700    where "h" was given the type:701702        # type: integer()703        # from: lib/phoenix_html/safe.ex:62:25704        is_integer(h)705706    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())707708    type warning found at:709    │710 62 │   def to_iodata(h) when is_integer(h) and h <= 255 do711    │                 ~712    │713    └─ lib/phoenix_html/safe.ex:62:17: Phoenix.HTML.Safe.List.to_iodata/1714715    warning: the 1st pattern in clause will never match:716717        h718719    because it is expected to receive type:720721        dynamic(empty_list() or non_empty_list(term(), term()))722723    where "h" was given the type:724725        # type: integer()726        # from: lib/phoenix_html/safe.ex:66:25727        is_integer(h)728729    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())730731    type warning found at:732    │733 66 │   def to_iodata(h) when is_integer(h) do734    │                 ~735    │736    └─ lib/phoenix_html/safe.ex:66:17: Phoenix.HTML.Safe.List.to_iodata/1737738    warning: the 1st pattern in clause will never match:739740        h741742    because it is expected to receive type:743744        dynamic(empty_list() or non_empty_list(term(), term()))745746    where "h" was given the type:747748        # type: binary()749        # from: lib/phoenix_html/safe.ex:72:25750        is_binary(h)751752    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())753754    type warning found at:755    │756 72 │   def to_iodata(h) when is_binary(h) do757    │                 ~758    │759    └─ lib/phoenix_html/safe.ex:72:17: Phoenix.HTML.Safe.List.to_iodata/1760761Generated phoenix_html app762warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"763  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2764  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1765  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5766  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2767  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4768  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2769770==> postgrex771Compiling 70 files (.ex)772Generated postgrex app773==> ecto_sql774Compiling 25 files (.ex)775Generated ecto_sql app776warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"777  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2778  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1779  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5780  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2781  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4782  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2783784==> phoenix_ecto785Compiling 7 files (.ex)786Generated phoenix_ecto app787==> nerves_compatibility_test788===> Analyzing applications...789===> Compiling parse_trans790==> uboot_env791Compiling 5 files (.ex)792Generated uboot_env app793==> nerves_compatibility_test794===> Analyzing applications...795===> Compiling metrics796===> Analyzing applications...797===> Compiling hackney798     ┌─ src/hackney_happy.erl:799     │800 101 │    catch exit(Pid, normal),801     │    ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.802Compile directive 'nowarn_deprecated_catch' can be used to suppress803warnings in selected modules.804805     ┌─ src/hackney_happy.erl:806     │807 128 │    case (catch inet_res:getbyname(Hostname, Type)) of808     │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.809Compile directive 'nowarn_deprecated_catch' can be used to suppress810warnings in selected modules.811812     ┌─ src/hackney_happy.erl:813     │814 151 │    case (catch inet:gethostbyname(Hostname, InetType)) of815     │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.816Compile directive 'nowarn_deprecated_catch' can be used to suppress817warnings in selected modules.818819820     ┌─ src/hackney_trace.erl:821     │822 132 │    (catch io:format(standard_io, "stop trace at ~s~n", [format_timestamp(Timestamp)])),823     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.824Compile directive 'nowarn_deprecated_catch' can be used to suppress825warnings in selected modules.826827     ┌─ src/hackney_trace.erl:828     │829 139 │    (catch io:format(Fd, "stop trace at ~s~n", [format_timestamp(Timestamp)])),830     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.831Compile directive 'nowarn_deprecated_catch' can be used to suppress832warnings in selected modules.833834     ┌─ src/hackney_trace.erl:835     │836 146 │    (catch io:format(Fd, "stop trace at ~s~n", [format_timestamp(Timestamp)])),837     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.838Compile directive 'nowarn_deprecated_catch' can be used to suppress839warnings in selected modules.840841     ┌─ src/hackney_trace.erl:842     │843 147 │    (catch file:close(Fd)),844     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.845Compile directive 'nowarn_deprecated_catch' can be used to suppress846warnings in selected modules.847848     ┌─ src/hackney_trace.erl:849     │850 154 │    (catch io:format(Fd, "stop trace at ~s~n", [format_timestamp(Timestamp)])),851     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.852Compile directive 'nowarn_deprecated_catch' can be used to suppress853warnings in selected modules.854855     ┌─ src/hackney_trace.erl:856     │857 155 │    (catch file:close(Fd)),858     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.859Compile directive 'nowarn_deprecated_catch' can be used to suppress860warnings in selected modules.861862     ┌─ src/hackney_trace.erl:863     │864 161 │    (catch print_hackney_trace(Fd, Sev, Timestamp, Who,865     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.866Compile directive 'nowarn_deprecated_catch' can be used to suppress867warnings in selected modules.868869     ┌─ src/hackney_trace.erl:870     │871 165 │    (catch print_trace(Fd, Event)),872     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.873Compile directive 'nowarn_deprecated_catch' can be used to suppress874warnings in selected modules.875876877    ┌─ src/hackney_pool.erl:878    │879 80 │    case catch gen_server:call(Pool, {checkout, Connection, Requester, RequestRef}, CheckoutTimeout) of880    │         ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.881Compile directive 'nowarn_deprecated_catch' can be used to suppress882warnings in selected modules.883884     ┌─ src/hackney_pool.erl:885     │886 101 │                _ = catch hackney_connection:close(Connection, Socket),887     │                    ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.888Compile directive 'nowarn_deprecated_catch' can be used to suppress889warnings in selected modules.890891     ┌─ src/hackney_pool.erl:892     │893 130 │            _ = catch hackney_connection:close(Connection, Socket),894     │                ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.895Compile directive 'nowarn_deprecated_catch' can be used to suppress896warnings in selected modules.897898     ┌─ src/hackney_pool.erl:899     │900 134 │        catch hackney_connection:close(Connection, Socket),901     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.902Compile directive 'nowarn_deprecated_catch' can be used to suppress903warnings in selected modules.904905     ┌─ src/hackney_pool.erl:906     │907 319 │                 catch Transport:close(Socket),908     │                 ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.909Compile directive 'nowarn_deprecated_catch' can be used to suppress910warnings in selected modules.911912     ┌─ src/hackney_pool.erl:913     │914 417 │                case catch hackney_connection:controlling_process(Connection, S, self()) of915     │                     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.916Compile directive 'nowarn_deprecated_catch' can be used to suppress917warnings in selected modules.918919     ┌─ src/hackney_pool.erl:920     │921 423 │                    _ = catch hackney_connection:close(Connection, S),922     │                        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.923Compile directive 'nowarn_deprecated_catch' can be used to suppress924warnings in selected modules.925926     ┌─ src/hackney_pool.erl:927     │928 444 │        catch hackney_connection:close(Connection, Socket),929     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.930Compile directive 'nowarn_deprecated_catch' can be used to suppress931warnings in selected modules.932933     ┌─ src/hackney_pool.erl:934     │935 543 │            _ = (catch hackney_connection:close(Connection, Socket)),936     │                 ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.937Compile directive 'nowarn_deprecated_catch' can be used to suppress938warnings in selected modules.939940941     ┌─ src/hackney_manager.erl:942     │943 114 │    catch ets:delete(?MODULE, Ref),944     │    ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.945Compile directive 'nowarn_deprecated_catch' can be used to suppress946warnings in selected modules.947948     ┌─ src/hackney_manager.erl:949     │950 125 │            catch Transport:close(Socket);951     │            ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.952Compile directive 'nowarn_deprecated_catch' can be used to suppress953warnings in selected modules.954955     ┌─ src/hackney_manager.erl:956     │957 129 │            catch Handler:checkin(SocketRef, Socket)958     │            ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.959Compile directive 'nowarn_deprecated_catch' can be used to suppress960warnings in selected modules.961962     ┌─ src/hackney_manager.erl:963     │964 133 │          catch Transport:controlling_process(Socket, self()),965     │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.966Compile directive 'nowarn_deprecated_catch' can be used to suppress967warnings in selected modules.968969     ┌─ src/hackney_manager.erl:970     │971 134 │          catch Transport:close(Socket),972     │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.973Compile directive 'nowarn_deprecated_catch' can be used to suppress974warnings in selected modules.975976     ┌─ src/hackney_manager.erl:977     │978 227 │            catch ets:delete(?MODULE, Ref),979     │            ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.980Compile directive 'nowarn_deprecated_catch' can be used to suppress981warnings in selected modules.982983     ┌─ src/hackney_manager.erl:984     │985 255 │    catch ets:delete(?MODULE, Ref),986     │    ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.987Compile directive 'nowarn_deprecated_catch' can be used to suppress988warnings in selected modules.989990     ┌─ src/hackney_manager.erl:991     │992 269 │          catch Transport:controlling_process(Socket, self()),993     │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.994Compile directive 'nowarn_deprecated_catch' can be used to suppress995warnings in selected modules.996997     ┌─ src/hackney_manager.erl:998     │999 270 │          catch Transport:close(Socket),1000     │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1001Compile directive 'nowarn_deprecated_catch' can be used to suppress1002warnings in selected modules.10031004     ┌─ src/hackney_manager.erl:1005     │1006 383 │          catch unlink(Stream),1007     │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1008Compile directive 'nowarn_deprecated_catch' can be used to suppress1009warnings in selected modules.10101011     ┌─ src/hackney_manager.erl:1012     │1013 416 │        catch ets:delete(?REFS, Ref),1014     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1015Compile directive 'nowarn_deprecated_catch' can be used to suppress1016warnings in selected modules.10171018     ┌─ src/hackney_manager.erl:1019     │1020 426 │        catch ets:delete(?REFS, Ref),1021     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1022Compile directive 'nowarn_deprecated_catch' can be used to suppress1023warnings in selected modules.10241025     ┌─ src/hackney_manager.erl:1026     │1027 470 │    case catch hackney_stream:start_link(StreamTo2, Ref, Client) of1028     │         ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1029Compile directive 'nowarn_deprecated_catch' can be used to suppress1030warnings in selected modules.10311032     ┌─ src/hackney_manager.erl:1033     │1034 487 │           catch Transport:close(Socket),1035     │           ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1036Compile directive 'nowarn_deprecated_catch' can be used to suppress1037warnings in selected modules.10381039     ┌─ src/hackney_manager.erl:1040     │1041 543 │        catch ets:delete(?REFS, Ref),1042     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1043Compile directive 'nowarn_deprecated_catch' can be used to suppress1044warnings in selected modules.10451046     ┌─ src/hackney_manager.erl:1047     │1048 544 │        catch ets:delete(?MODULE, Ref),1049     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1050Compile directive 'nowarn_deprecated_catch' can be used to suppress1051warnings in selected modules.10521053     ┌─ src/hackney_manager.erl:1054     │1055 559 │        catch ets:delete(?REFS, Ref),1056     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1057Compile directive 'nowarn_deprecated_catch' can be used to suppress1058warnings in selected modules.10591060     ┌─ src/hackney_manager.erl:1061     │1062 560 │        catch ets:delete(?MODULE, Ref),1063     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1064Compile directive 'nowarn_deprecated_catch' can be used to suppress1065warnings in selected modules.10661067     ┌─ src/hackney_manager.erl:1068     │1069 618 │        catch unlink(Pid),1070     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1071Compile directive 'nowarn_deprecated_catch' can be used to suppress1072warnings in selected modules.107310741075==> tesla1076Compiling 57 files (.ex)1077Generated tesla app1078==> oauth21079Compiling 13 files (.ex)1080Generated oauth2 app1081==> nerves_system_bbb1082Generated nerves_system_bbb 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: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1195    │1196 71 │             Logger.warn("no configuration found for otp_app #{inspect(otp_app)} and module #{inspect(mod)}")1197    │                    ~1198    │1199    └─ lib/phoenix/endpoint/supervisor.ex:71:20: Phoenix.Endpoint.Supervisor.init/112001201    warning: unused require Phoenix.Endpoint1202    │1203  6 │   require Phoenix.Endpoint1204    │   ~1205    │1206    └─ lib/phoenix/controller.ex:6:312071208    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: a struct for Plug.Conn is expected on struct update:13851386         %Plug.Conn{conn | query_params: %{}, params: params}13871388     but got type:13891390         dynamic(%{..., params: not %Plug.Conn.Unfetched{}})13911392     where "conn" was given the types:13931394         # type: dynamic(%{..., params: term()})1395         # from: lib/phoenix/endpoint/render_errors.ex:124:171396         conn.params13971398         # type: dynamic(%{..., params: not %Plug.Conn.Unfetched{}})1399         # from: lib/phoenix/endpoint/render_errors.ex:124:171400         conn.params14011402     when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"14031404     type warning found at:1405     │1406 126 │         params -> %Plug.Conn{conn | query_params: %{}, params: params}1407     │                   ~1408     │1409     └─ lib/phoenix/endpoint/render_errors.ex:126:19: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/114101411     warning: incompatible types given to socket_children/1:14121413         socket_children(mod)14141415     given types:14161417         -dynamic(atom())-14181419     but expected one of:14201421         %{..., __sockets__: term()}14221423     where "mod" was given the types:14241425         # type: dynamic(atom() or binary())1426         # from: lib/phoenix/endpoint/supervisor.ex:64:411427         defaults(otp_app, mod)14281429         # type: dynamic(atom())1430         # from: lib/phoenix/endpoint/supervisor.ex:68:161431         mod.init(:supervisor, env_conf)14321433     type warning found at:1434     │1435 105 │       socket_children(mod) ++1436     │       ~1437     │1438     └─ lib/phoenix/endpoint/supervisor.ex:105:7: Phoenix.Endpoint.Supervisor.init/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 Phoenix.ChannelTest1482     │1483 141 │   require Phoenix.ChannelTest1484     │   ~1485     │1486     └─ lib/phoenix_live_view/test/live_view_test.ex:141:314871488     warning: unused require Phoenix.ConnTest1489     │1490 140 │   require Phoenix.ConnTest1491     │   ~1492     │1493     └─ lib/phoenix_live_view/test/live_view_test.ex:140:314941495    warning: unused require Phoenix.ChannelTest1496    │1497  4 │   require Phoenix.ChannelTest1498    │   ~1499    │1500    └─ lib/phoenix_live_view/test/upload_client.ex:4:315011502    warning: unused require Logger1503    │1504  6 │   require Logger1505    │   ~1506    │1507    └─ lib/phoenix_live_view/upload_channel.ex:6: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: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:16351636         %Phoenix.LiveView.UploadEntry{entry | valid?: true, uuid: generate_uuid()}16371638     but got type:16391640         dynamic()16411642     where "entry" was given the type:16431644         # type: dynamic()1645         # from: lib/phoenix_live_view/upload_config.ex:541:301646         entry16471648     when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"16491650     type warning found at:1651     │1652 542 │     entry = %UploadEntry{entry | valid?: true, uuid: generate_uuid()}1653     │             ~1654     │1655     └─ lib/phoenix_live_view/upload_config.ex:542:13: Phoenix.LiveView.UploadConfig.put_valid_entry/216561657     warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:16581659         %Phoenix.LiveView.UploadEntry{entry | valid?: false}16601661     but got type:16621663         dynamic()16641665     where "entry" was given the type:16661667         # type: dynamic()1668         # from: lib/phoenix_live_view/upload_config.ex:554:321669         entry16701671     when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"16721673     type warning found at:1674     │1675 555 │     entry = %UploadEntry{entry | valid?: false}1676     │             ~1677     │1678     └─ lib/phoenix_live_view/upload_config.ex:555:13: Phoenix.LiveView.UploadConfig.put_invalid_entry/316791680    warning: Logger.disable/1 is deprecated. Use Logger.put_process_level(pid, :none) instead1681    │1682 56 │     Logger.disable(self())1683    │            ~1684    │1685    └─ lib/phoenix_live_view/test/client_proxy.ex:56:12: Phoenix.LiveViewTest.ClientProxy.init/116861687     warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:16881689         %Phoenix.LiveView.UploadEntry{entry | cancelled?: true}16901691     but got type:16921693         dynamic()16941695     where "entry" was given the type:16961697         # type: dynamic()1698         # from: lib/phoenix_live_view/upload_config.ex:638:421699         entry17001701     when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"17021703     type warning found at:1704     │1705 638 │         update_entry(conf, entry.ref, fn entry -> %UploadEntry{entry | cancelled?: true} end)1706     │                                                   ~1707     │1708     └─ lib/phoenix_live_view/upload_config.ex:638:51: Phoenix.LiveView.UploadConfig.cancel_entry/217091710     warning: a struct for Phoenix.LiveViewTest.ClientProxy is expected on struct update:17111712         %Phoenix.LiveViewTest.ClientProxy{view | rendered: rendered}17131714     but got type:17151716         dynamic(%{..., rendered: term()})17171718     where "view" was given the type:17191720         # type: dynamic(%{..., rendered: term()})1721         # from: lib/phoenix_live_view/test/client_proxy.ex:600:241722         Phoenix.LiveViewTest.DOM.merge_diff(view.rendered, diff)17231724     when defining the variable "view", you must also pattern match on "%Phoenix.LiveViewTest.ClientProxy{}"17251726     type warning found at:1727     │1728 601 │         new_view = %ClientProxy{view | rendered: rendered}1729     │                    ~1730     │1731     └─ lib/phoenix_live_view/test/client_proxy.ex:601:20: Phoenix.LiveViewTest.ClientProxy.merge_rendered/317321733     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: the following clause will never match:19981999         %{__changed__: changed} when track_changes? ->20002001     because it attempts to match on the result of:20022003         assigns20042005     which has type:20062007         dynamic(%{checked_param: binary()})20082009     where "track_changes?" (context Phoenix.LiveView.Engine) was given the type:20102011         # type: dynamic(true)2012         # from: lib/phoenix/live_dashboard/pages/request_logger_page.ex:1782013         track_changes?20142015     type warning found at:2016     │2017 178 │     ~L"""2018     │     ~~~~~2019     │2020     └─ lib/phoenix/live_dashboard/pages/request_logger_page.ex:178: Phoenix.LiveDashboard.RequestLoggerPage.autoscroll_checkbox/120212022     warning: incompatible types given to Phoenix.LiveView.Helpers.__live_component__/3:20232024         Phoenix.LiveView.Helpers.__live_component__(2025           component.__live__(),2026           Phoenix.LiveDashboard.ColorBarComponent,2027           nil2028         )20292030     given types:20312032         dynamic(), -Phoenix.LiveDashboard.ColorBarComponent-, nil20332034     but expected one of:20352036         (2037           %{..., kind: :component, module: term()},2038           empty_list() or map() or non_empty_list(term(), term()),2039           term()2040         )20412042     where "component" (context Phoenix.LiveView.Helpers) was given the types:20432044         # type: dynamic(not %Phoenix.LiveView.Socket{})2045         # from: lib/phoenix/live_dashboard/pages/os_mon_page.ex:1912046         component20472048         # type: dynamic(atom())2049         # from: lib/phoenix/live_dashboard/pages/os_mon_page.ex:1912050         component.__live__()20512052     type warning found at:2053     │2054 191 │                       <%= live_component @socket, ColorBarComponent, dom_id: "cpu-#{num_cpu}", data: cpu_usage_sections(usage), title: "CPU #{num_cpu+1}", csp_nonces: @csp_nonces %>2055     │                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2056     │2057     └─ lib/phoenix/live_dashboard/pages/os_mon_page.ex:191: Phoenix.LiveDashboard.OSMonPage.render/120582059    warning: incompatible types given to Phoenix.LiveView.Helpers.__live_component__/3:20602061        Phoenix.LiveView.Helpers.__live_component__(2062          component.__live__(),2063          Phoenix.LiveDashboard.ChartComponent,2064          nil2065        )20662067    given types:20682069        dynamic(), -Phoenix.LiveDashboard.ChartComponent-, 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/metrics_page.ex:762083        component20842085        # type: dynamic(atom())2086        # from: lib/phoenix/live_dashboard/pages/metrics_page.ex:762087        component.__live__()20882089    type warning found at:2090    │2091 76 │           <%= live_component @socket, ChartComponent, id: id, metric: metric %>2092    │           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2093    │2094    └─ lib/phoenix/live_dashboard/pages/metrics_page.ex:76: Phoenix.LiveDashboard.MetricsPage.render_metrics/120952096     warning: incompatible types given to Phoenix.LiveView.Helpers.__live_component__/3:20972098         Phoenix.LiveView.Helpers.__live_component__(2099           component.__live__(),2100           Phoenix.LiveDashboard.ColorBarComponent,2101           nil2102         )21032104     given types:21052106         dynamic(), -Phoenix.LiveDashboard.ColorBarComponent-, 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/home_page.ex:2062120         component21212122         # type: dynamic(atom())2123         # from: lib/phoenix/live_dashboard/pages/home_page.ex:2062124         component.__live__()21252126     type warning found at:2127     │2128 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" %>2129     │             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2130     │2131     └─ lib/phoenix/live_dashboard/pages/home_page.ex:206: Phoenix.LiveDashboard.HomePage.render/121322133    warning: Logger.add_backend/1 is deprecated. Use LoggerBackends.add/2 from :logger_backends dependency2134    │2135  8 │     Logger.add_backend(Phoenix.LiveDashboard.LoggerPubSubBackend)2136    │            ~2137    │2138    └─ lib/phoenix/live_dashboard/application.ex:8:12: Phoenix.LiveDashboard.Application.start/221392140     warning: the following clause will never match:21412142         %{__changed__: changed} when track_changes? ->21432144     because it attempts to match on the result of:21452146         assigns21472148     which has type:21492150         dynamic(%{block: term()})21512152     where "track_changes?" (context Phoenix.LiveView.Engine) was given the type:21532154         # type: dynamic(true)2155         # from: lib/phoenix/live_dashboard/helpers.ex:2082156         track_changes?21572158     type warning found at:2159     │2160 208 │     ~L"""2161     │     ~~~~~2162     │2163     └─ lib/phoenix/live_dashboard/helpers.ex:208: Phoenix.LiveDashboard.Helpers.hint/121642165Generated 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: variable "ss" is unused (if the variable is not meant to be used, prefix it with an underscore)2341     │2342 153 │   def handle_cast({:relink_orphan_process, {login, pid, xmlrpc_port} = ss}, state) do2343     │                                                                        ~~2344     │2345     └─ lib/mppm/game_server/server.ex:153:72: Mppm.GameServer.Server.handle_cast/223462347    warning: using single-quoted strings to represent charlists is deprecated.2348    Use ~c"" if you indeed want a charlist or use "" instead.2349    You may run "mix format --migrate" to change all single-quoted2350    strings to use the ~c sigil and fix this warning.2351    │2352 31 │   @trackmania 'TrackmaniaServer'2353    │               ~2354    │2355    └─ lib/mppm/game_server/starter.ex:31:1523562357    warning: using single-quoted strings to represent charlists is deprecated.2358    Use ~c"" if you indeed want a charlist or use "" instead.2359    You may run "mix format --migrate" to change all single-quoted2360    strings to use the ~c sigil and fix this warning.2361    │2362 61 │     :os.cmd('ps -aux | grep ' ++ @trackmania)2363    │             ~2364    │2365    └─ lib/mppm/game_server/starter.ex:61:1323662367    warning: using single-quoted strings to represent charlists is deprecated.2368    Use ~c"" if you indeed want a charlist or use "" instead.2369    You may run "mix format --migrate" to change all single-quoted2370    strings to use the ~c sigil and fix this warning.2371    │2372 75 │       :os.cmd('netstat -antp | grep #{pid}/ | awk \'{print $4}\'')2373    │               ~2374    │2375    └─ lib/mppm/game_server/starter.ex:75:1523762377    warning: using single-quoted strings to represent charlists is deprecated.2378    Use ~c"" if you indeed want a charlist or use "" instead.2379    You may run "mix format --migrate" to change all single-quoted2380    strings to use the ~c sigil and fix this warning.2381    │2382 93 │     :os.cmd('ps -aux | grep '++@trackmania)2383    │             ~2384    │2385    └─ lib/mppm/game_server/starter.ex:93:1323862387     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"