Просмотр исходного кода

Merge pull request #12422 from zhongwencool/upgrade-erlfmt-to-v1.3.0

feat: upgrade erlfmt to support maybe syntax
JianBo He 2 лет назад
Родитель
Сommit
0d5911d942
47 измененных файлов с 131 добавлено и 131 удалено
  1. 1 1
      apps/emqx/include/types.hrl
  2. 1 1
      apps/emqx/rebar.config
  3. 1 1
      apps/emqx/src/emqx_broker.erl
  4. 2 2
      apps/emqx/src/emqx_broker_helper.erl
  5. 6 6
      apps/emqx/src/emqx_channel.erl
  6. 7 7
      apps/emqx/src/emqx_cm.erl
  7. 1 1
      apps/emqx/src/emqx_cm_locker.erl
  8. 4 4
      apps/emqx/src/emqx_connection.erl
  9. 2 2
      apps/emqx/src/emqx_gc.erl
  10. 1 1
      apps/emqx/src/emqx_hooks.erl
  11. 6 6
      apps/emqx/src/emqx_maybe.erl
  12. 3 3
      apps/emqx/src/emqx_message.erl
  13. 4 4
      apps/emqx/src/emqx_mountpoint.erl
  14. 1 1
      apps/emqx/src/emqx_mqueue.erl
  15. 1 1
      apps/emqx/src/emqx_pd.erl
  16. 1 1
      apps/emqx/src/emqx_session.erl
  17. 1 1
      apps/emqx/src/emqx_stats.erl
  18. 2 2
      apps/emqx/src/emqx_sys.erl
  19. 8 8
      apps/emqx/src/emqx_types.erl
  20. 3 3
      apps/emqx/src/emqx_ws_connection.erl
  21. 4 4
      apps/emqx/test/emqx_listeners_SUITE.erl
  22. 4 4
      apps/emqx/test/emqx_proper_types.erl
  23. 1 1
      apps/emqx_exhook/src/emqx_exhook.app.src
  24. 8 8
      apps/emqx_exhook/src/emqx_exhook_handler.erl
  25. 8 8
      apps/emqx_exhook/test/props/prop_exhook_hooks.erl
  26. 3 3
      apps/emqx_ft/src/emqx_ft.erl
  27. 1 1
      apps/emqx_ft/src/emqx_ft_storage.erl
  28. 2 2
      apps/emqx_ft/src/emqx_ft_storage_fs_gc.erl
  29. 6 6
      apps/emqx_gateway/src/bhvrs/emqx_gateway_conn.erl
  30. 3 3
      apps/emqx_gateway_exproto/src/emqx_exproto_channel.erl
  31. 1 1
      apps/emqx_gateway_gbt32960/src/emqx_gateway_gbt32960.app.src
  32. 1 1
      apps/emqx_gateway_gbt32960/src/emqx_gbt32960_channel.erl
  33. 1 1
      apps/emqx_gateway_jt808/src/emqx_gateway_jt808.app.src
  34. 1 1
      apps/emqx_gateway_jt808/src/emqx_jt808_channel.erl
  35. 1 1
      apps/emqx_gateway_mqttsn/src/emqx_gateway_mqttsn.app.src
  36. 1 1
      apps/emqx_gateway_mqttsn/src/emqx_mqttsn_channel.erl
  37. 3 3
      apps/emqx_gateway_ocpp/src/emqx_ocpp_channel.erl
  38. 6 6
      apps/emqx_gateway_ocpp/src/emqx_ocpp_connection.erl
  39. 3 3
      apps/emqx_modules/src/emqx_delayed.erl
  40. 2 2
      apps/emqx_resource/src/emqx_resource_manager.erl
  41. 1 1
      apps/emqx_rule_engine/include/rule_engine.hrl
  42. 1 1
      apps/emqx_s3/src/emqx_s3.app.src
  43. 4 4
      apps/emqx_s3/src/emqx_s3.erl
  44. 6 6
      apps/emqx_utils/src/emqx_utils.erl
  45. 2 2
      apps/emqx_utils/test/emqx_utils_fs_SUITE.erl
  46. 1 1
      rebar.config
  47. BIN
      scripts/erlfmt

+ 1 - 1
apps/emqx/include/types.hrl

@@ -14,7 +14,7 @@
 %% limitations under the License.
 %%--------------------------------------------------------------------
 
--type maybe(T) :: undefined | T.
+-type option(T) :: undefined | T.
 
 -type startlink_ret() :: {ok, pid()} | ignore | {error, term()}.
 

+ 1 - 1
apps/emqx/rebar.config

@@ -71,7 +71,7 @@
     {statistics, true}
 ]}.
 
