feat: bump hocon to 0.27.5 to remove FROM_ENV
This commit is contained in:
parent
1ffb7f5f94
commit
6f1610257f
|
@ -29,7 +29,7 @@
|
||||||
{esockd, {git, "https://github.com/emqx/esockd", {tag, "5.9.1"}}},
|
{esockd, {git, "https://github.com/emqx/esockd", {tag, "5.9.1"}}},
|
||||||
{ekka, {git, "https://github.com/emqx/ekka", {tag, "0.12.4"}}},
|
{ekka, {git, "https://github.com/emqx/ekka", {tag, "0.12.4"}}},
|
||||||
{gen_rpc, {git, "https://github.com/emqx/gen_rpc", {tag, "2.8.1"}}},
|
{gen_rpc, {git, "https://github.com/emqx/gen_rpc", {tag, "2.8.1"}}},
|
||||||
{hocon, {git, "https://github.com/emqx/hocon.git", {tag, "0.27.4"}}},
|
{hocon, {git, "https://github.com/emqx/hocon.git", {tag, "0.27.5"}}},
|
||||||
{pbkdf2, {git, "https://github.com/emqx/erlang-pbkdf2.git", {tag, "2.0.4"}}},
|
{pbkdf2, {git, "https://github.com/emqx/erlang-pbkdf2.git", {tag, "2.0.4"}}},
|
||||||
{recon, {git, "https://github.com/ferd/recon", {tag, "2.5.1"}}},
|
{recon, {git, "https://github.com/ferd/recon", {tag, "2.5.1"}}},
|
||||||
{snabbkaffe, {git, "https://github.com/kafka4beam/snabbkaffe.git", {tag, "1.0.0"}}}
|
{snabbkaffe, {git, "https://github.com/kafka4beam/snabbkaffe.git", {tag, "1.0.0"}}}
|
||||||
|
|
|
@ -261,10 +261,10 @@ get_default_value([RootName | _] = KeyPath) ->
|
||||||
end.
|
end.
|
||||||
|
|
||||||
-spec get_raw(emqx_map_lib:config_key_path()) -> term().
|
-spec get_raw(emqx_map_lib:config_key_path()) -> term().
|
||||||
get_raw(KeyPath) -> emqx_hocon:remove_env_meta(do_get(?RAW_CONF, KeyPath)).
|
get_raw(KeyPath) -> hocon_tconf:remove_env_meta(do_get(?RAW_CONF, KeyPath)).
|
||||||
|
|
||||||
-spec get_raw(emqx_map_lib:config_key_path(), term()) -> term().
|
-spec get_raw(emqx_map_lib:config_key_path(), term()) -> term().
|
||||||
get_raw(KeyPath, Default) -> emqx_hocon:remove_env_meta(do_get(?RAW_CONF, KeyPath, Default)).
|
get_raw(KeyPath, Default) -> hocon_tconf:remove_env_meta(do_get(?RAW_CONF, KeyPath, Default)).
|
||||||
|
|
||||||
-spec put_raw(map()) -> ok.
|
-spec put_raw(map()) -> ok.
|
||||||
put_raw(Config) ->
|
put_raw(Config) ->
|
||||||
|
|
|
@ -19,13 +19,9 @@
|
||||||
|
|
||||||
-export([
|
-export([
|
||||||
format_path/1,
|
format_path/1,
|
||||||
check/2,
|
check/2
|
||||||
remove_env_meta/1
|
|
||||||
]).
|
]).
|
||||||
|
|
||||||
%% FIXME: move this to hoconsc.hrl
|
|
||||||
-define(FROM_ENV_VAR(Name, Value), {'$FROM_ENV_VAR', Name, Value}).
|
|
||||||
|
|
||||||
%% @doc Format hocon config field path to dot-separated string in iolist format.
|
%% @doc Format hocon config field path to dot-separated string in iolist format.
|
||||||
-spec format_path([atom() | string() | binary()]) -> iolist().
|
-spec format_path([atom() | string() | binary()]) -> iolist().
|
||||||
format_path([]) -> "";
|
format_path([]) -> "";
|
||||||
|
@ -55,66 +51,7 @@ check(SchemaModule, HoconText) ->
|
||||||
{error, Reason}
|
{error, Reason}
|
||||||
end.
|
end.
|
||||||
|
|
||||||
%% @doc remove FROM_ENV_VAR from value
|
|
||||||
remove_env_meta(Map) when is_map(Map) ->
|
|
||||||
remove_env_meta(maps:iterator(Map), #{});
|
|
||||||
remove_env_meta(Array) when is_list(Array) ->
|
|
||||||
[remove_env_meta(R) || R <- Array];
|
|
||||||
remove_env_meta(Value) ->
|
|
||||||
Value.
|
|
||||||
|
|
||||||
remove_env_meta(Iter, Map) ->
|
|
||||||
case maps:next(Iter) of
|
|
||||||
{K, ?FROM_ENV_VAR(_Env, Val), I} ->
|
|
||||||
remove_env_meta(I, Map#{K => Val});
|
|
||||||
{K, V, I} when is_binary(V) ->
|
|
||||||
remove_env_meta(I, Map#{K => V});
|
|
||||||
{K, V, I} ->
|
|
||||||
remove_env_meta(I, Map#{K => remove_env_meta(V)});
|
|
||||||
none ->
|
|
||||||
Map
|
|
||||||
end.
|
|
||||||
|
|
||||||
%% Ensure iolist()
|
%% Ensure iolist()
|
||||||
iol(B) when is_binary(B) -> B;
|
iol(B) when is_binary(B) -> B;
|
||||||
iol(A) when is_atom(A) -> atom_to_binary(A, utf8);
|
iol(A) when is_atom(A) -> atom_to_binary(A, utf8);
|
||||||
iol(L) when is_list(L) -> L.
|
iol(L) when is_list(L) -> L.
|
||||||
|
|
||||||
-ifdef(TEST).
|
|
||||||
-include_lib("eunit/include/eunit.hrl").
|
|
||||||
|
|
||||||
make_keys_test() ->
|
|
||||||
Seq = [
|
|
||||||
{
|
|
||||||
#{<<"k1">> => <<"v1">>},
|
|
||||||
#{<<"k1">> => <<"v1">>}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
#{<<"k1">> => ?FROM_ENV_VAR("V1", <<"v1">>)},
|
|
||||||
#{<<"k1">> => <<"v1">>}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
#{<<"k1">> => #{<<"k2">> => <<"v1">>}},
|
|
||||||
#{<<"k1">> => #{<<"k2">> => <<"v1">>}}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
#{<<"k1">> => #{<<"k2">> => ?FROM_ENV_VAR("V1", <<"v1">>)}},
|
|
||||||
#{<<"k1">> => #{<<"k2">> => <<"v1">>}}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
#{<<"k1">> => #{<<"k2">> => ?FROM_ENV_VAR("V1", <<"v1">>), <<"k3">> => <<"v3">>}},
|
|
||||||
#{<<"k1">> => #{<<"k2">> => <<"v1">>, <<"k3">> => <<"v3">>}}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
#{<<"k1">> => #{<<"k2">> => 1024}},
|
|
||||||
#{<<"k1">> => #{<<"k2">> => 1024}}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
#{<<"k1">> => #{<<"k2">> => ?FROM_ENV_VAR("V1", 1024)}},
|
|
||||||
#{<<"k1">> => #{<<"k2">> => 1024}}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
lists:foreach(fun({Data, Expect}) -> ?assertEqual(Expect, remove_env_meta(Data)) end, Seq),
|
|
||||||
ok.
|
|
||||||
|
|
||||||
-endif.
|
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
{emqx, {path, "../emqx"}},
|
{emqx, {path, "../emqx"}},
|
||||||
%% FIXME: tag this as v3.1.3
|
%% FIXME: tag this as v3.1.3
|
||||||
{prometheus, {git, "https://github.com/deadtrickster/prometheus.erl", {tag, "v4.8.1"}}},
|
{prometheus, {git, "https://github.com/deadtrickster/prometheus.erl", {tag, "v4.8.1"}}},
|
||||||
{hocon, {git, "https://github.com/emqx/hocon.git", {tag, "0.27.4"}}}
|
{hocon, {git, "https://github.com/emqx/hocon.git", {tag, "0.27.5"}}}
|
||||||
]}.
|
]}.
|
||||||
|
|
||||||
{edoc_opts, [{preprocess, true}]}.
|
{edoc_opts, [{preprocess, true}]}.
|
||||||
|
|
2
mix.exs
2
mix.exs
|
@ -68,7 +68,7 @@ defmodule EMQXUmbrella.MixProject do
|
||||||
# in conflict by emqtt and hocon
|
# in conflict by emqtt and hocon
|
||||||
{:getopt, "1.0.2", override: true},
|
{:getopt, "1.0.2", override: true},
|
||||||
{:snabbkaffe, github: "kafka4beam/snabbkaffe", tag: "1.0.0", override: true},
|
{:snabbkaffe, github: "kafka4beam/snabbkaffe", tag: "1.0.0", override: true},
|
||||||
{:hocon, github: "emqx/hocon", tag: "0.27.4", override: true},
|
{:hocon, github: "emqx/hocon", tag: "0.27.5", override: true},
|
||||||
{:emqx_http_lib, github: "emqx/emqx_http_lib", tag: "0.5.1", override: true},
|
{:emqx_http_lib, github: "emqx/emqx_http_lib", tag: "0.5.1", override: true},
|
||||||
{:esasl, github: "emqx/esasl", tag: "0.2.0"},
|
{:esasl, github: "emqx/esasl", tag: "0.2.0"},
|
||||||
{:jose, github: "potatosalad/erlang-jose", tag: "1.11.2"},
|
{:jose, github: "potatosalad/erlang-jose", tag: "1.11.2"},
|
||||||
|
|
|
@ -66,7 +66,7 @@
|
||||||
, {system_monitor, {git, "https://github.com/ieQu1/system_monitor", {tag, "3.0.3"}}}
|
, {system_monitor, {git, "https://github.com/ieQu1/system_monitor", {tag, "3.0.3"}}}
|
||||||
, {getopt, "1.0.2"}
|
, {getopt, "1.0.2"}
|
||||||
, {snabbkaffe, {git, "https://github.com/kafka4beam/snabbkaffe.git", {tag, "1.0.0"}}}
|
, {snabbkaffe, {git, "https://github.com/kafka4beam/snabbkaffe.git", {tag, "1.0.0"}}}
|
||||||
, {hocon, {git, "https://github.com/emqx/hocon.git", {tag, "0.27.4"}}}
|
, {hocon, {git, "https://github.com/emqx/hocon.git", {tag, "0.27.5"}}}
|
||||||
, {emqx_http_lib, {git, "https://github.com/emqx/emqx_http_lib.git", {tag, "0.5.1"}}}
|
, {emqx_http_lib, {git, "https://github.com/emqx/emqx_http_lib.git", {tag, "0.5.1"}}}
|
||||||
, {esasl, {git, "https://github.com/emqx/esasl", {tag, "0.2.0"}}}
|
, {esasl, {git, "https://github.com/emqx/esasl", {tag, "0.2.0"}}}
|
||||||
, {jose, {git, "https://github.com/potatosalad/erlang-jose", {tag, "1.11.2"}}}
|
, {jose, {git, "https://github.com/potatosalad/erlang-jose", {tag, "1.11.2"}}}
|
||||||
|
|
Loading…
Reference in New Issue