feat: upgrade hocon to 0.40.0 which supports union type display name

This commit is contained in:
Zaiming (Stone) Shi 2023-11-10 08:52:52 +01:00
parent 8a4fba431e
commit 86110824eb
11 changed files with 11 additions and 12 deletions

View File

@ -30,7 +30,7 @@
{esockd, {git, "https://github.com/emqx/esockd", {tag, "5.9.7"}}}, {esockd, {git, "https://github.com/emqx/esockd", {tag, "5.9.7"}}},
{ekka, {git, "https://github.com/emqx/ekka", {tag, "0.15.16"}}}, {ekka, {git, "https://github.com/emqx/ekka", {tag, "0.15.16"}}},
{gen_rpc, {git, "https://github.com/emqx/gen_rpc", {tag, "3.2.1"}}}, {gen_rpc, {git, "https://github.com/emqx/gen_rpc", {tag, "3.2.1"}}},
{hocon, {git, "https://github.com/emqx/hocon.git", {tag, "0.39.19"}}}, {hocon, {git, "https://github.com/emqx/hocon.git", {tag, "0.40.0"}}},
{emqx_http_lib, {git, "https://github.com/emqx/emqx_http_lib.git", {tag, "0.5.3"}}}, {emqx_http_lib, {git, "https://github.com/emqx/emqx_http_lib.git", {tag, "0.5.3"}}},
{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"}}},

View File

@ -3316,7 +3316,7 @@ get_tombstone_map_value_type(Schema) ->
%% hoconsc:map_value_type(Schema) %% hoconsc:map_value_type(Schema)
?MAP(_Name, Union) = hocon_schema:field_schema(Schema, type), ?MAP(_Name, Union) = hocon_schema:field_schema(Schema, type),
%% TODO: violation of abstraction, fix hoconsc:union_members/1 %% TODO: violation of abstraction, fix hoconsc:union_members/1
?UNION(Members) = Union, ?UNION(Members, _) = Union,
Tombstone = tombstone(), Tombstone = tombstone(),
[Type, Tombstone] = hoconsc:union_members(Members), [Type, Tombstone] = hoconsc:union_members(Members),
Type. Type.

View File

@ -136,7 +136,7 @@ authz_fields() ->
[ [
{sources, {sources,
?HOCON( ?HOCON(
?ARRAY(?UNION(UnionMemberSelector)), ?ARRAY(hoconsc:union(UnionMemberSelector)),
#{ #{
default => [default_authz()], default => [default_authz()],
desc => ?DESC(sources), desc => ?DESC(sources),
@ -153,7 +153,7 @@ api_authz_fields() ->
[{sources, ?HOCON(?ARRAY(api_source_type()), #{desc => ?DESC(sources)})}]. [{sources, ?HOCON(?ARRAY(api_source_type()), #{desc => ?DESC(sources)})}].
api_source_type() -> api_source_type() ->
?UNION(api_authz_refs()). hoconsc:union(api_authz_refs()).
api_authz_refs() -> api_authz_refs() ->
lists:concat([api_source_refs(Mod) || Mod <- source_schema_mods()]). lists:concat([api_source_refs(Mod) || Mod <- source_schema_mods()]).

View File

@ -16,7 +16,6 @@
-module(emqx_authn_chains_SUITE). -module(emqx_authn_chains_SUITE).
-behaviour(hocon_schema).
-behaviour(emqx_authn_provider). -behaviour(emqx_authn_provider).
-compile(export_all). -compile(export_all).

View File

@ -292,7 +292,7 @@ hocon_schema_to_spec(?MAP(Name, Type), LocalModule) ->
}, },
SubRefs SubRefs
}; };
hocon_schema_to_spec(?UNION(Types), LocalModule) -> hocon_schema_to_spec(?UNION(Types, _DisplayName), LocalModule) ->
{OneOf, Refs} = lists:foldl( {OneOf, Refs} = lists:foldl(
fun(Type, {Acc, RefsAcc}) -> fun(Type, {Acc, RefsAcc}) ->
{Schema, SubRefs} = hocon_schema_to_spec(Type, LocalModule), {Schema, SubRefs} = hocon_schema_to_spec(Type, LocalModule),

View File

@ -978,7 +978,7 @@ fields("log") ->
})}, })},
{"file", {"file",
sc( sc(
?UNION([ hoconsc:union([
?R_REF("log_file_handler"), ?R_REF("log_file_handler"),
?MAP(handler_name, ?R_REF("log_file_handler")) ?MAP(handler_name, ?R_REF("log_file_handler"))
]), ]),

View File

@ -776,7 +776,7 @@ hocon_schema_to_spec(?MAP(Name, Type), LocalModule) ->
}, },
SubRefs SubRefs
}; };
hocon_schema_to_spec(?UNION(Types), LocalModule) -> hocon_schema_to_spec(?UNION(Types, _DisplayName), LocalModule) ->
{OneOf, Refs} = lists:foldl( {OneOf, Refs} = lists:foldl(
fun(Type, {Acc, RefsAcc}) -> fun(Type, {Acc, RefsAcc}) ->
{Schema, SubRefs} = hocon_schema_to_spec(Type, LocalModule), {Schema, SubRefs} = hocon_schema_to_spec(Type, LocalModule),

View File

@ -313,7 +313,7 @@ create_listener_schema(Opts) ->
], ],
Example = maps:remove(id, tcp_schema_example()), Example = maps:remove(id, tcp_schema_example()),
emqx_dashboard_swagger:schema_with_example( emqx_dashboard_swagger:schema_with_example(
?UNION(Schemas), hoconsc:union(Schemas),
Example#{name => <<"demo">>} Example#{name => <<"demo">>}
). ).

View File

@ -262,7 +262,7 @@ actions() ->
end. end.
qos() -> qos() ->
?UNION([emqx_schema:qos(), binary()]). hoconsc:union([emqx_schema:qos(), binary()]).
rule_engine_settings() -> rule_engine_settings() ->
[ [

View File

@ -72,7 +72,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.8", override: true}, {:snabbkaffe, github: "kafka4beam/snabbkaffe", tag: "1.0.8", override: true},
{:hocon, github: "emqx/hocon", tag: "0.39.19", override: true}, {:hocon, github: "emqx/hocon", tag: "0.40.0", override: true},
{:emqx_http_lib, github: "emqx/emqx_http_lib", tag: "0.5.3", override: true}, {:emqx_http_lib, github: "emqx/emqx_http_lib", tag: "0.5.3", 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"},

View File

@ -75,7 +75,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.8"}}} , {snabbkaffe, {git, "https://github.com/kafka4beam/snabbkaffe.git", {tag, "1.0.8"}}}
, {hocon, {git, "https://github.com/emqx/hocon.git", {tag, "0.39.19"}}} , {hocon, {git, "https://github.com/emqx/hocon.git", {tag, "0.40.0"}}}
, {emqx_http_lib, {git, "https://github.com/emqx/emqx_http_lib.git", {tag, "0.5.3"}}} , {emqx_http_lib, {git, "https://github.com/emqx/emqx_http_lib.git", {tag, "0.5.3"}}}
, {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"}}}