-{project_plugins, [erlfmt]}.
+{project_plugins, [{erlfmt, "1.3.0"}]}.
 
 {erlfmt, [
     {files, [

+ 1 - 1
apps/emqx/src/emqx_broker.erl

@@ -440,7 +440,7 @@ subscribed(SubId, Topic) when ?IS_SUBID(SubId) ->
     SubPid = emqx_broker_helper:lookup_subpid(SubId),
     ets:member(?SUBOPTION, {Topic, SubPid}).
 
--spec get_subopts(pid(), emqx_types:topic() | emqx_types:share()) -> maybe(emqx_types:subopts()).
+-spec get_subopts(pid(), emqx_types:topic() | emqx_types:share()) -> option(emqx_types:subopts()).
 get_subopts(SubPid, Topic) when is_pid(SubPid), ?IS_TOPIC(Topic) ->
     lookup_value(?SUBOPTION, {Topic, SubPid});
 get_subopts(SubId, Topic) when ?IS_SUBID(SubId) ->

+ 2 - 2
apps/emqx/src/emqx_broker_helper.erl

@@ -71,11 +71,11 @@ register_sub(SubPid, SubId) when is_pid(SubPid) ->
             error(subid_conflict)
     end.
 
--spec lookup_subid(pid()) -> maybe(emqx_types:subid()).
+-spec lookup_subid(pid()) -> option(emqx_types:subid()).
 lookup_subid(SubPid) when is_pid(SubPid) ->
     emqx_utils_ets:lookup_value(?SUBMON, SubPid).
 
--spec lookup_subpid(emqx_types:subid()) -> maybe(pid()).
+-spec lookup_subpid(emqx_types:subid()) -> option(pid()).
 lookup_subpid(SubId) ->
     emqx_utils_ets:lookup_value(?SUBID, SubId).
 

+ 6 - 6
apps/emqx/src/emqx_channel.erl

@@ -84,21 +84,21 @@
     %% MQTT ClientInfo
     clientinfo :: emqx_types:clientinfo(),
     %% MQTT Session
-    session :: maybe(emqx_session:t()),
+    session :: option(emqx_session:t()),
     %% Keepalive
-    keepalive :: maybe(emqx_keepalive:keepalive()),
+    keepalive :: option(emqx_keepalive:keepalive()),
     %% MQTT Will Msg
-    will_msg :: maybe(emqx_types:message()),
+    will_msg :: option(emqx_types:message()),
     %% MQTT Topic Aliases
     topic_aliases :: emqx_types:topic_aliases(),
     %% MQTT Topic Alias Maximum
-    alias_maximum :: maybe(map()),
+    alias_maximum :: option(map()),
     %% Authentication Data Cache
-    auth_cache :: maybe(map()),
+    auth_cache :: option(map()),
     %% Quota checkers
     quota :: emqx_limiter_container:container(),
     %% Timers
-    timers :: #{atom() => disabled | maybe(reference())},
+    timers :: #{atom() => disabled | option(reference())},
     %% Conn State
     conn_state :: conn_state(),
     %% Takeover

+ 7 - 7
apps/emqx/src/emqx_cm.erl

@@ -200,12 +200,12 @@ do_unregister_channel({_ClientId, ChanPid} = Chan) ->
     true.
 
 %% @doc Get info of a channel.
--spec get_chan_info(emqx_types:clientid()) -> maybe(emqx_types:infos()).
+-spec get_chan_info(emqx_types:clientid()) -> option(emqx_types:infos()).
 get_chan_info(ClientId) ->
     with_channel(ClientId, fun(ChanPid) -> get_chan_info(ClientId, ChanPid) end).
 
 -spec do_get_chan_info(emqx_types:clientid(), chan_pid()) ->
-    maybe(emqx_types:infos()).
+    option(emqx_types:infos()).
 do_get_chan_info(ClientId, ChanPid) ->
     Chan = {ClientId, ChanPid},
     try
@@ -215,7 +215,7 @@ do_get_chan_info(ClientId, ChanPid) ->
     end.
 
 -spec get_chan_info(emqx_types:clientid(), chan_pid()) ->
-    maybe(emqx_types:infos()).
+    option(emqx_types:infos()).
 get_chan_info(ClientId, ChanPid) ->
     wrap_rpc(emqx_cm_proto_v2:get_chan_info(ClientId, ChanPid)).
 
@@ -230,12 +230,12 @@ set_chan_info(ClientId, Info) when ?IS_CLIENTID(ClientId) ->
     end.
 
 %% @doc Get channel's stats.
--spec get_chan_stats(emqx_types:clientid()) -> maybe(emqx_types:stats()).
+-spec get_chan_stats(emqx_types:clientid()) -> option(emqx_types:stats()).
 get_chan_stats(ClientId) ->
     with_channel(ClientId, fun(ChanPid) -> get_chan_stats(ClientId, ChanPid) end).
 
 -spec do_get_chan_stats(emqx_types:clientid(), chan_pid()) ->
-    maybe(emqx_types:stats()).
+    option(emqx_types:stats()).
 do_get_chan_stats(ClientId, ChanPid) ->
     Chan = {ClientId, ChanPid},
     try
@@ -245,7 +245,7 @@ do_get_chan_stats(ClientId, ChanPid) ->
     end.
 
 -spec get_chan_stats(emqx_types:clientid(), chan_pid()) ->
-    maybe(emqx_types:stats()).
+    option(emqx_types:stats()).
 get_chan_stats(ClientId, ChanPid) ->
     wrap_rpc(emqx_cm_proto_v2:get_chan_stats(ClientId, ChanPid)).
 
@@ -325,7 +325,7 @@ takeover_session_end({ConnMod, ChanPid}) ->
     end.
 
 -spec pick_channel(emqx_types:clientid()) ->
-    maybe(pid()).
+    option(pid()).
 pick_channel(ClientId) ->
     case lookup_channels(ClientId) of
         [] ->

+ 1 - 1
apps/emqx/src/emqx_cm_locker.erl

@@ -32,7 +32,7 @@ start_link() ->
     ekka_locker:start_link(?MODULE).
 
 -spec trans(
-    maybe(emqx_types:clientid()),
+    option(emqx_types:clientid()),
     fun(([node()]) -> any())
 ) -> any().
 trans(undefined, Fun) ->

+ 4 - 4
apps/emqx/src/emqx_connection.erl

@@ -99,13 +99,13 @@
     %% Channel State
     channel :: emqx_channel:channel(),
     %% GC State
-    gc_state :: maybe(emqx_gc:gc_state()),
+    gc_state :: option(emqx_gc:gc_state()),
     %% Stats Timer
-    stats_timer :: disabled | maybe(reference()),
+    stats_timer :: disabled | option(reference()),
     %% Idle Timeout
     idle_timeout :: integer() | infinity,
     %% Idle Timer
-    idle_timer :: maybe(reference()),
+    idle_timer :: option(reference()),
     %% Zone name
     zone :: atom(),
     %% Listener Type and Name
@@ -121,7 +121,7 @@
     limiter_timer :: undefined | reference(),
 
     %% QUIC conn owner pid if in use.
-    quic_conn_pid :: maybe(pid())
+    quic_conn_pid :: option(pid())
 }).
 
 -record(retry, {

+ 2 - 2
apps/emqx/src/emqx_gc.erl

@@ -86,11 +86,11 @@ do_run([{K, N} | T], St) ->
     end.
 
 %% @doc Info of GC state.
--spec info(maybe(gc_state())) -> maybe(map()).
+-spec info(option(gc_state())) -> option(map()).
 info(?GCS(St)) -> St.
 
 %% @doc Reset counters to zero.
--spec reset(maybe(gc_state())) -> gc_state().
+-spec reset(option(gc_state())) -> gc_state().
 reset(?GCS(St)) ->
     ?GCS(do_reset(St)).
 

+ 1 - 1
apps/emqx/src/emqx_hooks.erl

@@ -76,7 +76,7 @@
 
 -record(callback, {
     action :: action(),
-    filter :: maybe(filter()),
+    filter :: option(filter()),
     priority :: integer()
 }).
 

+ 6 - 6
apps/emqx/src/emqx_maybe.erl

@@ -23,30 +23,30 @@
 -export([define/2]).
 -export([apply/2]).
 
--type t(T) :: maybe(T).
+-type t(T) :: option(T).
 -export_type([t/1]).
 
--spec to_list(maybe(A)) -> [A].
+-spec to_list(option(A)) -> [A].
 to_list(undefined) ->
     [];
 to_list(Term) ->
     [Term].
 
--spec from_list([A]) -> maybe(A).
+-spec from_list([A]) -> option(A).
 from_list([]) ->
     undefined;
 from_list([Term]) ->
     Term.
 
--spec define(maybe(A), B) -> A | B.
+-spec define(option(A), B) -> A | B.
 define(undefined, Term) ->
     Term;
 define(Term, _) ->
     Term.
 
 %% @doc Apply a function to a maybe argument.
--spec apply(fun((A) -> B), maybe(A)) ->
-    maybe(B).
+-spec apply(fun((A) -> B), option(A)) ->
+    option(B).
 apply(_Fun, undefined) ->
     undefined;
 apply(Fun, Term) when is_function(Fun) ->

+ 3 - 3
apps/emqx/src/emqx_message.erl

@@ -186,7 +186,7 @@ estimate_size(#message{topic = Topic, payload = Payload}) ->
     TopicLengthSize = 2,
     FixedHeaderSize + VarLenSize + TopicLengthSize + TopicSize + PacketIdSize + PayloadSize.
 
--spec id(emqx_types:message()) -> maybe(binary()).
+-spec id(emqx_types:message()) -> option(binary()).
 id(#message{id = Id}) -> Id.
 
 -spec qos(emqx_types:message()) -> emqx_types:qos().
@@ -229,7 +229,7 @@ get_flag(Flag, Msg) ->
 get_flag(Flag, #message{flags = Flags}, Default) ->
     maps:get(Flag, Flags, Default).
 
--spec get_flags(emqx_types:message()) -> maybe(map()).
+-spec get_flags(emqx_types:message()) -> option(map()).
 get_flags(#message{flags = Flags}) -> Flags.
 
 -spec set_flag(emqx_types:flag(), emqx_types:message()) -> emqx_types:message().
@@ -252,7 +252,7 @@ unset_flag(Flag, Msg = #message{flags = Flags}) ->
 set_headers(New, Msg = #message{headers = Old}) when is_map(New) ->
     Msg#message{headers = maps:merge(Old, New)}.
 
--spec get_headers(emqx_types:message()) -> maybe(map()).
+-spec get_headers(emqx_types:message()) -> option(map()).
 get_headers(Msg) -> Msg#message.headers.
 
 -spec get_header(term(), emqx_types:message()) -> term().

+ 4 - 4
apps/emqx/src/emqx_mountpoint.erl

@@ -32,7 +32,7 @@
 
 -type mountpoint() :: binary().
 
--spec mount(maybe(mountpoint()), Any) -> Any when
+-spec mount(option(mountpoint()), Any) -> Any when
     Any ::
         emqx_types:topic()
         | emqx_types:share()
@@ -47,7 +47,7 @@ mount(MountPoint, Msg = #message{topic = Topic}) when is_binary(Topic) ->
 mount(MountPoint, TopicFilters) when is_list(TopicFilters) ->
     [{prefix_maybe_share(MountPoint, Topic), SubOpts} || {Topic, SubOpts} <- TopicFilters].
 
--spec prefix_maybe_share(maybe(mountpoint()), Any) -> Any when
+-spec prefix_maybe_share(option(mountpoint()), Any) -> Any when
     Any ::
         emqx_types:topic()
         | emqx_types:share().
@@ -60,7 +60,7 @@ prefix_maybe_share(MountPoint, #share{group = Group, topic = Topic}) when
 ->
     #share{group = Group, topic = prefix_maybe_share(MountPoint, Topic)}.
 
--spec unmount(maybe(mountpoint()), Any) -> Any when
+-spec unmount(option(mountpoint()), Any) -> Any when
     Any ::
         emqx_types:topic()
         | emqx_types:share()
@@ -84,7 +84,7 @@ unmount_maybe_share(MountPoint, TopicFilter = #share{topic = Topic}) when
 ->
     TopicFilter#share{topic = unmount_maybe_share(MountPoint, Topic)}.
 
--spec replvar(maybe(mountpoint()), map()) -> maybe(mountpoint()).
+-spec replvar(option(mountpoint()), map()) -> option(mountpoint()).
 replvar(undefined, _Vars) ->
     undefined;
 replvar(MountPoint, Vars) ->

+ 1 - 1
apps/emqx/src/emqx_mqueue.erl

@@ -189,7 +189,7 @@ stats(#mqueue{max_len = MaxLen, dropped = Dropped} = MQ) ->
     [{len, len(MQ)}, {max_len, MaxLen}, {dropped, Dropped}].
 
 %% @doc Enqueue a message.
--spec in(message(), mqueue()) -> {maybe(message()), mqueue()}.
+-spec in(message(), mqueue()) -> {option(message()), mqueue()}.
 in(Msg = #message{qos = ?QOS_0}, MQ = #mqueue{store_qos0 = false}) ->
     {_Dropped = Msg, MQ};
 in(

+ 1 - 1
apps/emqx/src/emqx_pd.erl

@@ -48,7 +48,7 @@ get_counter(Key) ->
         Cnt -> Cnt
     end.
 
--spec inc_counter(key(), number()) -> maybe(number()).
+-spec inc_counter(key(), number()) -> option(number()).
 inc_counter(Key, Inc) ->
     put(Key, get_counter(Key) + Inc).
 

+ 1 - 1
apps/emqx/src/emqx_session.erl

@@ -135,7 +135,7 @@
 -type custom_timer_name() :: atom().
 
 -type message() :: emqx_types:message().
--type publish() :: {maybe(emqx_types:packet_id()), emqx_types:message()}.
+-type publish() :: {option(emqx_types:packet_id()), emqx_types:message()}.
 -type pubrel() :: {pubrel, emqx_types:packet_id()}.
 -type reply() :: publish() | pubrel().
 -type replies() :: [reply()] | reply().

+ 1 - 1
apps/emqx/src/emqx_stats.erl

@@ -62,7 +62,7 @@
 -record(update, {name, countdown, interval, func}).
 
 -record(state, {
-    timer :: maybe(reference()),
+    timer :: option(reference()),
     updates :: [#update{}],
     tick_ms :: timeout()
 }).

+ 2 - 2
apps/emqx/src/emqx_sys.erl

@@ -65,8 +65,8 @@
 -import(emqx_utils, [start_timer/2]).
 
 -record(state, {
-    heartbeat :: maybe(reference()),
-    ticker :: maybe(reference()),
+    heartbeat :: option(reference()),
+    ticker :: option(reference()),
     sysdescr :: binary()
 }).
 

+ 8 - 8
apps/emqx/src/emqx_types.erl

@@ -173,7 +173,7 @@
     atom() => term()
 }.
 -type clientinfo() :: #{
-    zone := maybe(zone()),
+    zone := option(zone()),
     protocol := protocol(),
     peerhost := peerhost(),
     sockport := non_neg_integer(),
@@ -181,9 +181,9 @@
     username := username(),
     is_bridge := boolean(),
     is_superuser := boolean(),
-    mountpoint := maybe(binary()),
-    ws_cookie => maybe(list()),
-    password => maybe(binary()),
+    mountpoint := option(binary()),
+    ws_cookie => option(list()),
+    password => option(binary()),
     auth_result => auth_result(),
     anonymous => boolean(),
     cn => binary(),
@@ -191,8 +191,8 @@
     atom() => term()
 }.
 -type clientid() :: binary() | atom().
--type username() :: maybe(binary()).
--type password() :: maybe(binary()).
+-type username() :: option(binary()).
+-type password() :: option(binary()).
 -type peerhost() :: inet:ip_address().
 -type peername() ::
     {inet:ip_address(), inet:port_number()}
@@ -222,8 +222,8 @@
 -type packet_id() :: 1..16#FFFF.
 -type alias_id() :: 0..16#FFFF.
 -type topic_aliases() :: #{
-    inbound => maybe(map()),
-    outbound => maybe(map())
+    inbound => option(map()),
+    outbound => option(map())
 }.
 -type properties() :: #{atom() => term()}.
 -type topic_filters() :: list({topic(), subopts()}).

+ 3 - 3
apps/emqx/src/emqx_ws_connection.erl

@@ -76,15 +76,15 @@
     %% Channel
     channel :: emqx_channel:channel(),
     %% GC State
-    gc_state :: maybe(emqx_gc:gc_state()),
+    gc_state :: option(emqx_gc:gc_state()),
     %% Postponed Packets|Cmds|Events
     postponed :: list(emqx_types:packet() | ws_cmd() | tuple()),
     %% Stats Timer
-    stats_timer :: disabled | maybe(reference()),
+    stats_timer :: disabled | option(reference()),
     %% Idle Timeout
     idle_timeout :: timeout(),
     %% Idle Timer
-    idle_timer :: maybe(reference()),
+    idle_timer :: option(reference()),
     %% Zone name
     zone :: atom(),
     %% Listener Type and Name

+ 4 - 4
apps/emqx/test/emqx_listeners_SUITE.erl

@@ -405,9 +405,9 @@ t_quic_update_opts(Config) ->
         %% Unable to connect with old SSL options, server's cert is signed by another CA.
         ?assertError(
             {transport_down, #{error := _, status := Status}} when
-                (Status =:= bad_certificate orelse
+                ((Status =:= bad_certificate orelse
                     Status =:= cert_untrusted_root orelse
-                    Status =:= handshake_failure),
+                    Status =:= handshake_failure)),
             ConnectFun(Host, Port, [
                 {cacertfile, filename:join(PrivDir, "ca.pem")} | ClientSSLOpts
             ])
@@ -553,9 +553,9 @@ t_quic_update_opts_fail(Config) ->
         %% Unable to connect with old SSL options, server's cert is signed by another CA.
         ?assertError(
             {transport_down, #{error := _, status := Status}} when
-                (Status =:= bad_certificate orelse
+                ((Status =:= bad_certificate orelse
                     Status =:= cert_untrusted_root orelse
-                    Status =:= handshake_failure),
+                    Status =:= handshake_failure)),
             ConnectFun(Host, Port, [
                 {cacertfile, filename:join(PrivDir, "ca.pem")} | ClientSSLOpts
             ])

+ 4 - 4
apps/emqx/test/emqx_proper_types.erl

@@ -114,8 +114,8 @@ clientinfo() ->
         {username, username()},
         {is_bridge, boolean()},
         {is_supuser, boolean()},
-        {mountpoint, maybe(utf8())},
-        {ws_cookie, maybe(list())}
+        {mountpoint, option(utf8())},
+        {ws_cookie, option(list())}
         % password,
         % auth_result,
         % anonymous,
@@ -496,7 +496,7 @@ pubsub() ->
 %% Basic Types
 %%--------------------------------------------------------------------
 
-maybe(T) ->
+option(T) ->
     oneof([undefined, T]).
 
 socktype() ->
@@ -522,7 +522,7 @@ clientid() ->
     utf8().
 
 username() ->
-    maybe(utf8()).
+    option(utf8()).
 
 properties() ->
     map(limited_latin_atom(), binary()).

+ 1 - 1
apps/emqx_exhook/src/emqx_exhook.app.src

@@ -1,7 +1,7 @@
 %% -*- mode: erlang -*-
 {application, emqx_exhook, [
     {description, "EMQX Extension for Hook"},
-    {vsn, "5.0.15"},
+    {vsn, "5.0.16"},
     {modules, []},
     {registered, []},
     {mod, {emqx_exhook_app, []}},

+ 8 - 8
apps/emqx_exhook/src/emqx_exhook_handler.erl

@@ -306,7 +306,7 @@ conninfo(
     #{
         node => stringfy(node()),
         clientid => ClientId,
-        username => maybe(Username),
+        username => option(Username),
         peerhost => ntoa(Peerhost),
         peerport => PeerPort,
         sockport => SockPort,
@@ -330,17 +330,17 @@ clientinfo(
     #{
         node => stringfy(node()),
         clientid => ClientId,
-        username => maybe(Username),
-        password => maybe(maps:get(password, ClientInfo, undefined)),
+        username => option(Username),
+        password => option(maps:get(password, ClientInfo, undefined)),
         peerhost => ntoa(PeerHost),
         peerport => PeerPort,
         sockport => SockPort,
         protocol => stringfy(Protocol),
-        mountpoint => maybe(Mountpoiont),
+        mountpoint => option(Mountpoiont),
         is_superuser => maps:get(is_superuser, ClientInfo, false),
         anonymous => maps:get(anonymous, ClientInfo, true),
-        cn => maybe(maps:get(cn, ClientInfo, undefined)),
-        dn => maybe(maps:get(dn, ClientInfo, undefined))
+        cn => option(maps:get(cn, ClientInfo, undefined)),
+        dn => option(maps:get(dn, ClientInfo, undefined))
     }.
 
 message(#message{
@@ -435,8 +435,8 @@ ntoa({0, 0, 0, 0, 0, 16#ffff, AB, CD}) ->
 ntoa(IP) ->
     list_to_binary(inet_parse:ntoa(IP)).
 
-maybe(undefined) -> <<>>;
-maybe(B) -> B.
+option(undefined) -> <<>>;
+option(B) -> B.
 
 %% @private
 stringfy(Term) when is_binary(Term) ->

+ 8 - 8
apps/emqx_exhook/test/props/prop_exhook_hooks.erl

@@ -509,8 +509,8 @@ ntoa({0, 0, 0, 0, 0, 16#ffff, AB, CD}) ->
 ntoa(IP) ->
     list_to_binary(inet_parse:ntoa(IP)).
 
-maybe(undefined) -> <<>>;
-maybe(B) -> B.
+option(undefined) -> <<>>;
+option(B) -> B.
 
 properties(undefined) ->
     [];
@@ -568,7 +568,7 @@ from_conninfo(ConnInfo) ->
     #{
         node => nodestr(),
         clientid => maps:get(clientid, ConnInfo),
-        username => maybe(maps:get(username, ConnInfo, <<>>)),
+        username => option(maps:get(username, ConnInfo, <<>>)),
         peerhost => peerhost(ConnInfo),
         peerport => peerport(ConnInfo),
         sockport => sockport(ConnInfo),
@@ -581,17 +581,17 @@ from_clientinfo(ClientInfo) ->
     #{
         node => nodestr(),
         clientid => maps:get(clientid, ClientInfo),
-        username => maybe(maps:get(username, ClientInfo, <<>>)),
-        password => maybe(maps:get(password, ClientInfo, <<>>)),
+        username => option(maps:get(username, ClientInfo, <<>>)),
+        password => option(maps:get(password, ClientInfo, <<>>)),
         peerhost => ntoa(maps:get(peerhost, ClientInfo)),
         peerport => maps:get(peerport, ClientInfo),
         sockport => maps:get(sockport, ClientInfo),
         protocol => stringfy(maps:get(protocol, ClientInfo)),
-        mountpoint => maybe(maps:get(mountpoint, ClientInfo, <<>>)),
+        mountpoint => option(maps:get(mountpoint, ClientInfo, <<>>)),
         is_superuser => maps:get(is_superuser, ClientInfo, false),
         anonymous => maps:get(anonymous, ClientInfo, true),
-        cn => maybe(maps:get(cn, ClientInfo, <<>>)),
-        dn => maybe(maps:get(dn, ClientInfo, <<>>))
+        cn => option(maps:get(cn, ClientInfo, <<>>)),
+        dn => option(maps:get(dn, ClientInfo, <<>>))
     }.
 
 from_message(Msg) ->

+ 3 - 3
apps/emqx_ft/src/emqx_ft.erl

@@ -218,7 +218,7 @@ do_on_file_command(TopicReplyData, FileId, Msg, FileCommand) ->
         [<<"fin">>, FinalSizeBin | MaybeChecksum] when length(MaybeChecksum) =< 1 ->
             ChecksumBin = emqx_maybe:from_list(MaybeChecksum),
             validate(
-                [{size, FinalSizeBin}, {{maybe, checksum}, ChecksumBin}],
+                [{size, FinalSizeBin}, {{option, checksum}, ChecksumBin}],
                 fun([FinalSize, FinalChecksum]) ->
                     on_fin(TopicReplyData, Msg, Transfer, FinalSize, FinalChecksum)
                 end
@@ -464,9 +464,9 @@ do_validate([{integrity, Payload, {Algo, Checksum}} | Rest], Parsed) ->
         Mismatch ->
             {error, {checksum_mismatch, binary:encode_hex(Mismatch)}}
     end;
-do_validate([{{maybe, _}, undefined} | Rest], Parsed) ->
+do_validate([{{option, _}, undefined} | Rest], Parsed) ->
     do_validate(Rest, [undefined | Parsed]);
-do_validate([{{maybe, T}, Value} | Rest], Parsed) ->
+do_validate([{{option, T}, Value} | Rest], Parsed) ->
     do_validate([{T, Value} | Rest], Parsed).
 
 parse_checksum(Checksum) when is_binary(Checksum) andalso byte_size(Checksum) =:= 64 ->

+ 1 - 1
apps/emqx_ft/src/emqx_ft_storage.erl

@@ -100,7 +100,7 @@
 -callback start(storage()) -> any().
 -callback stop(storage()) -> any().
 
--callback update_config(_OldConfig :: maybe(storage()), _NewConfig :: maybe(storage())) ->
+-callback update_config(_OldConfig :: option(storage()), _NewConfig :: option(storage())) ->
     any().
 
 %%--------------------------------------------------------------------

+ 2 - 2
apps/emqx_ft/src/emqx_ft_storage_fs_gc.erl

@@ -41,8 +41,8 @@
 -export([handle_info/2]).
 
 -record(st, {
-    next_gc_timer :: maybe(reference()),
-    last_gc :: maybe(gcstats())
+    next_gc_timer :: option(reference()),
+    last_gc :: option(gcstats())
 }).
 
 -type gcstats() :: #gcstats{}.

+ 6 - 6
apps/emqx_gateway/src/bhvrs/emqx_gateway_conn.erl

@@ -67,9 +67,9 @@
     %% The {active, N} option
     active_n :: pos_integer(),
     %% Limiter
-    limiter :: maybe(emqx_htb_limiter:limiter()),
+    limiter :: option(emqx_htb_limiter:limiter()),
     %% Limit Timer
-    limit_timer :: maybe(reference()),
+    limit_timer :: option(reference()),
     %% Parse State
     parse_state :: emqx_gateway_frame:parse_state(),
     %% Serialize options
@@ -77,15 +77,15 @@
     %% Channel State
     channel :: emqx_gateway_channel:channel(),
     %% GC State
-    gc_state :: maybe(emqx_gc:gc_state()),
+    gc_state :: option(emqx_gc:gc_state()),
     %% Stats Timer
-    stats_timer :: disabled | maybe(reference()),
+    stats_timer :: disabled | option(reference()),
     %% Idle Timeout
     idle_timeout :: integer(),
     %% Idle Timer
-    idle_timer :: maybe(reference()),
+    idle_timer :: option(reference()),
     %% OOM Policy
-    oom_policy :: maybe(emqx_types:oom_policy()),
+    oom_policy :: option(emqx_types:oom_policy()),
     %% Frame Module
     frame_mod :: atom(),
     %% Channel Module

+ 3 - 3
apps/emqx_gateway_exproto/src/emqx_exproto_channel.erl

@@ -50,15 +50,15 @@
     %% Conn info
     conninfo :: emqx_types:conninfo(),
     %% Client info from `register` function
-    clientinfo :: maybe(map()),
+    clientinfo :: option(map()),
     %% Connection state
     conn_state :: conn_state(),
     %% Subscription
     subscriptions = #{},
     %% Keepalive
-    keepalive :: maybe(emqx_keepalive:keepalive()),
+    keepalive :: option(emqx_keepalive:keepalive()),
     %% Timers
-    timers :: #{atom() => disabled | maybe(reference())},
+    timers :: #{atom() => disabled | option(reference())},
     %% Closed reason
     closed_reason = undefined
 }).

+ 1 - 1
apps/emqx_gateway_gbt32960/src/emqx_gateway_gbt32960.app.src

@@ -1,7 +1,7 @@
 %% -*- mode: erlang -*-
 {application, emqx_gateway_gbt32960, [
     {description, "GBT32960 Gateway"},
-    {vsn, "0.1.0"},
+    {vsn, "0.1.1"},
     {registered, []},
     {applications, [kernel, stdlib, emqx, emqx_gateway]},
     {env, []},

+ 1 - 1
apps/emqx_gateway_gbt32960/src/emqx_gbt32960_channel.erl

@@ -42,7 +42,7 @@
     %% Session
     session :: undefined | map(),
     %% Keepalive
-    keepalive :: maybe(emqx_keepalive:keepalive()),
+    keepalive :: option(emqx_keepalive:keepalive()),
     %% Conn State
     conn_state :: conn_state(),
     %% Timers

+ 1 - 1
apps/emqx_gateway_jt808/src/emqx_gateway_jt808.app.src

@@ -1,7 +1,7 @@
 %% -*- mode: erlang -*-
 {application, emqx_gateway_jt808, [
     {description, "JT/T 808 Gateway"},
-    {vsn, "0.0.1"},
+    {vsn, "0.0.2"},
     {registered, []},
     {applications, [kernel, stdlib, emqx, emqx_gateway]},
     {env, []},

+ 1 - 1
apps/emqx_gateway_jt808/src/emqx_jt808_channel.erl

@@ -48,7 +48,7 @@
     %% AuthCode
     authcode :: undefined | anonymous | binary(),
     %% Keepalive
-    keepalive :: maybe(emqx_keepalive:keepalive()),
+    keepalive :: option(emqx_keepalive:keepalive()),
     %% Msg SN
     msg_sn,
     %% Down Topic

+ 1 - 1
apps/emqx_gateway_mqttsn/src/emqx_gateway_mqttsn.app.src

@@ -1,7 +1,7 @@
 %% -*- mode: erlang -*-
 {application, emqx_gateway_mqttsn, [
     {description, "MQTT-SN Gateway"},
-    {vsn, "0.1.7"},
+    {vsn, "0.1.8"},
     {registered, []},
     {applications, [kernel, stdlib, emqx, emqx_gateway]},
     {env, []},

+ 1 - 1
apps/emqx_gateway_mqttsn/src/emqx_mqttsn_channel.erl

@@ -71,7 +71,7 @@
     %% Connection State
     conn_state :: conn_state(),
     %% Inflight register message queue
-    register_inflight :: maybe(term()),
+    register_inflight :: option(term()),
     %% Topics list for awaiting to register to client
     register_awaiting_queue :: list(),
     %% Duration for asleep

+ 3 - 3
apps/emqx_gateway_ocpp/src/emqx_ocpp_channel.erl

@@ -63,15 +63,15 @@
     %% ClientInfo
     clientinfo :: emqx_types:clientinfo(),
     %% Session
-    session :: maybe(map()),
+    session :: option(map()),
     %% ClientInfo override specs
     clientinfo_override :: map(),
     %% Keepalive
-    keepalive :: maybe(emqx_ocpp_keepalive:keepalive()),
+    keepalive :: option(emqx_ocpp_keepalive:keepalive()),
     %% Stores all unsent messages.
     mqueue :: queue:queue(),
     %% Timers
-    timers :: #{atom() => disabled | maybe(reference())},
+    timers :: #{atom() => disabled | option(reference())},
     %% Conn State
     conn_state :: conn_state()
 }).

+ 6 - 6
apps/emqx_gateway_ocpp/src/emqx_ocpp_connection.erl

@@ -72,9 +72,9 @@
     %% Piggyback
     piggyback :: single | multiple,
     %% Limiter
-    limiter :: maybe(emqx_htb_limiter:limiter()),
+    limiter :: option(emqx_htb_limiter:limiter()),
     %% Limit Timer
-    limit_timer :: maybe(reference()),
+    limit_timer :: option(reference()),
     %% Parse State
     parse_state :: emqx_ocpp_frame:parse_state(),
     %% Serialize options
@@ -82,17 +82,17 @@
     %% Channel
     channel :: emqx_ocpp_channel:channel(),
     %% GC State
-    gc_state :: maybe(emqx_gc:gc_state()),
+    gc_state :: option(emqx_gc:gc_state()),
     %% Postponed Packets|Cmds|Events
     postponed :: list(emqx_types:packet() | ws_cmd() | tuple()),
     %% Stats Timer
-    stats_timer :: disabled | maybe(reference()),
+    stats_timer :: disabled | option(reference()),
     %% Idle Timeout
     idle_timeout :: timeout(),
     %%% Idle Timer
-    idle_timer :: maybe(reference()),
+    idle_timer :: option(reference()),
     %% OOM Policy
-    oom_policy :: maybe(emqx_types:oom_policy()),
+    oom_policy :: option(emqx_types:oom_policy()),
     %% Frame Module
     frame_mod :: atom(),
     %% Channel Module

+ 3 - 3
apps/emqx_modules/src/emqx_delayed.erl

@@ -92,10 +92,10 @@
 -export_type([with_id_return/0, with_id_return/1]).
 
 -type state() :: #{
-    publish_timer := maybe(reference()),
+    publish_timer := option(reference()),
     publish_at := non_neg_integer(),
-    stats_timer := maybe(reference()),
-    stats_fun := maybe(fun((pos_integer()) -> ok))
+    stats_timer := option(reference()),
+    stats_fun := option(fun((pos_integer()) -> ok))
 }.
 
 %% sync ms with record change

+ 2 - 2
apps/emqx_resource/src/emqx_resource_manager.erl

@@ -825,7 +825,7 @@ handle_remove_channel_exists(From, ChannelId, Data) ->
 handle_not_connected_and_not_connecting_remove_channel(From, ChannelId, Data) ->
     %% When state is not connected and not connecting the channel will be removed
     %% from the channels map but nothing else will happen since the channel
-    %% is not addded/installed in the resource state.
+    %% is not added/installed in the resource state.
     Channels = Data#data.added_channels,
     NewChannels = maps:remove(ChannelId, Channels),
     NewData = Data#data{added_channels = NewChannels},
@@ -915,7 +915,7 @@ with_health_check(#data{error = PrevError} = Data, Func) ->
 -spec channels_health_check(resource_status(), data()) -> data().
 channels_health_check(?status_connected = _ConnectorStatus, Data0) ->
     Channels = maps:to_list(Data0#data.added_channels),
-    %% All channels with a stutus different from connected or connecting are
+    %% All channels with a status different from connected or connecting are
     %% not added
     ChannelsNotAdded = [
         ChannelId

+ 1 - 1
apps/emqx_rule_engine/include/rule_engine.hrl

@@ -18,7 +18,7 @@
 
 -define(KV_TAB, '@rule_engine_db').
 
--type maybe(T) :: T | undefined.
+-type option(T) :: T | undefined.
 
 -type rule_id() :: binary().
 -type rule_name() :: binary().

+ 1 - 1
apps/emqx_s3/src/emqx_s3.app.src

@@ -1,6 +1,6 @@
 {application, emqx_s3, [
     {description, "EMQX S3"},
-    {vsn, "5.0.13"},
+    {vsn, "5.0.14"},
     {modules, []},
     {registered, [emqx_s3_sup]},
     {applications, [

+ 4 - 4
apps/emqx_s3/src/emqx_s3.erl

@@ -103,9 +103,9 @@ with_client(ProfileId, Fun) when is_function(Fun, 1) andalso ?IS_PROFILE_ID(Prof
 %%
 
 -spec pre_config_update(
-    profile_id(), maybe(emqx_config:raw_config()), maybe(emqx_config:raw_config())
+    profile_id(), option(emqx_config:raw_config()), option(emqx_config:raw_config())
 ) ->
-    {ok, maybe(profile_config())} | {error, term()}.
+    {ok, option(profile_config())} | {error, term()}.
 pre_config_update(ProfileId, NewConfig = #{<<"transport_options">> := TransportOpts}, _OldConfig) ->
     case emqx_connector_ssl:convert_certs(mk_certs_dir(ProfileId), TransportOpts) of
         {ok, TransportOptsConv} ->
@@ -118,8 +118,8 @@ pre_config_update(_ProfileId, NewConfig, _OldConfig) ->
 
 -spec post_config_update(
     profile_id(),
-    maybe(emqx_config:config()),
-    maybe(emqx_config:config())
+    option(emqx_config:config()),
+    option(emqx_config:config())
 ) ->
     ok.
 post_config_update(_ProfileId, _NewConfig, _OldConfig) ->

+ 6 - 6
apps/emqx_utils/src/emqx_utils.erl

@@ -89,7 +89,7 @@
 
 -type readable_error_msg(_Error) :: binary().
 
--type maybe(T) :: undefined | T.
+-type option(T) :: undefined | T.
 
 -dialyzer({nowarn_function, [nolink_apply/2]}).
 
@@ -128,8 +128,8 @@ merge_opts(Defaults, Options) ->
     ).
 
 %% @doc Apply a function to a maybe argument.
--spec maybe_apply(fun((maybe(A)) -> maybe(A)), maybe(A)) ->
-    maybe(A)
+-spec maybe_apply(fun((option(A)) -> option(A)), option(A)) ->
+    option(A)
 when
     A :: any().
 maybe_apply(_Fun, undefined) ->
@@ -184,17 +184,17 @@ apply_fun(Fun, Input, State) ->
         {arity, 2} -> Fun(Input, State)
     end.
 
--spec start_timer(integer() | atom(), term()) -> maybe(reference()).
+-spec start_timer(integer() | atom(), term()) -> option(reference()).
 start_timer(Interval, Msg) ->
     start_timer(Interval, self(), Msg).
 
--spec start_timer(integer() | atom(), pid() | atom(), term()) -> maybe(reference()).
+-spec start_timer(integer() | atom(), pid() | atom(), term()) -> option(reference()).
 start_timer(Interval, Dest, Msg) when is_number(Interval) ->
     erlang:start_timer(erlang:ceil(Interval), Dest, Msg);
 start_timer(_Atom, _Dest, _Msg) ->
     undefined.
 
--spec cancel_timer(maybe(reference())) -> ok.
+-spec cancel_timer(option(reference())) -> ok.
 cancel_timer(Timer) when is_reference(Timer) ->
     case erlang:cancel_timer(Timer) of
         false ->

+ 2 - 2
apps/emqx_utils/test/emqx_utils_fs_SUITE.erl

@@ -66,8 +66,8 @@ t_traverse_dir(Config) ->
             {"nonempty/d2/deep/down/here", #file_info{type = regular, mode = ORW}},
             {"nonempty/d2/deep/mutrec", #file_info{type = symlink, mode = ARWX}}
         ] when
-            ((ORW band 8#00600 =:= 8#00600) and
-                (ARWX band 8#00777 =:= 8#00777)),
+            (((ORW band 8#00600 =:= 8#00600) and
+                (ARWX band 8#00777 =:= 8#00777))),
 
         [{string:prefix(Filename, Dir), Info} || {Filename, Info} <- Traversal]
     ).

+ 1 - 1
rebar.config

@@ -132,7 +132,7 @@
 {eunit_opts, [verbose]}.
 
 {project_plugins, [
-    erlfmt,
+    {erlfmt, "1.3.0"},
     {rebar3_hex, "7.0.2"},
     {rebar3_sbom, {git, "https://github.com/emqx/rebar3_sbom.git", {tag, "v0.6.1-1"}}}
 ]}.

BIN
scripts/erlfmt