legendary_core

Build log

nerves_system_rpi0

legendary_core 8.12.0 · fail · run legendary_core-8.12.0-1790974005865
1790 of 1790 lines
1Resolving Hex dependencies...2Resolution completed in 0.591s3Unchanged:4  bamboo 1.6.05  bamboo_smtp 3.0.06  castore 0.1.227  certifi 2.15.08  circular_buffer 1.1.09  cldr_utils 2.29.710  connection 1.1.011  cowboy 2.19.012  cowboy_telemetry 0.4.013  cowlib 2.20.0 VULNERABLE!14    EEF-CVE-2026-43966 (MEDIUM)15    aka: CVE-2026-43966, GHSA-w4f7-4cxr-rv3c16    HTTP Response Splitting via Non-VCHAR Bytes in cow_http_struct_hd:escape_string/217    https://osv.dev/vulnerability/EEF-CVE-2026-439661819    EEF-CVE-2026-43969 (LOW)20    aka: CVE-2026-43969, GHSA-g2wm-735q-3f5621    Cookie Request Header Injection via Unvalidated Encoder in cow_cookie:cookie/122    https://osv.dev/vulnerability/EEF-CVE-2026-4396923  db_connection 2.10.224  decimal 2.4.1 VULNERABLE!25    EEF-CVE-2026-32686 (MEDIUM)26    aka: CVE-2026-32686, GHSA-rhv4-8758-jx7v27    Unbounded exponent in decimal enables unauthenticated DoS28    https://osv.dev/vulnerability/EEF-CVE-2026-3268629  ecto 3.11.230  ecto_sql 3.11.331  elixir_make 0.10.032  ex_aws 2.4.433  ex_aws_s3 2.5.934  ex_cldr 2.33.235  ex_prompt 0.2.036  ex_url 1.4.037  expo 1.1.138  fun_with_flags 1.9.039  fun_with_flags_ui 0.8.140  gen_smtp 0.15.041  gettext 0.26.242  hackney 1.25.0 VULNERABLE!43    EEF-CVE-2026-47071 (HIGH)44    aka: CVE-2026-47071, GHSA-gp9c-pm5m-5cxr45    SOCKS5 TLS upgrade ignores caller timeout in hackney46    https://osv.dev/vulnerability/EEF-CVE-2026-470714748    EEF-CVE-2026-47076 (MEDIUM)49    aka: CVE-2026-47076, GHSA-pj7v-xfvx-wmjq50    SSRF allowlist bypass via percent-encoded host in hackney51    https://osv.dev/vulnerability/EEF-CVE-2026-470765253    EEF-CVE-2026-47069 (LOW)54    aka: CVE-2026-47069, GHSA-mp55-p8c9-rfw255    CRLF injection in cookie domain/path options in hackney56    https://osv.dev/vulnerability/EEF-CVE-2026-470695758    EEF-CVE-2026-47075 (MEDIUM)59    aka: CVE-2026-47075, GHSA-j9wq-vxxc-94wf60    CR/LF injection in query parameter in hackney61    https://osv.dev/vulnerability/EEF-CVE-2026-4707562  idna 6.1.163  interactive_cmd 0.1.464  jason 1.4.565  legendary_core 8.12.066  libcluster 3.5.067  linguist 0.3.268  metrics 1.0.169  mime 2.0.770  mimerl 1.5.071  nerves 2.0.0-pre.272  nerves_discovery 0.1.573  nerves_logging 0.2.474  nerves_runtime 0.13.1375  nerves_system_bbb 2.30.276  nerves_system_br 1.34.477  nerves_system_mangopi_mq_pro 0.17.278  nerves_system_qemu_aarch64 0.4.279  nerves_system_rpi0 2.1.280  nerves_system_rpi4 2.1.281  nerves_system_rpi5 2.1.282  nerves_system_trellis 0.5.083  nerves_system_x86_64 1.34.284  nerves_toolchain_aarch64_nerves_linux_gnu 15.3.185  nerves_toolchain_armv6_nerves_linux_gnueabihf 15.3.186  nerves_toolchain_armv7_nerves_linux_gnueabihf 15.3.187  nerves_toolchain_riscv64_nerves_linux_gnu 15.3.188  nerves_toolchain_x86_64_nerves_linux_musl 15.3.189  nerves_uevent 0.1.790  nimble_parsec 1.4.291  oban 2.19.492  parse_trans 3.4.193  phoenix 1.7.2494  phoenix_ecto 4.7.095  phoenix_html 3.3.496  phoenix_live_view 0.18.18 VULNERABLE!97    EEF-CVE-2026-64941 (LOW)98    aka: CVE-2026-64941, GHSA-36m4-rm57-3prf99    Open redirect in Phoenix.LiveView.validate_local_url!/2 via ASCII tab, LF and CR100    https://osv.dev/vulnerability/EEF-CVE-2026-64941101  phoenix_pubsub 2.3.0102  phoenix_template 1.0.4103  phoenix_view 2.0.4104  plug 1.20.3105  plug_cowboy 2.9.0106  plug_crypto 2.2.0107  postgrex 0.16.5 VULNERABLE!108    EEF-CVE-2026-32687 (HIGH)109    aka: CVE-2026-32687, GHSA-r73h-97w8-m54h110    SQL injection via channel name in Postgrex.Notifications.listen/3 and unlisten/3111    https://osv.dev/vulnerability/EEF-CVE-2026-32687112113    EEF-CVE-2026-58225 (LOW)114    aka: CVE-2026-58225, GHSA-4mw9-4qgj-m97w115    SQL injection via unescaped dollar-quote in Postgrex.Notifications reconnect replay causes notification denial of service116    https://osv.dev/vulnerability/EEF-CVE-2026-58225117  pow 1.0.39118  property_table 0.3.4119  ranch 2.3.0120  ring_logger 0.11.7121  shorter_maps 2.2.5122  ssl_verify_fun 1.1.7123  sweet_xml 0.7.5124  tablet 0.3.3125  telemetry 1.4.2126  telemetry_metrics 0.6.2127  telemetry_poller 1.3.0128  toolshed 0.5.0129  uboot_env 1.0.2130  unicode_util_compat 0.7.1131  waffle 1.1.10132  websock 0.5.3133  websock_adapter 0.5.9134  yamerl 0.10.0135  yaml_elixir 2.12.2136* Getting legendary_core (Hex package)137* Getting nerves (Hex package)138* Getting ring_logger (Hex package)139* Getting toolshed (Hex package)140* Getting nerves_runtime (Hex package)141* Getting nerves_system_bbb (Hex package)142* Getting nerves_system_mangopi_mq_pro (Hex package)143* Getting nerves_system_qemu_aarch64 (Hex package)144* Getting nerves_system_rpi0 (Hex package)145* Getting nerves_system_rpi4 (Hex package)146* Getting nerves_system_rpi5 (Hex package)147* Getting nerves_system_trellis (Hex package)148* Getting nerves_system_x86_64 (Hex package)149* Getting nerves_system_br (Hex package)150* Getting nerves_toolchain_x86_64_nerves_linux_musl (Hex package)151* Getting nerves_toolchain_armv7_nerves_linux_gnueabihf (Hex package)152* Getting nerves_toolchain_aarch64_nerves_linux_gnu (Hex package)153* Getting nerves_toolchain_armv6_nerves_linux_gnueabihf (Hex package)154* Getting nerves_toolchain_riscv64_nerves_linux_gnu (Hex package)155* Getting nerves_logging (Hex package)156* Getting nerves_uevent (Hex package)157* Getting uboot_env (Hex package)158* Getting elixir_make (Hex package)159* Getting property_table (Hex package)160* Getting circular_buffer (Hex package)161* Getting interactive_cmd (Hex package)162* Getting nerves_discovery (Hex package)163* Getting tablet (Hex package)164* Getting bamboo (Hex package)165* Getting bamboo_smtp (Hex package)166* Getting ecto_sql (Hex package)167* Getting ex_aws (Hex package)168* Getting ex_aws_s3 (Hex package)169* Getting ex_cldr (Hex package)170* Getting ex_prompt (Hex package)171* Getting ex_url (Hex package)172* Getting fun_with_flags (Hex package)173* Getting fun_with_flags_ui (Hex package)174* Getting gettext (Hex package)175* Getting jason (Hex package)176* Getting libcluster (Hex package)177* Getting linguist (Hex package)178* Getting mime (Hex package)179* Getting oban (Hex package)180* Getting phoenix (Hex package)181* Getting phoenix_ecto (Hex package)182* Getting phoenix_html (Hex package)183* Getting phoenix_live_view (Hex package)184* Getting phoenix_pubsub (Hex package)185* Getting phoenix_template (Hex package)186* Getting phoenix_view (Hex package)187* Getting plug_cowboy (Hex package)188* Getting postgrex (Hex package)189* Getting pow (Hex package)190* Getting shorter_maps (Hex package)191* Getting sweet_xml (Hex package)192* Getting telemetry_metrics (Hex package)193* Getting telemetry_poller (Hex package)194* Getting waffle (Hex package)195* Getting hackney (Hex package)196* Getting certifi (Hex package)197* Getting idna (Hex package)198* Getting metrics (Hex package)199* Getting mimerl (Hex package)200* Getting parse_trans (Hex package)201* Getting ssl_verify_fun (Hex package)202* Getting unicode_util_compat (Hex package)203* Getting telemetry (Hex package)204* Getting ecto (Hex package)205* Getting decimal (Hex package)206* Getting connection (Hex package)207* Getting db_connection (Hex package)208* Getting cowboy (Hex package)209* Getting cowboy_telemetry (Hex package)210* Getting plug (Hex package)211* Getting plug_crypto (Hex package)212* Getting cowlib (Hex package)213* Getting ranch (Hex package)214* Getting castore (Hex package)215* Getting websock_adapter (Hex package)216* Getting websock (Hex package)217* Getting yaml_elixir (Hex package)218* Getting yamerl (Hex package)219* Getting expo (Hex package)220* Getting nimble_parsec (Hex package)221* Getting cldr_utils (Hex package)222* Getting gen_smtp (Hex package)223Found packages with security advisories, see above for details224You have added/upgraded packages you could sponsor, run `mix hex.sponsor` to learn more225==> nerves_system_br226Generated nerves_system_br app227==> connection228Compiling 1 file (.ex)229     warning: using single-quoted strings to represent charlists is deprecated.230     Use ~c"" if you indeed want a charlist or use "" instead.231     You may run "mix format --migrate" to change all single-quoted232     strings to use the ~c sigil and fix this warning.233     │234 553 │         [{:data, [{'State', mod_state}]}]235     │                    ~236     │237     └─ lib/connection.ex:553:20238239     warning: using single-quoted strings to represent charlists is deprecated.240     Use ~c"" if you indeed want a charlist or use "" instead.241     You may run "mix format --migrate" to change all single-quoted242     strings to use the ~c sigil and fix this warning.243     │244 680 │     format = '** Generic server ~p terminating \n' ++245     │              ~246     │247     └─ lib/connection.ex:680:14248249     warning: using single-quoted strings to represent charlists is deprecated.250     Use ~c"" if you indeed want a charlist or use "" instead.251     You may run "mix format --migrate" to change all single-quoted252     strings to use the ~c sigil and fix this warning.253     │254 681 │       '** Last message in was ~p~n' ++ ## No last message255     │       ~256     │257     └─ lib/connection.ex:681:7258259     warning: using single-quoted strings to represent charlists is deprecated.260     Use ~c"" if you indeed want a charlist or use "" instead.261     You may run "mix format --migrate" to change all single-quoted262     strings to use the ~c sigil and fix this warning.263     │264 682 │       '** When Server state == ~p~n' ++265     │       ~266     │267     └─ lib/connection.ex:682:7268269     warning: using single-quoted strings to represent charlists is deprecated.270     Use ~c"" if you indeed want a charlist or use "" instead.271     You may run "mix format --migrate" to change all single-quoted272     strings to use the ~c sigil and fix this warning.273     │274 683 │       '** Reason for termination == ~n** ~p~n'275     │       ~276     │277     └─ lib/connection.ex:683:7278279Generated connection app280==> mime281Compiling 1 file (.ex)282Generated mime app283==> circular_buffer284Compiling 1 file (.ex)285Generated circular_buffer app286==> nerves_compatibility_test287===> Analyzing applications...288===> Compiling gen_smtp289     ┌─ src/gen_smtp_server_session.erl:290     │291 265 │  		case catch Module:code_change(OldVsn, State#state.callbackstate, Extra) of292     │  		     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.293Compile directive 'nowarn_deprecated_catch' can be used to suppress294warnings in selected modules.295296     ┌─ src/gen_smtp_server_session.erl:297     │298 389 │  							crypto:start(), % ensure crypto is started, we're gonna need it299     │  							╰── Warning: crypto:start/0 is deprecated; use application:start(crypto) instead300301302    ┌─ src/gen_smtp_application.erl:303    │304 12 │  start_ok(_App, {error, {already_started, _App}}) -> ok;305    │           ╰── Warning: variable '_App' is bound multiple times in this pattern.306If you mean to ignore this value, use '_' or307a different underscore-prefixed name308309    ┌─ src/gen_smtp_application.erl:310    │311 12 │  start_ok(_App, {error, {already_started, _App}}) -> ok;312    │                                           ╰── Warning: variable '_App' is bound multiple times in this pattern.313If you mean to ignore this value, use '_' or314a different underscore-prefixed name315316317    ┌─ src/smtp_util.erl:318    │319 73 │  	Bin = crypto:hmac(md5, Key, Data),320    │  	      ╰── Warning: crypto:hmac/3 is removed; use crypto:mac/4 instead321322323     ┌─ src/gen_smtp_server.erl:324     │325 225 │  	lists:foreach(fun(#listener{socket=S}) -> catch smtp_socket:close(S) end, State#state.listeners),326     │  	                                          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.327Compile directive 'nowarn_deprecated_catch' can be used to suppress328warnings in selected modules.329330331     ┌─ src/gen_smtp_client.erl:332     │333 620 │  			case catch smtp_socket:to_ssl_client(Socket, proplists:get_value(tls_options, Options, []), 5000) of334     │  			     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.335Compile directive 'nowarn_deprecated_catch' can be used to suppress336warnings in selected modules.337338339==> plug_crypto340Compiling 5 files (.ex)341Generated plug_crypto app342==> nerves_compatibility_test343===> Analyzing applications...344===> Compiling mimerl345==> ex_prompt346Compiling 1 file (.ex)347Generated ex_prompt app348==> nerves_compatibility_test349===> Analyzing applications...350===> Compiling ranch351==> ssl_verify_fun352Compiling 7 files (.erl)353Generated ssl_verify_fun app354==> tablet355Compiling 2 files (.ex)356Generated tablet app357==> elixir_make358Compiling 8 files (.ex)359Generated elixir_make app360==> nerves_logging361 CC kmsg_tailer.o362 LD kmsg_tailer363Compiling 5 files (.ex)364Generated nerves_logging app365warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"366  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2367  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1368  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5369  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2370  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4371  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2372373==> castore374Compiling 1 file (.ex)375Generated castore app376==> nerves_compatibility_test377===> Analyzing applications...378===> Compiling cowlib379==> nerves_discovery380Compiling 5 files (.ex)381Generated nerves_discovery app382==> ring_logger383Compiling 7 files (.ex)384Generated ring_logger app385==> decimal386Compiling 4 files (.ex)387      warning: this clause of defp check_dbl_min_max/1 is never used (or it will always fail/warn when invoked)388      │389 2842 │   defp check_dbl_min_max(%Decimal{coef: :inf} = infinity), do: infinity390      │        ~391      │392      └─ lib/decimal.ex:2842:8: Decimal.check_dbl_min_max/1393394Generated decimal app395==> jason396Compiling 10 files (.ex)397Generated jason app398==> interactive_cmd399Compiling 1 file (.ex)400Generated interactive_cmd app401==> nerves402Compiling 65 files (.ex)403    warning: redefining module Mix.Tasks.Nerves.Init (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Mix.Tasks.Nerves.Init.beam)404    │405  6 │ defmodule Mix.Tasks.Nerves.Init do406    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~407    │408    └─ lib/mix/tasks/nerves.init.ex:6: Mix.Tasks.Nerves.Init (module)409410    warning: redefining module Nerves (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.beam)411    │412  6 │ defmodule Nerves do413    │ ~~~~~~~~~~~~~~~~~~~414    │415    └─ lib/nerves.ex:6: Nerves (module)416417    warning: redefining module Nerves.ArtifactResolver (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.ArtifactResolver.beam)418    │419  5 │ defmodule Nerves.ArtifactResolver do420    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~421    │422    └─ lib/nerves/artifact_resolver.ex:5: Nerves.ArtifactResolver (module)423424    warning: redefining module Nerves.BuildAction.AppModes (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.BuildAction.AppModes.beam)425    │426  6 │ defmodule Nerves.BuildAction.AppModes do427    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~428    │429    └─ lib/nerves/build_action/app_modes.ex:6: Nerves.BuildAction.AppModes (module)430431    warning: redefining module Nerves.BuildAction.CheckExecutables (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.BuildAction.CheckExecutables.beam)432    │433  5 │ defmodule Nerves.BuildAction.CheckExecutables do434    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~435    │436    └─ lib/nerves/build_action/check_executables.ex:5: Nerves.BuildAction.CheckExecutables (module)437438    warning: redefining module Nerves.BuildAction.Erlinit (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.BuildAction.Erlinit.beam)439    │440  8 │ defmodule Nerves.BuildAction.Erlinit do441    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~442    │443    └─ lib/nerves/build_action/erlinit.ex:8: Nerves.BuildAction.Erlinit (module)444445    warning: redefining module Nerves.BuildAction.Firmware (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.BuildAction.Firmware.beam)446    │447  5 │ defmodule Nerves.BuildAction.Firmware do448    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~449    │450    └─ lib/nerves/build_action/firmware.ex:5: Nerves.BuildAction.Firmware (module)451452    warning: redefining module Nerves.BuildAction.IExStartupCheck (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.BuildAction.IExStartupCheck.beam)453    │454  7 │ defmodule Nerves.BuildAction.IExStartupCheck do455    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~456    │457    └─ lib/nerves/build_action/iex_startup_check.ex:7: Nerves.BuildAction.IExStartupCheck (module)458459    warning: redefining module Nerves.BuildAction.NervesV1System (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.BuildAction.NervesV1System.beam)460    │461  5 │ defmodule Nerves.BuildAction.NervesV1System do462    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~463    │464    └─ lib/nerves/build_action/nerves_v1_system.ex:5: Nerves.BuildAction.NervesV1System (module)465466    warning: redefining module Nerves.BuildAction.NervesV1Toolchain (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.BuildAction.NervesV1Toolchain.beam)467    │468  5 │ defmodule Nerves.BuildAction.NervesV1Toolchain do469    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~470    │471    └─ lib/nerves/build_action/nerves_v1_toolchain.ex:5: Nerves.BuildAction.NervesV1Toolchain (module)472473    warning: redefining module Nerves.BuildAction.Rootfs (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.BuildAction.Rootfs.beam)474    │475  5 │ defmodule Nerves.BuildAction.Rootfs do476    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~477    │478    └─ lib/nerves/build_action/rootfs.ex:5: Nerves.BuildAction.Rootfs (module)479480    warning: redefining module Nerves.BuildAction.SortApps (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.BuildAction.SortApps.beam)481    │482  6 │ defmodule Nerves.BuildAction.SortApps do483    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~484    │485    └─ lib/nerves/build_action/sort_apps.ex:6: Nerves.BuildAction.SortApps (module)486487    warning: redefining module Nerves.BuildAction.StripAll (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.BuildAction.StripAll.beam)488    │489  5 │ defmodule Nerves.BuildAction.StripAll do490    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~491    │492    └─ lib/nerves/build_action/strip_all.ex:5: Nerves.BuildAction.StripAll (module)493494    warning: redefining module Nerves.BuildAction.Trimmer (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.BuildAction.Trimmer.beam)495    │496  5 │ defmodule Nerves.BuildAction.Trimmer do497    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~498    │499    └─ lib/nerves/build_action/trimmer.ex:5: Nerves.BuildAction.Trimmer (module)500501    warning: redefining module Nerves.BuildPlan (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.BuildPlan.beam)502    │503  5 │ defmodule Nerves.BuildPlan do504    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~505    │506    └─ lib/nerves/build_plan.ex:5: Nerves.BuildPlan (module)507508    warning: redefining module Nerves.BuildPlan.Checks (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.BuildPlan.Checks.beam)509    │510  5 │ defmodule Nerves.BuildPlan.Checks do511    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~512    │513    └─ lib/nerves/build_plan/checks.ex:5: Nerves.BuildPlan.Checks (module)514515    warning: redefining module Nerves.Container (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.Container.beam)516    │517  6 │ defmodule Nerves.Container do518    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~519    │520    └─ lib/nerves/container.ex:6: Nerves.Container (module)521522    warning: redefining module Nerves.Fingerprint (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.Fingerprint.beam)523    │524  5 │ defmodule Nerves.Fingerprint do525    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~526    │527    └─ lib/nerves/fingerprint.ex:5: Nerves.Fingerprint (module)528529    warning: redefining module Nerves.MixPackage (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.MixPackage.beam)530    │531  5 │ defmodule Nerves.MixPackage do532    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~533    │534    └─ lib/nerves/mix_package.ex:5: Nerves.MixPackage (module)535536    warning: redefining module Nerves.Paths (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.Paths.beam)537    │538  5 │ defmodule Nerves.Paths do539    │ ~~~~~~~~~~~~~~~~~~~~~~~~~540    │541    └─ lib/nerves/paths.ex:5: Nerves.Paths (module)542543    warning: redefining module Nerves.TargetTuple (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.TargetTuple.beam)544    │545  5 │ defmodule Nerves.TargetTuple do546    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~547    │548    └─ lib/nerves/target_tuple.ex:5: Nerves.TargetTuple (module)549550Generated nerves app551==> nerves_toolchain_armv6_nerves_linux_gnueabihf552Compiling 1 file (.ex)553Generated nerves_toolchain_armv6_nerves_linux_gnueabihf app554==> nerves_system_rpi0555Generated nerves_system_rpi0 app556==> nimble_parsec557Compiling 4 files (.ex)558Generated nimble_parsec app559==> nerves_compatibility_test560===> Analyzing applications...561===> Compiling unicode_util_compat562===> Analyzing applications...563===> Compiling idna564===> Analyzing applications...565===> Compiling telemetry566==> libcluster567Compiling 13 files (.ex)568Generated libcluster app569==> telemetry_metrics570Compiling 7 files (.ex)571     warning: unused require Logger572     │573 391 │   require Logger574     │   ~575     │576     └─ lib/telemetry_metrics.ex:391:3577578Generated telemetry_metrics app579==> nerves_compatibility_test580===> Analyzing applications...581===> Compiling telemetry_poller582==> ecto583Compiling 56 files (.ex)584     warning: fun/1 is not valid in typespecs. Either specify fun() or use (... -> return) instead585     │586 297 │   @spec insert(587     │   ~~~~~~~~~~~~~588     │589     └─ lib/ecto/multi.ex:297: Ecto.Multi (module)590591     warning: fun/1 is not valid in typespecs. Either specify fun() or use (... -> return) instead592     │593 338 │   @spec update(t, name, Changeset.t() | fun(Changeset.t()), Keyword.t()) :: t594     │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~595     │596     └─ lib/ecto/multi.ex:338: Ecto.Multi (module)597598     warning: fun/1 is not valid in typespecs. Either specify fun() or use (... -> return) instead599     │600 371 │   @spec insert_or_update(t, name, Changeset.t() | fun(Changeset.t()), Keyword.t()) :: t601     │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~602     │603     └─ lib/ecto/multi.ex:371: Ecto.Multi (module)604605     warning: fun/1 is not valid in typespecs. Either specify fun() or use (... -> return) instead606     │607 417 │   @spec delete(608     │   ~~~~~~~~~~~~~609     │610     └─ lib/ecto/multi.ex:417: Ecto.Multi (module)611612     warning: fun/1 is not valid in typespecs. Either specify fun() or use (... -> return) instead613     │614 451 │   @spec one(615     │   ~~~~~~~~~~616     │617     └─ lib/ecto/multi.ex:451: Ecto.Multi (module)618619     warning: fun/1 is not valid in typespecs. Either specify fun() or use (... -> return) instead620     │621 482 │   @spec all(622     │   ~~~~~~~~~~623     │624     └─ lib/ecto/multi.ex:482: Ecto.Multi (module)625626     warning: fun/1 is not valid in typespecs. Either specify fun() or use (... -> return) instead627     │628 513 │   @spec exists?(629     │   ~~~~~~~~~~~~~~630     │631     └─ lib/ecto/multi.ex:513: Ecto.Multi (module)632633     warning: fun/1 is not valid in typespecs. Either specify fun() or use (... -> return) instead634     │635 623 │   @spec insert_all(636     │   ~~~~~~~~~~~~~~~~~637     │638     └─ lib/ecto/multi.ex:623: Ecto.Multi (module)639640     warning: fun/1 is not valid in typespecs. Either specify fun() or use (... -> return) instead641     │642 667 │   @spec update_all(643     │   ~~~~~~~~~~~~~~~~~644     │645     └─ lib/ecto/multi.ex:667: Ecto.Multi (module)646647     warning: fun/1 is not valid in typespecs. Either specify fun() or use (... -> return) instead648     │649 712 │   @spec delete_all(t, name, Ecto.Queryable.t() | fun(Ecto.Queryable.t()), Keyword.t()) :: t650     │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~651     │652     └─ lib/ecto/multi.ex:712: Ecto.Multi (module)653654     warning: BadStructError.exception/1 is undefined (module BadStructError is not available or is yet to be defined). Make sure the module name is correct and has been specified in full (or that an alias has been defined)655     │656 347 │         raise BadStructError, struct: struct, term: data657     │         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~658     │659     └─ lib/ecto/repo/queryable.ex:347: Ecto.Repo.Queryable.process/4660661Generated ecto app662==> db_connection663Compiling 18 files (.ex)664Generated db_connection app665==> nerves_compatibility_test666===> Analyzing applications...667===> Compiling cowboy668==> expo669Compiling 2 files (.erl)670Compiling 22 files (.ex)671Generated expo app672==> gettext673Compiling 18 files (.ex)674     warning: unused require Gettext.Macros675     │676 594 │   require Gettext.Macros677     │   ~678     │679     └─ lib/gettext.ex:594:3680681     warning: Kernel.ParallelCompiler.async/1 is deprecated. Use `pmap/2` instead682     │683 426 │               Kernel.ParallelCompiler.async(fn ->684     │                                       ~685     │686     └─ lib/gettext/compiler.ex:426:39: Gettext.Compiler.compile_po_files/3687688     warning: the following clause is redundant:689690         defp ensure_empty_msgstr!(%Expo.Message.Plural{} = message)691692     it has type:693694         dynamic(%Expo.Message.Plural{})695696     previous clauses have already matched on the following types:697698         %Expo.Message.Singular{}699         %Expo.Message.Plural{}700701     │702 391 │   defp ensure_empty_msgstr!(%Message.Plural{} = message) do703     │        ~704     │705     └─ lib/gettext/extractor.ex:391:8: Gettext.Extractor.ensure_empty_msgstr!/1706707Generated gettext app708==> phoenix_pubsub709Compiling 12 files (.ex)710Generated phoenix_pubsub app711==> nerves_compatibility_test712===> Analyzing applications...713===> Compiling certifi714==> cldr_utils715Compiling 12 files (.ex)716Generated cldr_utils app717==> ex_cldr718warning: in order to compile .yrl files, you must add "compilers: [:yecc] ++ Mix.compilers()" to the "def project" section of ex_cldr's mix.exs719Compiling 1 file (.yrl)720warning: in order to compile .xrl files, you must add "compilers: [:leex] ++ Mix.compilers()" to the "def project" section of ex_cldr's mix.exs721Compiling 1 file (.xrl)722Compiling 2 files (.erl)723Compiling 41 files (.ex)724    warning: unused require Logger725    │726 89 │     require Logger727    │     ~728    │729    └─ lib/cldr/install.ex:89:5730731    warning: using single-quoted strings to represent charlists is deprecated.732    Use ~c"" if you indeed want a charlist or use "" instead.733    You may run "mix format --migrate" to change all single-quoted734    strings to use the ~c sigil and fix this warning.735    │736 41 │   defmacro sigil_l(locale_name, 'u') do737    │                                 ~738    │739    └─ lib/cldr/language_tag/sigil.ex:41:33740741    warning: unused require Logger742    │743  8 │   require Logger744    │   ~745    │746    └─ lib/cldr/locale/cache.ex:8:3747748    warning: unused require Cldr.Backend.Compiler749    │750 47 │   require Cldr.Backend.Compiler751    │   ~752    │753    └─ lib/cldr.ex:47:3754755Compiling lib/cldr/validity/subdivision.ex (it's taking more than 10s)756Compiling lib/cldr/validity/language.ex (it's taking more than 10s)757     warning: the following clause is redundant:758759         defp encode_key("x0", private_use) when is_list(private_use)760761     it has type:762763         binary(), dynamic(empty_list() or non_empty_list(term(), term()))764765     previous clauses have already matched on the following types:766767         term(), empty_list() or non_empty_list(term(), term())768         term(), {term()}769         term(), {term(), term()}770         term(), {term(), term(), term()}771772     │773 113 │   defp encode_key("x0", private_use) when is_list(private_use) do774     │        ~775     │776     └─ lib/cldr/validity/t.ex:113:8: Cldr.Validity.T.encode_key/2777778    warning: the following clause is redundant:779780        def normalize(nil)781782    it has type:783784        nil785786    previous clauses have already matched on the following types:787788        binary()789        atom()790791    │792 36 │   def normalize(nil) do793    │       ~794    │795    └─ lib/cldr/validity/script.ex:36:7: Cldr.Validity.Script.normalize/1796797     warning: the following clause will never match:798799         {:error, {exception, reason}} ->800801     it is expected to match on type:802803         dynamic(false)804805     type warning found at:806     │807 137 │       {:error, {exception, reason}} ->808     │       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~809     │810     └─ lib/cldr/config/rbnf_config.ex:137: Cldr.Rbnf.Config.for_locale/1811812     warning: the 1st pattern in clause will never match:813814         nil815816     because it is expected to receive type:817818         dynamic(bitstring())819820     hint: defimpl for BitString requires its callbacks to match exclusively on bitstring()821822     type warning found at:823     │824 335 │     def to_string(nil) do825     │     ~~~~~~~~~~~~~~~~~~~~~826     │827     └─ lib/cldr/language_tag.ex:335: Cldr.LanguageTag.Chars.BitString.to_string/1828829Generated ex_cldr app830==> ex_url831Compiling 12 files (.ex)832    warning: variable "territory" is unused (if the variable is not meant to be used, prefix it with an underscore)833    │834 70 │     defp parse_phone_number(number, territory \\ nil) do835    │                                     ~~~~~~~~~836    │837    └─ lib/url/tel.ex:70:37: URL.Tel.parse_phone_number/2838839    warning: variable "format" is unused (if the variable is not meant to be used, prefix it with an underscore)840    │841 74 │     defp format(%__MODULE__{tel: tel}, format \\ :international) do842    │                                        ~~~~~~843    │844    └─ lib/url/tel.ex:74:40: URL.Tel.format/2845846    warning: function phone_context/1 is unused847    │848 78 │     defp phone_context(_) do849    │          ~850    │851    └─ lib/url/tel.ex:78:10: URL.Tel (module)852853    warning: function parse_phone_number/2 is unused854    │855 70 │     defp parse_phone_number(number, territory \\ nil) do856    │          ~857    │858    └─ lib/url/tel.ex:70:10: URL.Tel (module)859860    warning: function gettext_territory/0 is unused861    │862 98 │     defp gettext_territory do863    │          ~864    │865    └─ lib/url/tel.ex:98:10: URL.Tel (module)866867    warning: function get_territory/0 is unused868    │869 83 │   defp get_territory do870    │        ~871    │872    └─ lib/url/tel.ex:83:8: URL.Tel (module)873874    warning: function cldr_territory/0 is unused875    │876 88 │     defp cldr_territory do877    │          ~878    │879    └─ lib/url/tel.ex:88:10: URL.Tel (module)880881Generated ex_url app882==> linguist883Compiling 5 files (.ex)884Generating Linguist.Cldr for 2 locales named [:en, :und] with a default locale named :en885Generated linguist app886==> plug887Compiling 1 file (.erl)888Compiling 42 files (.ex)889Generated plug app890==> phoenix_html891Compiling 9 files (.ex)892    warning: comparison between distinct types found:893894        id == nil895896    given types:897898        dynamic(not false and not nil and not binary()) == nil899900    where "id" was given the types:901902        # type: dynamic(not false and not nil)903        # from: lib/phoenix_html/form_data.ex:92:8904        id = Keyword.get(opts, :id) || name905906        # type: dynamic(not false and not nil and not binary())907        # from: lib/phoenix_html/form_data.ex:94:12908        is_binary(id)909910    While Elixir can compare across all types, you are comparing across types which are always disjoint, and the result is either always true or always false911912    type warning found at:913    │914 94 │     unless is_binary(id) or is_nil(id) do915    │     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~916    │917    └─ lib/phoenix_html/form_data.ex:94: Phoenix.HTML.FormData.Atom.to_form/2918919    warning: the 1st pattern in clause will never match:920921        60922923    because it is expected to receive type:924925        dynamic(empty_list() or non_empty_list(term(), term()))926927    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())928929    type warning found at:930    │931 56 │   def to_iodata(?<), do: "&lt;"932    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~933    │934    └─ lib/phoenix_html/safe.ex:56: Phoenix.HTML.Safe.List.to_iodata/1935936    warning: the 1st pattern in clause will never match:937938        62939940    because it is expected to receive type:941942        dynamic(empty_list() or non_empty_list(term(), term()))943944    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())945946    type warning found at:947    │948 57 │   def to_iodata(?>), do: "&gt;"949    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~950    │951    └─ lib/phoenix_html/safe.ex:57: Phoenix.HTML.Safe.List.to_iodata/1952953    warning: the 1st pattern in clause will never match:954955        38956957    because it is expected to receive type:958959        dynamic(empty_list() or non_empty_list(term(), term()))960961    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())962963    type warning found at:964    │965 58 │   def to_iodata(?&), do: "&amp;"966    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~967    │968    └─ lib/phoenix_html/safe.ex:58: Phoenix.HTML.Safe.List.to_iodata/1969970    warning: the 1st pattern in clause will never match:971972        34973974    because it is expected to receive type:975976        dynamic(empty_list() or non_empty_list(term(), term()))977978    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())979980    type warning found at:981    │982 59 │   def to_iodata(?"), do: "&quot;"983    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~984    │985    └─ lib/phoenix_html/safe.ex:59: Phoenix.HTML.Safe.List.to_iodata/1986987    warning: the 1st pattern in clause will never match:988989        39990991    because it is expected to receive type:992993        dynamic(empty_list() or non_empty_list(term(), term()))994995    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())996997    type warning found at:998    │999 60 │   def to_iodata(?'), do: "&#39;"1000    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1001    │1002    └─ lib/phoenix_html/safe.ex:60: Phoenix.HTML.Safe.List.to_iodata/110031004    warning: the 1st pattern in clause will never match:10051006        {:safe, data}10071008    because it is expected to receive type:10091010        dynamic(empty_list() or non_empty_list(term(), term()))10111012    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())10131014    type warning found at:1015    │1016 76 │   def to_iodata({:safe, data}) do1017    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1018    │1019    └─ lib/phoenix_html/safe.ex:76: Phoenix.HTML.Safe.List.to_iodata/110201021    warning: the following clause is redundant:10221023        def to_iodata(other)10241025    it has type:10261027        dynamic(empty_list() or non_empty_list(term(), term()))10281029    previous clauses have already matched on the following types:10301031        non_empty_list(term(), term())1032        empty_list()10331034    │1035 80 │   def to_iodata(other) do1036    │       ~1037    │1038    └─ lib/phoenix_html/safe.ex:80:7: Phoenix.HTML.Safe.List.to_iodata/110391040    warning: the 1st pattern in clause will never match:10411042        h10431044    because it is expected to receive type:10451046        dynamic(empty_list() or non_empty_list(term(), term()))10471048    where "h" was given the type:10491050        # type: integer()1051        # from: lib/phoenix_html/safe.ex:62:251052        is_integer(h)10531054    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())10551056    type warning found at:1057    │1058 62 │   def to_iodata(h) when is_integer(h) and h <= 255 do1059    │                 ~1060    │1061    └─ lib/phoenix_html/safe.ex:62:17: Phoenix.HTML.Safe.List.to_iodata/110621063    warning: the 1st pattern in clause will never match:10641065        h10661067    because it is expected to receive type:10681069        dynamic(empty_list() or non_empty_list(term(), term()))10701071    where "h" was given the type:10721073        # type: integer()1074        # from: lib/phoenix_html/safe.ex:66:251075        is_integer(h)10761077    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())10781079    type warning found at:1080    │1081 66 │   def to_iodata(h) when is_integer(h) do1082    │                 ~1083    │1084    └─ lib/phoenix_html/safe.ex:66:17: Phoenix.HTML.Safe.List.to_iodata/110851086    warning: the 1st pattern in clause will never match:10871088        h10891090    because it is expected to receive type:10911092        dynamic(empty_list() or non_empty_list(term(), term()))10931094    where "h" was given the type:10951096        # type: binary()1097        # from: lib/phoenix_html/safe.ex:72:251098        is_binary(h)10991100    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())11011102    type warning found at:1103    │1104 72 │   def to_iodata(h) when is_binary(h) do1105    │                 ~1106    │1107    └─ lib/phoenix_html/safe.ex:72:17: Phoenix.HTML.Safe.List.to_iodata/111081109Generated phoenix_html app1110==> phoenix_template1111Compiling 4 files (.ex)1112     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 operator1113     │1114 505 │       <<prefix::binary-size(prefix_size), ^suffix::binary>> -> prefix1115     │                             ~1116     │1117     └─ lib/phoenix/template.ex:505:29: Phoenix.Template.unsuffix/211181119Generated phoenix_template app1120==> phoenix_view1121Compiling 1 file (.ex)1122     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 operator1123     │1124 655 │       <<prefix::binary-size(prefix_size), ^suffix::binary>> -> prefix1125     │                             ~1126     │1127     └─ lib/phoenix_view.ex:655:29: Phoenix.View.unsuffix/211281129Generated phoenix_view app1130warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"1131  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21132  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11133  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51134  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21135  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41136  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/211371138==> postgrex1139Compiling 64 files (.ex)1140    warning: the variable "positions_bytes" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator1141    │1142 52 │     <<positions::binary-size(positions_bytes), remaining_data::binary>> = rest1143    │                              ~1144    │1145    └─ lib/postgrex/extensions/tsvector.ex:52:30: Postgrex.Extensions.TSVector.decode_tsvector_values/111461147    warning: the variable "rest_size" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator1148    │1149 98 │           <<data::size(rest_size)>> = rest1150    │                        ~1151    │1152    └─ lib/postgrex/messages.ex:98:24: Postgrex.Messages.parse/311531154    warning: unused require Postgrex.Messages1155    │1156 55 │   require Postgrex.Messages1157    │   ~1158    │1159    └─ lib/postgrex/query.ex:55:311601161      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 operator1162      │1163 3201 │       <<body::binary(size), rest::binary>> ->1164      │                      ~1165      │1166      └─ lib/postgrex/protocol.ex:3201:22: Postgrex.Protocol.msg_decode/111671168    warning: the variable "last_pos" (context Postgrex.Extensions.BitString) is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator1169    │1170 16 │         <<binary::binary-size(last_pos), last::bits>> = val1171    │         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1172    │1173    └─ lib/postgrex/extensions/bit_string.ex:16: Postgrex.DefaultTypes."Elixir.Postgrex.Extensions.BitString"/111741175Compiling lib/postgrex/default_types.ex (it's taking more than 10s)1176      warning: the following clause will never match:11771178          {:error, %Postgrex.Error{} = err, s, buffer} ->11791180      because it attempts to match on the result of:11811182          msg_send(%{s | buffer: nil}, msgs, buffer)11831184      which has type:11851186          dynamic(:ok or {:disconnect, term(), term()})11871188      type warning found at:1189      │1190 1128 │       {:error, %Postgrex.Error{} = err, s, buffer} ->1191      │       ~1192      │1193      └─ lib/postgrex/protocol.ex:1128:7: Postgrex.Protocol.handle_simple/311941195      warning: the following clause will never match:11961197          {:error, %Postgrex.Error{} = err, s, buffer} ->11981199      because it attempts to match on the result of:12001201          msg_send(%{s | buffer: nil}, msgs, buffer)12021203      which has type:12041205          dynamic(:ok or {:disconnect, term(), term()})12061207      type warning found at:1208      │1209 1238 │       {:error, %Postgrex.Error{} = err, s, buffer} ->1210      │       ~1211      │1212      └─ lib/postgrex/protocol.ex:1238:7: Postgrex.Protocol.handle_streaming/212131214      warning: a struct for Postgrex.Query is expected on struct update:12151216          %Postgrex.Query{1217            query1218            | param_oids: param_oids,1219              param_formats: param_formats,1220              param_types: param_types1221          }12221223      but got type:12241225          dynamic()12261227      where "query" was given the type:12281229          # type: dynamic()1230          # from: lib/postgrex/protocol.ex:1637:411231          query12321233      when defining the variable "query", you must also pattern match on "%Postgrex.Query{}"12341235      type warning found at:1236      │1237 1640 │       query = %Query{1238      │               ~1239      │1240      └─ lib/postgrex/protocol.ex:1640:15: Postgrex.Protocol.describe_params/312411242      warning: a struct for Postgrex.Query is expected on struct update:12431244          %Postgrex.Query{1245            query1246            | ref: make_ref(),1247              types: types,1248              columns: nil,1249              result_oids: nil,1250              result_formats: [],1251              result_types: nil1252          }12531254      but got type:12551256          dynamic()12571258      where "query" was given the type:12591260          # type: dynamic()1261          # from: lib/postgrex/protocol.ex:1668:411262          query12631264      when defining the variable "query", you must also pattern match on "%Postgrex.Query{}"12651266      type warning found at:1267      │1268 1669 │     query = %Query{1269      │             ~1270      │1271      └─ lib/postgrex/protocol.ex:1669:13: Postgrex.Protocol.describe_result/412721273      warning: a struct for Postgrex.Query is expected on struct update:12741275          %Postgrex.Query{1276            query1277            | ref: make_ref(),1278              types: types,1279              columns: columns,1280              result_oids: result_oids,1281              result_formats: result_formats,1282              result_types: result_types1283          }12841285      but got type:12861287          dynamic()12881289      where "query" was given the type:12901291          # type: dynamic()1292          # from: lib/postgrex/protocol.ex:1682:411293          query12941295      when defining the variable "query", you must also pattern match on "%Postgrex.Query{}"12961297      type warning found at:1298      │1299 1685 │       query = %Query{1300      │               ~1301      │1302      └─ lib/postgrex/protocol.ex:1685:15: Postgrex.Protocol.describe_result/413031304      warning: the following clause will never match:13051306          {:error, %Postgrex.Error{} = err, s, buffer} ->13071308      because it attempts to match on the result of:13091310          msg_send(%{s | buffer: nil}, msgs, buffer)13111312      which has type:13131314          dynamic(:ok or {:disconnect, term(), term()})13151316      type warning found at:1317      │1318 2865 │       {:error, %Postgrex.Error{} = err, s, buffer} ->1319      │       ~1320      │1321      └─ lib/postgrex/protocol.ex:2865:7: Postgrex.Protocol.handle_transaction/313221323Generated postgrex app1324warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"1325  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21326  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11327  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51328  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21329  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41330  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/213311332==> ecto_sql1333Compiling 25 files (.ex)1334    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 operator1335    │1336 93 │       <<_, unquoted::binary-size(size), _>> = quoted1337    │                                  ~1338    │1339    └─ lib/ecto/adapters/postgres/connection.ex:93:34: Ecto.Adapters.Postgres.Connection.strip_quotes/113401341     warning: unused require Ecto.Query1342     │1343 140 │   require Ecto.Query1344     │   ~1345     │1346     └─ lib/ecto/adapters/tds.ex:140:313471348     warning: unused require Logger1349     │1350 139 │   require Logger1351     │   ~1352     │1353     └─ lib/ecto/adapters/tds.ex:139:313541355     warning: unused require Ecto.Query1356     │1357 107 │   require Ecto.Query1358     │   ~1359     │1360     └─ lib/ecto/migrator.ex:107:313611362      warning: this clause of defp validate_index_opts!/1 is never used (or it will always fail/warn when invoked)1363      │1364 1558 │   defp validate_index_opts!(opts), do: opts1365      │        ~1366      │1367      └─ lib/ecto/migration.ex:1558:8: Ecto.Migration.validate_index_opts!/113681369      warning: this clause of defp drop_reference_if_exists_expr/3 is never used (or it will always fail/warn when invoked)1370      │1371 1732 │     defp drop_reference_if_exists_expr(_, _, _),1372      │          ~1373      │1374      └─ lib/ecto/adapters/postgres/connection.ex:1732:10: Ecto.Adapters.Postgres.Connection.drop_reference_if_exists_expr/313751376     warning: List.zip/1 is deprecated. Use Enum.zip/1 instead1377     │1378 681 │       |> List.zip()1379     │               ~1380     │1381     └─ lib/ecto/adapters/sql.ex:681:15: Ecto.Adapters.SQL.format_table/11382     └─ lib/ecto/adapters/sql.ex:712:15: Ecto.Adapters.SQL.cells/213831384Generated ecto_sql app1385==> fun_with_flags1386Compiling 21 files (.ex)1387    warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1388    │1389 28 │     Logger.warn "FunWithFlags: couldn't load flag '#{flag_name}' from storage, falling back to stale cached value from ETS"1390    │            ~1391    │1392    └─ lib/fun_with_flags/store.ex:28:12: FunWithFlags.Store.try_to_use_the_cached_value/313931394Generated fun_with_flags app1395warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"1396  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21397  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11398  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51399  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21400  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41401  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/214021403==> oban1404Compiling 61 files (.ex)1405     warning: struct MyXQL.Error is undefined (module MyXQL.Error is not available or is yet to be defined)1406     │1407 123 │     error in [DBConnection.ConnectionError, Postgrex.Error, MyXQL.Error] ->1408     │           ~1409     │1410     └─ lib/oban/peers/database.ex:123:11: Oban.Peers.Database.handle_info/214111412     warning: struct MyXQL.Error is undefined (module MyXQL.Error is not available or is yet to be defined)1413     │1414 158 │     error in [DBConnection.ConnectionError, Postgrex.Error, MyXQL.Error] ->1415     │           ~1416     │1417     └─ lib/oban/repo.ex:158:11: Oban.Repo.transaction/414181419Generated oban app1420warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"1421  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21422  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11423  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51424  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21425  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41426  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/214271428==> phoenix_ecto1429Compiling 7 files (.ex)1430Generated phoenix_ecto app1431==> nerves_compatibility_test1432===> Analyzing applications...1433===> Compiling parse_trans1434==> uboot_env1435Compiling 5 files (.ex)1436Generated uboot_env app1437==> shorter_maps1438Compiling 1 file (.ex)1439     warning: using single-quoted strings to represent charlists is deprecated.1440     Use ~c"" if you indeed want a charlist or use "" instead.1441     You may run "mix format --migrate" to change all single-quoted1442     strings to use the ~c sigil and fix this warning.1443     │1444 192 │   defp modifier([mod], _default) when mod in 'as', do: mod1445     │                                              ~1446     │1447     └─ lib/shorter_maps.ex:192:4614481449    warning: the following clause will never match:14501451        {:error, step, reason} ->14521453    it is expected to match on type:14541455        none()14561457    type warning found at:1458    │1459 84 │       {:error, step, reason} ->1460    │       ~1461    │1462    └─ lib/shorter_maps.ex:84:7: ShorterMaps.do_sigil_m/314631464Generated shorter_maps app1465==> nerves_compatibility_test1466===> Analyzing applications...1467===> Compiling metrics1468===> Analyzing applications...1469===> Compiling hackney1470    ┌─ src/hackney_pool.erl:1471    │1472 80 │    case catch gen_server:call(Pool, {checkout, Connection, Requester, RequestRef}, CheckoutTimeout) of1473    │         ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1474Compile directive 'nowarn_deprecated_catch' can be used to suppress1475warnings in selected modules.14761477     ┌─ src/hackney_pool.erl:1478     │1479 101 │                _ = catch hackney_connection:close(Connection, Socket),1480     │                    ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1481Compile directive 'nowarn_deprecated_catch' can be used to suppress1482warnings in selected modules.14831484     ┌─ src/hackney_pool.erl:1485     │1486 130 │            _ = catch hackney_connection:close(Connection, Socket),1487     │                ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1488Compile directive 'nowarn_deprecated_catch' can be used to suppress1489warnings in selected modules.14901491     ┌─ src/hackney_pool.erl:1492     │1493 134 │        catch hackney_connection:close(Connection, Socket),1494     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1495Compile directive 'nowarn_deprecated_catch' can be used to suppress1496warnings in selected modules.14971498     ┌─ src/hackney_pool.erl:1499     │1500 319 │                 catch Transport:close(Socket),1501     │                 ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1502Compile directive 'nowarn_deprecated_catch' can be used to suppress1503warnings in selected modules.15041505     ┌─ src/hackney_pool.erl:1506     │1507 417 │                case catch hackney_connection:controlling_process(Connection, S, self()) of1508     │                     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1509Compile directive 'nowarn_deprecated_catch' can be used to suppress1510warnings in selected modules.15111512     ┌─ src/hackney_pool.erl:1513     │1514 423 │                    _ = catch hackney_connection:close(Connection, S),1515     │                        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1516Compile directive 'nowarn_deprecated_catch' can be used to suppress1517warnings in selected modules.15181519     ┌─ src/hackney_pool.erl:1520     │1521 444 │        catch hackney_connection:close(Connection, Socket),1522     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1523Compile directive 'nowarn_deprecated_catch' can be used to suppress1524warnings in selected modules.15251526     ┌─ src/hackney_pool.erl:1527     │1528 543 │            _ = (catch hackney_connection:close(Connection, Socket)),1529     │                 ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1530Compile directive 'nowarn_deprecated_catch' can be used to suppress1531warnings in selected modules.153215331534     ┌─ src/hackney_happy.erl:1535     │1536 101 │    catch exit(Pid, normal),1537     │    ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1538Compile directive 'nowarn_deprecated_catch' can be used to suppress1539warnings in selected modules.15401541     ┌─ src/hackney_happy.erl:1542     │1543 128 │    case (catch inet_res:getbyname(Hostname, Type)) of1544     │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1545Compile directive 'nowarn_deprecated_catch' can be used to suppress1546warnings in selected modules.15471548     ┌─ src/hackney_happy.erl:1549     │1550 151 │    case (catch inet:gethostbyname(Hostname, InetType)) of1551     │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1552Compile directive 'nowarn_deprecated_catch' can be used to suppress1553warnings in selected modules.155415551556     ┌─ src/hackney_trace.erl:1557     │1558 132 │    (catch io:format(standard_io, "stop trace at ~s~n", [format_timestamp(Timestamp)])),1559     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1560Compile directive 'nowarn_deprecated_catch' can be used to suppress1561warnings in selected modules.15621563     ┌─ src/hackney_trace.erl:1564     │1565 139 │    (catch io:format(Fd, "stop trace at ~s~n", [format_timestamp(Timestamp)])),1566     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1567Compile directive 'nowarn_deprecated_catch' can be used to suppress1568warnings in selected modules.15691570     ┌─ src/hackney_trace.erl:1571     │1572 146 │    (catch io:format(Fd, "stop trace at ~s~n", [format_timestamp(Timestamp)])),1573     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1574Compile directive 'nowarn_deprecated_catch' can be used to suppress1575warnings in selected modules.15761577     ┌─ src/hackney_trace.erl:1578     │1579 147 │    (catch file:close(Fd)),1580     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1581Compile directive 'nowarn_deprecated_catch' can be used to suppress1582warnings in selected modules.15831584     ┌─ src/hackney_trace.erl:1585     │1586 154 │    (catch io:format(Fd, "stop trace at ~s~n", [format_timestamp(Timestamp)])),1587     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1588Compile directive 'nowarn_deprecated_catch' can be used to suppress1589warnings in selected modules.15901591     ┌─ src/hackney_trace.erl:1592     │1593 155 │    (catch file:close(Fd)),1594     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1595Compile directive 'nowarn_deprecated_catch' can be used to suppress1596warnings in selected modules.15971598     ┌─ src/hackney_trace.erl:1599     │1600 161 │    (catch print_hackney_trace(Fd, Sev, Timestamp, Who,1601     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1602Compile directive 'nowarn_deprecated_catch' can be used to suppress1603warnings in selected modules.16041605     ┌─ src/hackney_trace.erl:1606     │1607 165 │    (catch print_trace(Fd, Event)),1608     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1609Compile directive 'nowarn_deprecated_catch' can be used to suppress1610warnings in selected modules.161116121613     ┌─ src/hackney_manager.erl:1614     │1615 114 │    catch ets:delete(?MODULE, Ref),1616     │    ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1617Compile directive 'nowarn_deprecated_catch' can be used to suppress1618warnings in selected modules.16191620     ┌─ src/hackney_manager.erl:1621     │1622 125 │            catch Transport:close(Socket);1623     │            ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1624Compile directive 'nowarn_deprecated_catch' can be used to suppress1625warnings in selected modules.16261627     ┌─ src/hackney_manager.erl:1628     │1629 129 │            catch Handler:checkin(SocketRef, Socket)1630     │            ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1631Compile directive 'nowarn_deprecated_catch' can be used to suppress1632warnings in selected modules.16331634     ┌─ src/hackney_manager.erl:1635     │1636 133 │          catch Transport:controlling_process(Socket, self()),1637     │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1638Compile directive 'nowarn_deprecated_catch' can be used to suppress1639warnings in selected modules.16401641     ┌─ src/hackney_manager.erl:1642     │1643 134 │          catch Transport:close(Socket),1644     │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1645Compile directive 'nowarn_deprecated_catch' can be used to suppress1646warnings in selected modules.16471648     ┌─ src/hackney_manager.erl:1649     │1650 227 │            catch ets:delete(?MODULE, Ref),1651     │            ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1652Compile directive 'nowarn_deprecated_catch' can be used to suppress1653warnings in selected modules.16541655     ┌─ src/hackney_manager.erl:1656     │1657 255 │    catch ets:delete(?MODULE, Ref),1658     │    ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1659Compile directive 'nowarn_deprecated_catch' can be used to suppress1660warnings in selected modules.16611662     ┌─ src/hackney_manager.erl:1663     │1664 269 │          catch Transport:controlling_process(Socket, self()),1665     │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1666Compile directive 'nowarn_deprecated_catch' can be used to suppress1667warnings in selected modules.16681669     ┌─ src/hackney_manager.erl:1670     │1671 270 │          catch Transport:close(Socket),1672     │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1673Compile directive 'nowarn_deprecated_catch' can be used to suppress1674warnings in selected modules.16751676     ┌─ src/hackney_manager.erl:1677     │1678 383 │          catch unlink(Stream),1679     │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1680Compile directive 'nowarn_deprecated_catch' can be used to suppress1681warnings in selected modules.16821683     ┌─ src/hackney_manager.erl:1684     │1685 416 │        catch ets:delete(?REFS, Ref),1686     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1687Compile directive 'nowarn_deprecated_catch' can be used to suppress1688warnings in selected modules.16891690     ┌─ src/hackney_manager.erl:1691     │1692 426 │        catch ets:delete(?REFS, Ref),1693     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1694Compile directive 'nowarn_deprecated_catch' can be used to suppress1695warnings in selected modules.16961697     ┌─ src/hackney_manager.erl:1698     │1699 470 │    case catch hackney_stream:start_link(StreamTo2, Ref, Client) of1700     │         ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1701Compile directive 'nowarn_deprecated_catch' can be used to suppress1702warnings in selected modules.17031704     ┌─ src/hackney_manager.erl:1705     │1706 487 │           catch Transport:close(Socket),1707     │           ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1708Compile directive 'nowarn_deprecated_catch' can be used to suppress1709warnings in selected modules.17101711     ┌─ src/hackney_manager.erl:1712     │1713 543 │        catch ets:delete(?REFS, Ref),1714     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1715Compile directive 'nowarn_deprecated_catch' can be used to suppress1716warnings in selected modules.17171718     ┌─ src/hackney_manager.erl:1719     │1720 544 │        catch ets:delete(?MODULE, Ref),1721     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1722Compile directive 'nowarn_deprecated_catch' can be used to suppress1723warnings in selected modules.17241725     ┌─ src/hackney_manager.erl:1726     │1727 559 │        catch ets:delete(?REFS, Ref),1728     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1729Compile directive 'nowarn_deprecated_catch' can be used to suppress1730warnings in selected modules.17311732     ┌─ src/hackney_manager.erl:1733     │1734 560 │        catch ets:delete(?MODULE, Ref),1735     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1736Compile directive 'nowarn_deprecated_catch' can be used to suppress1737warnings in selected modules.17381739     ┌─ src/hackney_manager.erl:1740     │1741 618 │        catch unlink(Pid),1742     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1743Compile directive 'nowarn_deprecated_catch' can be used to suppress1744warnings in selected modules.174517461747==> bamboo1748Compiling 26 files (.ex)1749     warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1750     │1751 276 │     Logger.warn(1752     │            ~1753     │1754     └─ lib/bamboo/mailer.ex:276:12: Bamboo.Mailer.parse_opts/217551756    warning: redefining @doc attribute previously set at line 33.17571758    Please remove the duplicate docs. If instead you want to override a previously defined @doc, attach the @doc attribute to a function head (the function signature not followed by any do-block). For example:17591760        @doc """1761        new docs1762        """1763        def deliver(...)17641765    │1766 39 │   @doc "Adds email to `Bamboo.SentEmail`"1767    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1768    │1769    └─ lib/bamboo/adapters/local_adapter.ex:39: Bamboo.LocalAdapter.deliver/217701771    error: module Plug.Router is not loaded and could not be found. This may be happening because the module you are trying to load directly or indirectly depends on the current module1772    │1773  2 │   use Plug.Router1774    │   ^^^^^^^^^^^^^^^1775    │1776    └─ lib/bamboo/plug/sent_email_viewer/email_preview_plug.ex:2: Bamboo.SentEmailViewerPlug (module)17771778    error: module Plug.Router is not loaded and could not be found. This may be happening because the module you are trying to load directly or indirectly depends on the current module1779    │1780  2 │   use Plug.Router1781    │   ^^^^^^^^^^^^^^^1782    │1783    └─ lib/bamboo/plug/sent_email_api/sent_email_api_plug.ex:2: Bamboo.SentEmailApiPlug (module)178417851786== Compilation error in file lib/bamboo/plug/sent_email_viewer/email_preview_plug.ex ==1787** (CompileError) lib/bamboo/plug/sent_email_viewer/email_preview_plug.ex: cannot compile module Bamboo.SentEmailViewerPlug (errors have been logged)1788    (elixir 1.20.3) expanding macro: Kernel.use/11789    lib/bamboo/plug/sent_email_viewer/email_preview_plug.ex:2: Bamboo.SentEmailViewerPlug (module)1790could not compile dependency :bamboo, "mix compile" failed. Errors may have been logged above. You can recompile this dependency with "mix deps.compile bamboo --force", update it with "mix deps.update bamboo" or clean it with "mix deps.clean bamboo"