From bf6339ebf48f3f991ca0d4d74f75e2b3ea331182 Mon Sep 17 00:00:00 2001 From: Zhongwen Deng Date: Mon, 21 Mar 2022 14:02:26 +0800 Subject: [PATCH] chore: upgrade hocon to 0.26.3 to fix dialyzer warning --- apps/emqx/rebar.config | 2 +- apps/emqx/src/emqx_config_handler.erl | 22 +++++++++++----------- apps/emqx_prometheus/rebar.config | 2 +- mix.exs | 2 +- rebar.config | 2 +- 5 files changed, 15 insertions(+), 15 deletions(-) diff --git a/apps/emqx/rebar.config b/apps/emqx/rebar.config index f39a707b6..96190f7fb 100644 --- a/apps/emqx/rebar.config +++ b/apps/emqx/rebar.config @@ -19,7 +19,7 @@ , {esockd, {git, "https://github.com/emqx/esockd", {tag, "5.9.1"}}} , {ekka, {git, "https://github.com/emqx/ekka", {tag, "0.12.2"}}} , {gen_rpc, {git, "https://github.com/emqx/gen_rpc", {tag, "2.8.1"}}} - , {hocon, {git, "https://github.com/emqx/hocon.git", {tag, "0.26.1"}}} + , {hocon, {git, "https://github.com/emqx/hocon.git", {tag, "0.26.3"}}} , {pbkdf2, {git, "https://github.com/emqx/erlang-pbkdf2.git", {tag, "2.0.4"}}} , {recon, {git, "https://github.com/ferd/recon", {tag, "2.5.1"}}} , {snabbkaffe, {git, "https://github.com/kafka4beam/snabbkaffe.git", {tag, "0.18.0"}}} diff --git a/apps/emqx/src/emqx_config_handler.erl b/apps/emqx/src/emqx_config_handler.erl index 0282e5f8e..cfe29cecc 100644 --- a/apps/emqx/src/emqx_config_handler.erl +++ b/apps/emqx/src/emqx_config_handler.erl @@ -402,17 +402,7 @@ schema(SchemaModule, [RootKey | _]) -> {Field, Translations} = case lists:keyfind(bin(RootKey), 1, Roots) of {_, {Ref, ?REF(Ref)}} -> {Ref, ?R_REF(SchemaModule, Ref)}; - {_, {Name, Field0}} -> - case maps:take(translate_to, Field0) of - {TRs, Field1} -> - { - {Name, Field1}, - lists:foldl(fun(T, Acc) -> - Acc#{T => hocon_schema:translation(SchemaModule, T)} - end, #{}, TRs) - }; - error -> {{Name, Field0}, #{}} - end + {_, {Name, Field0}} -> parse_translations(Field0, Name, SchemaModule) end, #{ roots => [Field], @@ -420,6 +410,16 @@ schema(SchemaModule, [RootKey | _]) -> validations => hocon_schema:validations(SchemaModule) }. +parse_translations(#{translate_to := TRs } = Field, Name, SchemaModule) -> + { + {Name, maps:remove(translate_to, Field)}, + lists:foldl(fun(T, Acc) -> + Acc#{T => hocon_schema:translation(SchemaModule, T)} + end, #{}, TRs) + }; +parse_translations(Field, Name, _SchemaModule) -> + {{Name, Field}, #{}}. + load_prev_handlers() -> Handlers = application:get_env(emqx, ?MODULE, #{}), application:unset_env(emqx, ?MODULE), diff --git a/apps/emqx_prometheus/rebar.config b/apps/emqx_prometheus/rebar.config index 753cc41b5..86dd80add 100644 --- a/apps/emqx_prometheus/rebar.config +++ b/apps/emqx_prometheus/rebar.config @@ -4,7 +4,7 @@ [ {emqx, {path, "../emqx"}}, %% FIXME: tag this as v3.1.3 {prometheus, {git, "https://github.com/deadtrickster/prometheus.erl", {tag, "v4.8.1"}}}, - {hocon, {git, "https://github.com/emqx/hocon.git", {tag, "0.26.1"}}} + {hocon, {git, "https://github.com/emqx/hocon.git", {tag, "0.26.3"}}} ]}. {edoc_opts, [{preprocess, true}]}. diff --git a/mix.exs b/mix.exs index c0a663c94..abe92ecae 100644 --- a/mix.exs +++ b/mix.exs @@ -68,7 +68,7 @@ defmodule EMQXUmbrella.MixProject do # in conflict by emqtt and hocon {:getopt, "1.0.2", override: true}, {:snabbkaffe, github: "kafka4beam/snabbkaffe", tag: "0.18.0", override: true}, - {:hocon, github: "emqx/hocon", tag: "0.26.1", override: true}, + {:hocon, github: "emqx/hocon", tag: "0.26.3", override: true}, {:emqx_http_lib, github: "emqx/emqx_http_lib", tag: "0.4.1", override: true}, {:esasl, github: "emqx/esasl", tag: "0.2.0"}, {:jose, github: "potatosalad/erlang-jose", tag: "1.11.2"}, diff --git a/rebar.config b/rebar.config index 0e70c1777..d774206ac 100644 --- a/rebar.config +++ b/rebar.config @@ -66,7 +66,7 @@ , {system_monitor, {git, "https://github.com/ieQu1/system_monitor", {tag, "3.0.2"}}} , {getopt, "1.0.2"} , {snabbkaffe, {git, "https://github.com/kafka4beam/snabbkaffe.git", {tag, "0.18.0"}}} - , {hocon, {git, "https://github.com/emqx/hocon.git", {tag, "0.26.1"}}} + , {hocon, {git, "https://github.com/emqx/hocon.git", {tag, "0.26.3"}}} , {emqx_http_lib, {git, "https://github.com/emqx/emqx_http_lib.git", {tag, "0.4.1"}}} , {esasl, {git, "https://github.com/emqx/esasl", {tag, "0.2.0"}}} , {jose, {git, "https://github.com/potatosalad/erlang-jose", {tag, "1.11.2"}}}