From 8ec83705ad06cdc95df22791be6efd1fbd9bcff7 Mon Sep 17 00:00:00 2001 From: x1001100011 Date: Sat, 26 Jun 2021 19:53:18 -0700 Subject: [PATCH] feat: add mix.exs for all applications --- apps/emqx/.formatter.exs | 4 ++ apps/emqx/mix.exs | 40 ++++++++++++++++++++ apps/emqx_authentication/.formatter.exs | 4 ++ apps/emqx_authentication/mix.exs | 32 ++++++++++++++++ apps/emqx_authz/.formatter.exs | 4 ++ apps/emqx_authz/mix.exs | 29 ++++++++++++++ apps/emqx_bridge_mqtt/.formatter.exs | 4 ++ apps/emqx_bridge_mqtt/mix.exs | 33 ++++++++++++++++ apps/emqx_coap/.formatter.exs | 4 ++ apps/emqx_coap/mix.exs | 32 ++++++++++++++++ apps/emqx_connector/.formatter.exs | 4 ++ apps/emqx_connector/mix.exs | 32 ++++++++++++++++ apps/emqx_dashboard/.formatter.exs | 4 ++ apps/emqx_dashboard/mix.exs | 33 ++++++++++++++++ apps/emqx_data_bridge/.formatter.exs | 4 ++ apps/emqx_data_bridge/mix.exs | 28 ++++++++++++++ apps/emqx_exhook/.formatter.exs | 4 ++ apps/emqx_exhook/mix.exs | 31 +++++++++++++++ apps/emqx_exproto/.formatter.exs | 4 ++ apps/emqx_exproto/mix.exs | 31 +++++++++++++++ apps/emqx_lua_hook/.formatter.exs | 4 ++ apps/emqx_lua_hook/mix.exs | 33 ++++++++++++++++ apps/emqx_lua_hook/src/emqx_lua_hook.erl | 2 +- apps/emqx_lua_hook/src/emqx_lua_hook_cli.erl | 2 +- apps/emqx_lwm2m/.formatter.exs | 4 ++ apps/emqx_lwm2m/mix.exs | 32 ++++++++++++++++ apps/emqx_management/.formatter.exs | 4 ++ apps/emqx_management/mix.exs | 34 +++++++++++++++++ apps/emqx_modules/.formatter.exs | 4 ++ apps/emqx_modules/mix.exs | 29 ++++++++++++++ apps/emqx_plugin_libs/.formatter.exs | 4 ++ apps/emqx_plugin_libs/mix.exs | 28 ++++++++++++++ apps/emqx_prometheus/.formatter.exs | 4 ++ apps/emqx_prometheus/mix.exs | 32 ++++++++++++++++ apps/emqx_psk_file/.formatter.exs | 4 ++ apps/emqx_psk_file/mix.exs | 32 ++++++++++++++++ apps/emqx_resource/.formatter.exs | 4 ++ apps/emqx_resource/mix.exs | 32 ++++++++++++++++ apps/emqx_retainer/.formatter.exs | 4 ++ apps/emqx_retainer/mix.exs | 30 +++++++++++++++ apps/emqx_rule_engine/.formatter.exs | 4 ++ apps/emqx_rule_engine/mix.exs | 33 ++++++++++++++++ apps/emqx_sasl/.formatter.exs | 4 ++ apps/emqx_sasl/mix.exs | 33 ++++++++++++++++ apps/emqx_sn/.formatter.exs | 4 ++ apps/emqx_sn/mix.exs | 31 +++++++++++++++ apps/emqx_statsd/.formatter.exs | 4 ++ apps/emqx_statsd/mix.exs | 31 +++++++++++++++ apps/emqx_stomp/.formatter.exs | 4 ++ apps/emqx_stomp/mix.exs | 30 +++++++++++++++ apps/emqx_telemetry/.formatter.exs | 4 ++ apps/emqx_telemetry/mix.exs | 30 +++++++++++++++ apps/emqx_web_hook/.formatter.exs | 4 ++ apps/emqx_web_hook/mix.exs | 33 ++++++++++++++++ mix.exs | 35 +++++++++++++++++ mix.lock | 35 +++++++++++++++++ 56 files changed, 1000 insertions(+), 2 deletions(-) create mode 100644 apps/emqx/.formatter.exs create mode 100644 apps/emqx/mix.exs create mode 100644 apps/emqx_authentication/.formatter.exs create mode 100644 apps/emqx_authentication/mix.exs create mode 100644 apps/emqx_authz/.formatter.exs create mode 100644 apps/emqx_authz/mix.exs create mode 100644 apps/emqx_bridge_mqtt/.formatter.exs create mode 100644 apps/emqx_bridge_mqtt/mix.exs create mode 100644 apps/emqx_coap/.formatter.exs create mode 100644 apps/emqx_coap/mix.exs create mode 100644 apps/emqx_connector/.formatter.exs create mode 100644 apps/emqx_connector/mix.exs create mode 100644 apps/emqx_dashboard/.formatter.exs create mode 100644 apps/emqx_dashboard/mix.exs create mode 100644 apps/emqx_data_bridge/.formatter.exs create mode 100644 apps/emqx_data_bridge/mix.exs create mode 100644 apps/emqx_exhook/.formatter.exs create mode 100644 apps/emqx_exhook/mix.exs create mode 100644 apps/emqx_exproto/.formatter.exs create mode 100644 apps/emqx_exproto/mix.exs create mode 100644 apps/emqx_lua_hook/.formatter.exs create mode 100644 apps/emqx_lua_hook/mix.exs create mode 100644 apps/emqx_lwm2m/.formatter.exs create mode 100644 apps/emqx_lwm2m/mix.exs create mode 100644 apps/emqx_management/.formatter.exs create mode 100644 apps/emqx_management/mix.exs create mode 100644 apps/emqx_modules/.formatter.exs create mode 100644 apps/emqx_modules/mix.exs create mode 100644 apps/emqx_plugin_libs/.formatter.exs create mode 100644 apps/emqx_plugin_libs/mix.exs create mode 100644 apps/emqx_prometheus/.formatter.exs create mode 100644 apps/emqx_prometheus/mix.exs create mode 100644 apps/emqx_psk_file/.formatter.exs create mode 100644 apps/emqx_psk_file/mix.exs create mode 100644 apps/emqx_resource/.formatter.exs create mode 100644 apps/emqx_resource/mix.exs create mode 100644 apps/emqx_retainer/.formatter.exs create mode 100644 apps/emqx_retainer/mix.exs create mode 100644 apps/emqx_rule_engine/.formatter.exs create mode 100644 apps/emqx_rule_engine/mix.exs create mode 100644 apps/emqx_sasl/.formatter.exs create mode 100644 apps/emqx_sasl/mix.exs create mode 100644 apps/emqx_sn/.formatter.exs create mode 100644 apps/emqx_sn/mix.exs create mode 100644 apps/emqx_statsd/.formatter.exs create mode 100644 apps/emqx_statsd/mix.exs create mode 100644 apps/emqx_stomp/.formatter.exs create mode 100644 apps/emqx_stomp/mix.exs create mode 100644 apps/emqx_telemetry/.formatter.exs create mode 100644 apps/emqx_telemetry/mix.exs create mode 100644 apps/emqx_web_hook/.formatter.exs create mode 100644 apps/emqx_web_hook/mix.exs create mode 100644 mix.exs create mode 100644 mix.lock diff --git a/apps/emqx/.formatter.exs b/apps/emqx/.formatter.exs new file mode 100644 index 000000000..d2cda26ed --- /dev/null +++ b/apps/emqx/.formatter.exs @@ -0,0 +1,4 @@ +# Used by "mix format" +[ + inputs: ["{mix,.formatter}.exs", "{config,lib,test}/**/*.{ex,exs}"] +] diff --git a/apps/emqx/mix.exs b/apps/emqx/mix.exs new file mode 100644 index 000000000..e6bf1f1c4 --- /dev/null +++ b/apps/emqx/mix.exs @@ -0,0 +1,40 @@ +defmodule Emqx.MixProject do + use Mix.Project + + def project do + [ + app: :emqx, + version: "5.0.0", + build_path: "../../_build", + config_path: "../../config/config.exs", + deps_path: "../../deps", + lockfile: "../../mix.lock", + elixir: "~> 1.12", + start_permanent: Mix.env() == :prod, + deps: deps(), + description: "EMQ X" + ] + end + + def application do + [ + mod: {:emqx_app, []}, + extra_applications: [:logger] + ] + end + + defp deps do + [ + {:gproc, "~> 0.9"}, + {:recon, "~> 2.5"}, + {:cowboy, github: "emqx/cowboy", tag: "2.8.2"}, + {:esockd, github: "emqx/esockd", tag: "5.8.0"}, + {:ekka, github: "emqx/ekka", tag: "0.9.0"}, + {:gen_rpc, github: "emqx/gen_rpc", tag: "2.5.1"}, + {:cuttlefish, github: "emqx/cuttlefish", tag: "v4.0.1"}, + {:hocon, github: "emqx/hocon"}, + {:pbkdf2, github: "emqx/erlang-pbkdf2", tag: "2.0.4"}, + {:snabbkaffe, github: "kafka4beam/snabbkaffe", tag: "0.13.0"} + ] + end +end diff --git a/apps/emqx_authentication/.formatter.exs b/apps/emqx_authentication/.formatter.exs new file mode 100644 index 000000000..d2cda26ed --- /dev/null +++ b/apps/emqx_authentication/.formatter.exs @@ -0,0 +1,4 @@ +# Used by "mix format" +[ + inputs: ["{mix,.formatter}.exs", "{config,lib,test}/**/*.{ex,exs}"] +] diff --git a/apps/emqx_authentication/mix.exs b/apps/emqx_authentication/mix.exs new file mode 100644 index 000000000..a8df08d99 --- /dev/null +++ b/apps/emqx_authentication/mix.exs @@ -0,0 +1,32 @@ +defmodule EmqxAuthentication.MixProject do + use Mix.Project + + def project do + [ + app: :emqx_authentication, + version: "0.1.0", + build_path: "../../_build", + config_path: "../../config/config.exs", + deps_path: "../../deps", + lockfile: "../../mix.lock", + elixir: "~> 1.12", + start_permanent: Mix.env() == :prod, + deps: deps(), + description: "EMQ X Authentication" + ] + end + + def application do + [ + mod: {:emqx_authentication_app, []}, + extra_applications: [:logger] + ] + end + + defp deps do + [ + {:emqx, in_umbrella: true}, + {:jose, "~> 1.11"} + ] + end +end diff --git a/apps/emqx_authz/.formatter.exs b/apps/emqx_authz/.formatter.exs new file mode 100644 index 000000000..d2cda26ed --- /dev/null +++ b/apps/emqx_authz/.formatter.exs @@ -0,0 +1,4 @@ +# Used by "mix format" +[ + inputs: ["{mix,.formatter}.exs", "{config,lib,test}/**/*.{ex,exs}"] +] diff --git a/apps/emqx_authz/mix.exs b/apps/emqx_authz/mix.exs new file mode 100644 index 000000000..80c1520a2 --- /dev/null +++ b/apps/emqx_authz/mix.exs @@ -0,0 +1,29 @@ +defmodule EmqxAuthz.MixProject do + use Mix.Project + + def project do + [ + app: :emqx_authz, + version: "0.1.0", + build_path: "../../_build", + config_path: "../../config/config.exs", + deps_path: "../../deps", + lockfile: "../../mix.lock", + elixir: "~> 1.12", + start_permanent: Mix.env() == :prod, + deps: deps() + ] + end + + def application do + [ + extra_applications: [:logger] + ] + end + + defp deps do + [ + {:emqx_connector, in_umbrella: true} + ] + end +end diff --git a/apps/emqx_bridge_mqtt/.formatter.exs b/apps/emqx_bridge_mqtt/.formatter.exs new file mode 100644 index 000000000..d2cda26ed --- /dev/null +++ b/apps/emqx_bridge_mqtt/.formatter.exs @@ -0,0 +1,4 @@ +# Used by "mix format" +[ + inputs: ["{mix,.formatter}.exs", "{config,lib,test}/**/*.{ex,exs}"] +] diff --git a/apps/emqx_bridge_mqtt/mix.exs b/apps/emqx_bridge_mqtt/mix.exs new file mode 100644 index 000000000..177e7f618 --- /dev/null +++ b/apps/emqx_bridge_mqtt/mix.exs @@ -0,0 +1,33 @@ +defmodule EmqxBridgeMqtt.MixProject do + use Mix.Project + + def project do + [ + app: :emqx_bridge_mqtt, + version: "4.3.1", + build_path: "../../_build", + config_path: "../../config/config.exs", + deps_path: "../../deps", + lockfile: "../../mix.lock", + elixir: "~> 1.12", + start_permanent: Mix.env() == :prod, + deps: deps(), + description: "EMQ X Bridge to MQTT Broker" + ] + end + + def application do + [ + mod: {:emqx_bridge_mqtt_app, []}, + extra_applications: [:logger] + ] + end + + defp deps do + [ + {:emqx, in_umbrella: true, override: true}, + {:emqx_rule_engine, in_umbrella: true}, + {:emqtt, github: "emqx/emqtt", tag: "v1.2.3"} + ] + end +end diff --git a/apps/emqx_coap/.formatter.exs b/apps/emqx_coap/.formatter.exs new file mode 100644 index 000000000..d2cda26ed --- /dev/null +++ b/apps/emqx_coap/.formatter.exs @@ -0,0 +1,4 @@ +# Used by "mix format" +[ + inputs: ["{mix,.formatter}.exs", "{config,lib,test}/**/*.{ex,exs}"] +] diff --git a/apps/emqx_coap/mix.exs b/apps/emqx_coap/mix.exs new file mode 100644 index 000000000..d82810601 --- /dev/null +++ b/apps/emqx_coap/mix.exs @@ -0,0 +1,32 @@ +defmodule EmqxCoap.MixProject do + use Mix.Project + + def project do + [ + app: :emqx_coap, + version: "4.3.0", + build_path: "../../_build", + config_path: "../../config/config.exs", + deps_path: "../../deps", + lockfile: "../../mix.lock", + elixir: "~> 1.12", + start_permanent: Mix.env() == :prod, + deps: deps(), + description: "EMQ X CoAP Gateway" + ] + end + + def application do + [ + mod: {:emqx_coap_app, []}, + extra_applications: [:logger] + ] + end + + defp deps do + [ + {:emqx, in_umbrella: true}, + {:gen_coap, github: "emqx/gen_coap", tag: "v0.3.2"} + ] + end +end diff --git a/apps/emqx_connector/.formatter.exs b/apps/emqx_connector/.formatter.exs new file mode 100644 index 000000000..d2cda26ed --- /dev/null +++ b/apps/emqx_connector/.formatter.exs @@ -0,0 +1,4 @@ +# Used by "mix format" +[ + inputs: ["{mix,.formatter}.exs", "{config,lib,test}/**/*.{ex,exs}"] +] diff --git a/apps/emqx_connector/mix.exs b/apps/emqx_connector/mix.exs new file mode 100644 index 000000000..cc77b6bc8 --- /dev/null +++ b/apps/emqx_connector/mix.exs @@ -0,0 +1,32 @@ +defmodule EmqxConnector.MixProject do + use Mix.Project + + def project do + [ + app: :emqx_connector, + version: "0.1.0", + build_path: "../../_build", + config_path: "../../config/config.exs", + deps_path: "../../deps", + lockfile: "../../mix.lock", + elixir: "~> 1.12", + start_permanent: Mix.env() == :prod, + deps: deps() + ] + end + + def application do + [ + mod: {:emqx_connector_app, []}, + extra_applications: [:logger] + ] + end + + defp deps do + [ + {:mysql, github: "emqx/mysql-otp", tag: "1.7.1"}, + {:ecpool, github: "emqx/ecpool", tag: "0.5.1"}, + {:emqx_resource, in_umbrella: true} + ] + end +end diff --git a/apps/emqx_dashboard/.formatter.exs b/apps/emqx_dashboard/.formatter.exs new file mode 100644 index 000000000..d2cda26ed --- /dev/null +++ b/apps/emqx_dashboard/.formatter.exs @@ -0,0 +1,4 @@ +# Used by "mix format" +[ + inputs: ["{mix,.formatter}.exs", "{config,lib,test}/**/*.{ex,exs}"] +] diff --git a/apps/emqx_dashboard/mix.exs b/apps/emqx_dashboard/mix.exs new file mode 100644 index 000000000..e6fea46b4 --- /dev/null +++ b/apps/emqx_dashboard/mix.exs @@ -0,0 +1,33 @@ +defmodule EmqxDashboard.MixProject do + use Mix.Project + + def project do + [ + app: :emqx_dashboard, + version: "4.4.0", + build_path: "../../_build", + config_path: "../../config/config.exs", + deps_path: "../../deps", + lockfile: "../../mix.lock", + elixir: "~> 1.12", + start_permanent: Mix.env() == :prod, + deps: deps(), + description: "EMQ X Web Dashboard" + ] + end + + def application do + [ + registered: [:emqx_dashboard_sup], + mod: {:emqx_dashboard_app, []}, + extra_applications: [:logger, :mnesia] + ] + end + + defp deps do + [ + {:emqx, in_umbrella: true}, + {:minirest, github: "emqx/minirest", tag: "0.3.5"} + ] + end +end diff --git a/apps/emqx_data_bridge/.formatter.exs b/apps/emqx_data_bridge/.formatter.exs new file mode 100644 index 000000000..d2cda26ed --- /dev/null +++ b/apps/emqx_data_bridge/.formatter.exs @@ -0,0 +1,4 @@ +# Used by "mix format" +[ + inputs: ["{mix,.formatter}.exs", "{config,lib,test}/**/*.{ex,exs}"] +] diff --git a/apps/emqx_data_bridge/mix.exs b/apps/emqx_data_bridge/mix.exs new file mode 100644 index 000000000..9cec3e66b --- /dev/null +++ b/apps/emqx_data_bridge/mix.exs @@ -0,0 +1,28 @@ +defmodule EmqxDataBridge.MixProject do + use Mix.Project + + def project do + [ + app: :emqx_data_bridge, + version: "0.1.0", + build_path: "../../_build", + config_path: "../../config/config.exs", + deps_path: "../../deps", + lockfile: "../../mix.lock", + elixir: "~> 1.12", + start_permanent: Mix.env() == :prod, + deps: deps() + ] + end + + def application do + [ + mod: {:emqx_data_bridge_app, []}, + extra_applications: [:logger] + ] + end + + defp deps do + [] + end +end diff --git a/apps/emqx_exhook/.formatter.exs b/apps/emqx_exhook/.formatter.exs new file mode 100644 index 000000000..d2cda26ed --- /dev/null +++ b/apps/emqx_exhook/.formatter.exs @@ -0,0 +1,4 @@ +# Used by "mix format" +[ + inputs: ["{mix,.formatter}.exs", "{config,lib,test}/**/*.{ex,exs}"] +] diff --git a/apps/emqx_exhook/mix.exs b/apps/emqx_exhook/mix.exs new file mode 100644 index 000000000..bfef64a31 --- /dev/null +++ b/apps/emqx_exhook/mix.exs @@ -0,0 +1,31 @@ +defmodule EmqxExhook.MixProject do + use Mix.Project + + def project do + [ + app: :emqx_exhook, + version: "4.3.1", + build_path: "../../_build", + config_path: "../../config/config.exs", + deps_path: "../../deps", + lockfile: "../../mix.lock", + elixir: "~> 1.12", + start_permanent: Mix.env() == :prod, + deps: deps(), + description: "EMQ X Extension for Hook" + ] + end + + def application do + [ + mod: {:emqx_exhook_app, []}, + extra_applications: [:logger] + ] + end + + defp deps do + [ + {:grpc, github: "emqx/grpc-erl", tag: "0.6.2"} + ] + end +end diff --git a/apps/emqx_exproto/.formatter.exs b/apps/emqx_exproto/.formatter.exs new file mode 100644 index 000000000..d2cda26ed --- /dev/null +++ b/apps/emqx_exproto/.formatter.exs @@ -0,0 +1,4 @@ +# Used by "mix format" +[ + inputs: ["{mix,.formatter}.exs", "{config,lib,test}/**/*.{ex,exs}"] +] diff --git a/apps/emqx_exproto/mix.exs b/apps/emqx_exproto/mix.exs new file mode 100644 index 000000000..894e349cb --- /dev/null +++ b/apps/emqx_exproto/mix.exs @@ -0,0 +1,31 @@ +defmodule EmqxExproto.MixProject do + use Mix.Project + + def project do + [ + app: :emqx_exproto, + version: "4.4.0", + build_path: "../../_build", + config_path: "../../config/config.exs", + deps_path: "../../deps", + lockfile: "../../mix.lock", + elixir: "~> 1.12", + start_permanent: Mix.env() == :prod, + deps: deps(), + description: "EMQ X Extension for Protocol" + ] + end + + def application do + [ + mod: {:emqx_exproto_app, []}, + extra_applications: [:logger] + ] + end + + defp deps do + [ + {:grpc, github: "emqx/grpc-erl", tag: "0.6.2"} + ] + end +end diff --git a/apps/emqx_lua_hook/.formatter.exs b/apps/emqx_lua_hook/.formatter.exs new file mode 100644 index 000000000..d2cda26ed --- /dev/null +++ b/apps/emqx_lua_hook/.formatter.exs @@ -0,0 +1,4 @@ +# Used by "mix format" +[ + inputs: ["{mix,.formatter}.exs", "{config,lib,test}/**/*.{ex,exs}"] +] diff --git a/apps/emqx_lua_hook/mix.exs b/apps/emqx_lua_hook/mix.exs new file mode 100644 index 000000000..933d4e352 --- /dev/null +++ b/apps/emqx_lua_hook/mix.exs @@ -0,0 +1,33 @@ +defmodule EmqxLuaHook.MixProject do + use Mix.Project + + def project do + [ + app: :emqx_lua_hook, + version: "4.3.0", + build_path: "../../_build", + config_path: "../../config/config.exs", + deps_path: "../../deps", + lockfile: "../../mix.lock", + elixir: "~> 1.12", + start_permanent: Mix.env() == :prod, + deps: deps(), + description: "EMQ X Lua Hooks" + ] + end + + def application do + [ + mod: {:emqx_lua_hook_app, []}, + extra_applications: [:logger] + ] + end + + defp deps do + [ + {:emqx, in_umbrella: true}, + # {:luerl, github: "emqx/luerl", manager: :rebar3, tag: "v0.3.1"} + {:luerl, github: "rvirding/luerl", manager: :rebar3} + ] + end +end diff --git a/apps/emqx_lua_hook/src/emqx_lua_hook.erl b/apps/emqx_lua_hook/src/emqx_lua_hook.erl index 6e7810827..6cb3ec0da 100644 --- a/apps/emqx_lua_hook/src/emqx_lua_hook.erl +++ b/apps/emqx_lua_hook/src/emqx_lua_hook.erl @@ -19,7 +19,7 @@ -behaviour(gen_server). -include("emqx_lua_hook.hrl"). --include_lib("luerl/src/luerl.hrl"). +-include_lib("luerl/include/luerl.hrl"). -export([ start_link/0 , stop/0 diff --git a/apps/emqx_lua_hook/src/emqx_lua_hook_cli.erl b/apps/emqx_lua_hook/src/emqx_lua_hook_cli.erl index 83c6fc5ef..e95733239 100644 --- a/apps/emqx_lua_hook/src/emqx_lua_hook_cli.erl +++ b/apps/emqx_lua_hook/src/emqx_lua_hook_cli.erl @@ -22,7 +22,7 @@ ]). -include("emqx_lua_hook.hrl"). --include_lib("luerl/src/luerl.hrl"). +-include_lib("luerl/include/luerl.hrl"). -define(PRINT(Format, Args), io:format(Format, Args)). -define(PRINT_CMD(Cmd, Descr), io:format("~-48s# ~s~n", [Cmd, Descr])). diff --git a/apps/emqx_lwm2m/.formatter.exs b/apps/emqx_lwm2m/.formatter.exs new file mode 100644 index 000000000..d2cda26ed --- /dev/null +++ b/apps/emqx_lwm2m/.formatter.exs @@ -0,0 +1,4 @@ +# Used by "mix format" +[ + inputs: ["{mix,.formatter}.exs", "{config,lib,test}/**/*.{ex,exs}"] +] diff --git a/apps/emqx_lwm2m/mix.exs b/apps/emqx_lwm2m/mix.exs new file mode 100644 index 000000000..0f2664c89 --- /dev/null +++ b/apps/emqx_lwm2m/mix.exs @@ -0,0 +1,32 @@ +defmodule EmqxLwm2m.MixProject do + use Mix.Project + + def project do + [ + app: :emqx_lwm2m, + version: "4.3.1", + build_path: "../../_build", + config_path: "../../config/config.exs", + deps_path: "../../deps", + lockfile: "../../mix.lock", + elixir: "~> 1.12", + start_permanent: Mix.env() == :prod, + deps: deps(), + description: "EMQ X LwM2M Gateway" + ] + end + + def application do + [ + registered: [:emqx_lwm2m_sup], + extra_applications: [:logger] + ] + end + + defp deps do + [ + {:emqx, in_umbrella: true}, + {:lwm2m_coap, github: "emqx/lwm2m-coap", tag: "v1.1.2"} + ] + end +end diff --git a/apps/emqx_management/.formatter.exs b/apps/emqx_management/.formatter.exs new file mode 100644 index 000000000..d2cda26ed --- /dev/null +++ b/apps/emqx_management/.formatter.exs @@ -0,0 +1,4 @@ +# Used by "mix format" +[ + inputs: ["{mix,.formatter}.exs", "{config,lib,test}/**/*.{ex,exs}"] +] diff --git a/apps/emqx_management/mix.exs b/apps/emqx_management/mix.exs new file mode 100644 index 000000000..54c4d86dd --- /dev/null +++ b/apps/emqx_management/mix.exs @@ -0,0 +1,34 @@ +defmodule EmqxManagement.MixProject do + use Mix.Project + + def project do + [ + app: :emqx_management, + version: "4.4.0", + build_path: "../../_build", + config_path: "../../config/config.exs", + deps_path: "../../deps", + lockfile: "../../mix.lock", + elixir: "~> 1.12", + start_permanent: Mix.env() == :prod, + deps: deps(), + description: "EMQ X Management API and CLI" + ] + end + + def application do + [ + registered: [:emqx_management_sup], + mod: {:emqx_mgmt_app, []}, + extra_applications: [:logger] + ] + end + + defp deps do + [ + {:emqx, in_umbrella: true}, + {:emqx_rule_engine, in_umbrella: true}, + {:minirest, github: "emqx/minirest", tag: "0.3.5"} + ] + end +end diff --git a/apps/emqx_modules/.formatter.exs b/apps/emqx_modules/.formatter.exs new file mode 100644 index 000000000..d2cda26ed --- /dev/null +++ b/apps/emqx_modules/.formatter.exs @@ -0,0 +1,4 @@ +# Used by "mix format" +[ + inputs: ["{mix,.formatter}.exs", "{config,lib,test}/**/*.{ex,exs}"] +] diff --git a/apps/emqx_modules/mix.exs b/apps/emqx_modules/mix.exs new file mode 100644 index 000000000..6268f7933 --- /dev/null +++ b/apps/emqx_modules/mix.exs @@ -0,0 +1,29 @@ +defmodule EmqxModules.MixProject do + use Mix.Project + + def project do + [ + app: :emqx_modules, + version: "4.3.2", + build_path: "../../_build", + config_path: "../../config/config.exs", + deps_path: "../../deps", + lockfile: "../../mix.lock", + elixir: "~> 1.12", + start_permanent: Mix.env() == :prod, + deps: deps() + ] + end + + def application do + [ + registered: [:emqx_mod_sup], + mod: {:emqx_modules_app, []}, + extra_applications: [:logger] + ] + end + + defp deps do + [] + end +end diff --git a/apps/emqx_plugin_libs/.formatter.exs b/apps/emqx_plugin_libs/.formatter.exs new file mode 100644 index 000000000..d2cda26ed --- /dev/null +++ b/apps/emqx_plugin_libs/.formatter.exs @@ -0,0 +1,4 @@ +# Used by "mix format" +[ + inputs: ["{mix,.formatter}.exs", "{config,lib,test}/**/*.{ex,exs}"] +] diff --git a/apps/emqx_plugin_libs/mix.exs b/apps/emqx_plugin_libs/mix.exs new file mode 100644 index 000000000..af5d1a0f9 --- /dev/null +++ b/apps/emqx_plugin_libs/mix.exs @@ -0,0 +1,28 @@ +defmodule EmqxPluginLibs.MixProject do + use Mix.Project + + def project do + [ + app: :emqx_plugin_libs, + version: "4.3.1", + build_path: "../../_build", + config_path: "../../config/config.exs", + deps_path: "../../deps", + lockfile: "../../mix.lock", + elixir: "~> 1.12", + start_permanent: Mix.env() == :prod, + deps: deps(), + description: "EMQ X Plugin utility libs" + ] + end + + def application do + [ + extra_applications: [:logger] + ] + end + + defp deps do + [] + end +end diff --git a/apps/emqx_prometheus/.formatter.exs b/apps/emqx_prometheus/.formatter.exs new file mode 100644 index 000000000..d2cda26ed --- /dev/null +++ b/apps/emqx_prometheus/.formatter.exs @@ -0,0 +1,4 @@ +# Used by "mix format" +[ + inputs: ["{mix,.formatter}.exs", "{config,lib,test}/**/*.{ex,exs}"] +] diff --git a/apps/emqx_prometheus/mix.exs b/apps/emqx_prometheus/mix.exs new file mode 100644 index 000000000..c53b6d072 --- /dev/null +++ b/apps/emqx_prometheus/mix.exs @@ -0,0 +1,32 @@ +defmodule EmqxPrometheus.MixProject do + use Mix.Project + + def project do + [ + app: :emqx_prometheus, + version: "4.3.0", + build_path: "../../_build", + config_path: "../../config/config.exs", + deps_path: "../../deps", + lockfile: "../../mix.lock", + elixir: "~> 1.12", + start_permanent: Mix.env() == :prod, + deps: deps(), + description: "Prometheus for EMQ X" + ] + end + + def application do + [ + registered: [:emqx_prometheus_sup], + mod: {:emqx_prometheus_app, []}, + extra_applications: [:logger] + ] + end + + defp deps do + [ + {:prometheus, github: "emqx/prometheus.erl", tag: "v3.1.1"} + ] + end +end diff --git a/apps/emqx_psk_file/.formatter.exs b/apps/emqx_psk_file/.formatter.exs new file mode 100644 index 000000000..d2cda26ed --- /dev/null +++ b/apps/emqx_psk_file/.formatter.exs @@ -0,0 +1,4 @@ +# Used by "mix format" +[ + inputs: ["{mix,.formatter}.exs", "{config,lib,test}/**/*.{ex,exs}"] +] diff --git a/apps/emqx_psk_file/mix.exs b/apps/emqx_psk_file/mix.exs new file mode 100644 index 000000000..95d213c0f --- /dev/null +++ b/apps/emqx_psk_file/mix.exs @@ -0,0 +1,32 @@ +defmodule EmqxPskFile.MixProject do + use Mix.Project + + def project do + [ + app: :emqx_psk_file, + version: "4.3.0", + build_path: "../../_build", + config_path: "../../config/config.exs", + deps_path: "../../deps", + lockfile: "../../mix.lock", + elixir: "~> 1.12", + start_permanent: Mix.env() == :prod, + deps: deps(), + description: "EMQX PSK Plugin from File" + ] + end + + def application do + [ + registered: [:emqx_psk_file_sup], + mod: {:emqx_psk_file_app, []}, + extra_applications: [:logger] + ] + end + + defp deps do + [ + {:emqx, in_umbrella: true} + ] + end +end diff --git a/apps/emqx_resource/.formatter.exs b/apps/emqx_resource/.formatter.exs new file mode 100644 index 000000000..d2cda26ed --- /dev/null +++ b/apps/emqx_resource/.formatter.exs @@ -0,0 +1,4 @@ +# Used by "mix format" +[ + inputs: ["{mix,.formatter}.exs", "{config,lib,test}/**/*.{ex,exs}"] +] diff --git a/apps/emqx_resource/mix.exs b/apps/emqx_resource/mix.exs new file mode 100644 index 000000000..d2a1034d4 --- /dev/null +++ b/apps/emqx_resource/mix.exs @@ -0,0 +1,32 @@ +defmodule EmqxResource.MixProject do + use Mix.Project + + def project do + [ + app: :emqx_resource, + version: "0.1.0", + build_path: "../../_build", + config_path: "../../config/config.exs", + deps_path: "../../deps", + lockfile: "../../mix.lock", + elixir: "~> 1.12", + start_permanent: Mix.env() == :prod, + deps: deps() + ] + end + + def application do + [ + mod: {:emqx_resource_app, []}, + extra_applications: [:logger] + ] + end + + defp deps do + [ + {:jsx, "~> 3.1"}, + {:gproc, "~> 0.9"}, + {:hocon, github: "emqx/hocon"} + ] + end +end diff --git a/apps/emqx_retainer/.formatter.exs b/apps/emqx_retainer/.formatter.exs new file mode 100644 index 000000000..d2cda26ed --- /dev/null +++ b/apps/emqx_retainer/.formatter.exs @@ -0,0 +1,4 @@ +# Used by "mix format" +[ + inputs: ["{mix,.formatter}.exs", "{config,lib,test}/**/*.{ex,exs}"] +] diff --git a/apps/emqx_retainer/mix.exs b/apps/emqx_retainer/mix.exs new file mode 100644 index 000000000..b76843696 --- /dev/null +++ b/apps/emqx_retainer/mix.exs @@ -0,0 +1,30 @@ +defmodule EmqxRetainer.MixProject do + use Mix.Project + + def project do + [ + app: :emqx_retainer, + version: "4.3.1", + build_path: "../../_build", + config_path: "../../config/config.exs", + deps_path: "../../deps", + lockfile: "../../mix.lock", + elixir: "~> 1.12", + start_permanent: Mix.env() == :prod, + deps: deps(), + description: "EMQ X Retainer" + ] + end + + def application do + [ + registered: [:emqx_retainer_sup], + mod: {:emqx_retainer_app, []}, + extra_applications: [:logger] + ] + end + + defp deps do + [{:emqx, in_umbrella: true}] + end +end diff --git a/apps/emqx_rule_engine/.formatter.exs b/apps/emqx_rule_engine/.formatter.exs new file mode 100644 index 000000000..d2cda26ed --- /dev/null +++ b/apps/emqx_rule_engine/.formatter.exs @@ -0,0 +1,4 @@ +# Used by "mix format" +[ + inputs: ["{mix,.formatter}.exs", "{config,lib,test}/**/*.{ex,exs}"] +] diff --git a/apps/emqx_rule_engine/mix.exs b/apps/emqx_rule_engine/mix.exs new file mode 100644 index 000000000..feae3e68a --- /dev/null +++ b/apps/emqx_rule_engine/mix.exs @@ -0,0 +1,33 @@ +defmodule EmqxRuleEngine.MixProject do + use Mix.Project + + def project do + [ + app: :emqx_rule_engine, + version: "4.3.2", + build_path: "../../_build", + config_path: "../../config/config.exs", + deps_path: "../../deps", + lockfile: "../../mix.lock", + elixir: "~> 1.12", + start_permanent: Mix.env() == :prod, + deps: deps(), + description: "EMQ X Rule Engine" + ] + end + + def application do + [ + registered: [:emqx_rule_engine_sup, :emqx_rule_registry], + mod: {:emqx_rule_engine_app, []}, + extra_applications: [:logger] + ] + end + + defp deps do + [ + {:emqx, in_umbrella: true}, + {:ekka, github: "emqx/ekka", tag: "0.9.0"} + ] + end +end diff --git a/apps/emqx_sasl/.formatter.exs b/apps/emqx_sasl/.formatter.exs new file mode 100644 index 000000000..d2cda26ed --- /dev/null +++ b/apps/emqx_sasl/.formatter.exs @@ -0,0 +1,4 @@ +# Used by "mix format" +[ + inputs: ["{mix,.formatter}.exs", "{config,lib,test}/**/*.{ex,exs}"] +] diff --git a/apps/emqx_sasl/mix.exs b/apps/emqx_sasl/mix.exs new file mode 100644 index 000000000..bd03a4fd7 --- /dev/null +++ b/apps/emqx_sasl/mix.exs @@ -0,0 +1,33 @@ +defmodule EmqxSasl.MixProject do + use Mix.Project + + def project do + [ + app: :emqx_sasl, + version: "0.1.0", + build_path: "../../_build", + config_path: "../../config/config.exs", + deps_path: "../../deps", + lockfile: "../../mix.lock", + elixir: "~> 1.12", + start_permanent: Mix.env() == :prod, + deps: deps(), + description: "EMQ X SASL" + ] + end + + def application do + [ + registered: [:emqx_sasl_sup], + mod: {:emqx_sasl_app, []}, + extra_applications: [:logger] + ] + end + + defp deps do + [ + {:emqx, in_umbrella: true}, + {:pbkdf2, github: "emqx/erlang-pbkdf2", tag: "2.0.4"} + ] + end +end diff --git a/apps/emqx_sn/.formatter.exs b/apps/emqx_sn/.formatter.exs new file mode 100644 index 000000000..d2cda26ed --- /dev/null +++ b/apps/emqx_sn/.formatter.exs @@ -0,0 +1,4 @@ +# Used by "mix format" +[ + inputs: ["{mix,.formatter}.exs", "{config,lib,test}/**/*.{ex,exs}"] +] diff --git a/apps/emqx_sn/mix.exs b/apps/emqx_sn/mix.exs new file mode 100644 index 000000000..1aedb9436 --- /dev/null +++ b/apps/emqx_sn/mix.exs @@ -0,0 +1,31 @@ +defmodule EmqxSn.MixProject do + use Mix.Project + + def project do + [ + app: :emqx_sn, + version: "4.4.0", + build_path: "../../_build", + config_path: "../../config/config.exs", + deps_path: "../../deps", + lockfile: "../../mix.lock", + elixir: "~> 1.12", + start_permanent: Mix.env() == :prod, + deps: deps(), + description: "EMQ X MQTT-SN Plugin" + ] + end + + def application do + [ + mod: {:emqx_sn_app, []}, + extra_applications: [:logger] + ] + end + + defp deps do + [ + {:esockd, github: "emqx/esockd", tag: "5.7.4"} + ] + end +end diff --git a/apps/emqx_statsd/.formatter.exs b/apps/emqx_statsd/.formatter.exs new file mode 100644 index 000000000..d2cda26ed --- /dev/null +++ b/apps/emqx_statsd/.formatter.exs @@ -0,0 +1,4 @@ +# Used by "mix format" +[ + inputs: ["{mix,.formatter}.exs", "{config,lib,test}/**/*.{ex,exs}"] +] diff --git a/apps/emqx_statsd/mix.exs b/apps/emqx_statsd/mix.exs new file mode 100644 index 000000000..c48e292a6 --- /dev/null +++ b/apps/emqx_statsd/mix.exs @@ -0,0 +1,31 @@ +defmodule EmqxStatsd.MixProject do + use Mix.Project + + def project do + [ + app: :emqx_statsd, + version: "0.1.0", + build_path: "../../_build", + config_path: "../../config/config.exs", + deps_path: "../../deps", + lockfile: "../../mix.lock", + elixir: "~> 1.12", + start_permanent: Mix.env() == :prod, + deps: deps(), + description: "EMQ X Statsd" + ] + end + + def application do + [ + mod: {:emqx_statsd_app, []}, + extra_applications: [:logger] + ] + end + + defp deps do + [ + {:estatsd, github: "emqx/estatsd", tag: "0.1.0"} + ] + end +end diff --git a/apps/emqx_stomp/.formatter.exs b/apps/emqx_stomp/.formatter.exs new file mode 100644 index 000000000..d2cda26ed --- /dev/null +++ b/apps/emqx_stomp/.formatter.exs @@ -0,0 +1,4 @@ +# Used by "mix format" +[ + inputs: ["{mix,.formatter}.exs", "{config,lib,test}/**/*.{ex,exs}"] +] diff --git a/apps/emqx_stomp/mix.exs b/apps/emqx_stomp/mix.exs new file mode 100644 index 000000000..31eebb4a3 --- /dev/null +++ b/apps/emqx_stomp/mix.exs @@ -0,0 +1,30 @@ +defmodule EmqxStomp.MixProject do + use Mix.Project + + def project do + [ + app: :emqx_stomp, + version: "4.4.0", + build_path: "../../_build", + config_path: "../../config/config.exs", + deps_path: "../../deps", + lockfile: "../../mix.lock", + elixir: "~> 1.12", + start_permanent: Mix.env() == :prod, + deps: deps(), + description: "EMQ X Stomp Protocol Plugin" + ] + end + + def application do + [ + registered: [:emqx_stomp_sup], + mod: {:emqx_stomp, []}, + extra_applications: [:logger] + ] + end + + defp deps do + [{:emqx, in_umbrella: true}] + end +end diff --git a/apps/emqx_telemetry/.formatter.exs b/apps/emqx_telemetry/.formatter.exs new file mode 100644 index 000000000..d2cda26ed --- /dev/null +++ b/apps/emqx_telemetry/.formatter.exs @@ -0,0 +1,4 @@ +# Used by "mix format" +[ + inputs: ["{mix,.formatter}.exs", "{config,lib,test}/**/*.{ex,exs}"] +] diff --git a/apps/emqx_telemetry/mix.exs b/apps/emqx_telemetry/mix.exs new file mode 100644 index 000000000..37ce47b46 --- /dev/null +++ b/apps/emqx_telemetry/mix.exs @@ -0,0 +1,30 @@ +defmodule EmqxTelemetry.MixProject do + use Mix.Project + + def project do + [ + app: :emqx_telemetry, + version: "5.0.0", + build_path: "../../_build", + config_path: "../../config/config.exs", + deps_path: "../../deps", + lockfile: "../../mix.lock", + elixir: "~> 1.12", + start_permanent: Mix.env() == :prod, + deps: deps(), + description: "EMQ X Telemetry" + ] + end + + def application do + [ + registered: [:emqx_telemetry_sup], + mod: {:emqx_telemetry_app, []}, + extra_applications: [:logger] + ] + end + + defp deps do + [] + end +end diff --git a/apps/emqx_web_hook/.formatter.exs b/apps/emqx_web_hook/.formatter.exs new file mode 100644 index 000000000..d2cda26ed --- /dev/null +++ b/apps/emqx_web_hook/.formatter.exs @@ -0,0 +1,4 @@ +# Used by "mix format" +[ + inputs: ["{mix,.formatter}.exs", "{config,lib,test}/**/*.{ex,exs}"] +] diff --git a/apps/emqx_web_hook/mix.exs b/apps/emqx_web_hook/mix.exs new file mode 100644 index 000000000..639e9831c --- /dev/null +++ b/apps/emqx_web_hook/mix.exs @@ -0,0 +1,33 @@ +defmodule EmqxWebHook.MixProject do + use Mix.Project + + def project do + [ + app: :emqx_web_hook, + version: "4.3.1", + build_path: "../../_build", + config_path: "../../config/config.exs", + deps_path: "../../deps", + lockfile: "../../mix.lock", + elixir: "~> 1.12", + start_permanent: Mix.env() == :prod, + deps: deps(), + description: "EMQ X WebHook Plugin" + ] + end + + def application do + [ + registered: [:emqx_web_hook_sup], + mod: {:emqx_web_hook_app, []}, + extra_applications: [:logger] + ] + end + + defp deps do + [ + {:emqx_rule_engine, in_umbrella: true}, + {:ehttpc, github: "emqx/ehttpc", tag: "0.1.6"} + ] + end +end diff --git a/mix.exs b/mix.exs new file mode 100644 index 000000000..f46eb0e48 --- /dev/null +++ b/mix.exs @@ -0,0 +1,35 @@ +defmodule EmqxUmbrella.MixProject do + use Mix.Project + + def project do + [ + apps_path: "apps", + version: "0.1.0", + start_permanent: Mix.env() == :prod, + deps: deps() + ] + end + + defp deps do + [ + {:jiffy, github: "emqx/jiffy", tag: "1.0.5", override: true}, + {:gun, github: "emqx/gun", tag: "1.3.4", override: true}, + {:hocon, github: "emqx/hocon", override: true}, + {:cuttlefish, + github: "emqx/cuttlefish", + manager: :rebar3, + system_env: [{"CUTTLEFISH_ESCRIPT", "true"}], + override: true}, + {:getopt, github: "emqx/getopt", tag: "v1.0.2", override: true}, + {:cowboy, github: "emqx/cowboy", tag: "2.8.2", override: true}, + {:cowlib, "~> 2.8", override: true}, + {:poolboy, github: "emqx/poolboy", tag: "1.5.2", override: true}, + {:esockd, github: "emqx/esockd", tag: "5.8.0", override: true}, + {:gproc, "~> 0.9", override: true}, + {:eetcd, "~> 0.3", override: true}, + {:grpc, github: "emqx/grpc-erl", tag: "0.6.2", override: true}, + {:pbkdf2, github: "emqx/erlang-pbkdf2", tag: "2.0.4", override: true}, + {:typerefl, github: "k32/typerefl", tag: "0.6.2", manager: :rebar3, override: true} + ] + end +end diff --git a/mix.lock b/mix.lock new file mode 100644 index 000000000..335c12bf5 --- /dev/null +++ b/mix.lock @@ -0,0 +1,35 @@ +%{ + "cowboy": {:git, "https://github.com/emqx/cowboy.git", "b89d4689a04149b1a4a3641280aa5c5643f921b2", [tag: "2.8.2"]}, + "cowlib": {:hex, :cowlib, "2.11.0", "0b9ff9c346629256c42ebe1eeb769a83c6cb771a6ee5960bd110ab0b9b872063", [:make, :rebar3], [], "hexpm", "2b3e9da0b21c4565751a6d4901c20d1b4cc25cbb7fd50d91d2ab6dd287bc86a9"}, + "cuttlefish": {:git, "https://github.com/emqx/cuttlefish.git", "1180224fb60d87ef41307c949453248d4ebef761", []}, + "ecpool": {:git, "https://github.com/emqx/ecpool.git", "0516d2cebd14654ef8c583c347e4a0b01363b86d", [tag: "0.5.1"]}, + "eetcd": {:hex, :eetcd, "0.3.4", "27e8b4775230c53a9ef602f62a1603591302b40b2eb195d567edffb35b6cf1a2", [:rebar3], [{:gun, "1.3.3", [hex: :gun, repo: "hexpm", optional: false]}], "hexpm", "b763c0e1a9741d39a62f5a19186a342863eacbc769151c4e81db5790efecefca"}, + "ehttpc": {:git, "https://github.com/emqx/ehttpc.git", "ac4b513382bab731e91f90e0b70917577f8ddca0", [tag: "0.1.6"]}, + "ekka": {:git, "https://github.com/emqx/ekka.git", "103d7d3c49a040010a8b95ba029b882e570edf8c", [tag: "0.9.0"]}, + "emqtt": {:git, "https://github.com/emqx/emqtt.git", "9e867b1fcaadbfcce45ea75d3721f982907ae417", [tag: "v1.2.3"]}, + "esockd": {:git, "https://github.com/emqx/esockd.git", "9b959fc11a1c398a589892f335235be6c5b4a454", [tag: "5.8.0"]}, + "estatsd": {:git, "https://github.com/emqx/estatsd.git", "5184d846b7ecb83509bd4d32695c60428c0198cd", [tag: "0.1.0"]}, + "gen_coap": {:git, "https://github.com/emqx/gen_coap.git", "9bf5e7f795badf68e2fb4eb226f576308f5b1bb4", [tag: "v0.3.2"]}, + "gen_rpc": {:git, "https://github.com/emqx/gen_rpc.git", "fb7418dc8cf7e97d153fba073bee0fac07dce753", [tag: "2.5.1"]}, + "getopt": {:git, "https://github.com/emqx/getopt.git", "215f2083408e1fe562d441aea6062bf5d9e1fb67", [tag: "v1.0.2"]}, + "gpb": {:hex, :gpb, "4.18.0", "305548ad991583f4b9809e905d6a17475ab8df85116cb3c1269fda1e4424c7ea", [:make, :rebar3], [], "hexpm", "c2bb843866e627e1e0181c2f5e4b3ee79cbb8cd3574f66767e7f1d5130d6b025"}, + "gproc": {:hex, :gproc, "0.9.0", "853ccb7805e9ada25d227a157ba966f7b34508f386a3e7e21992b1b484230699", [:rebar3], [], "hexpm", "587e8af698ccd3504cf4ba8d90f893ede2b0f58cabb8a916e2bf9321de3cf10b"}, + "grpc": {:git, "https://github.com/emqx/grpc-erl.git", "f8ba39eb075fb2a7f370563045d5e5d0914f2703", [tag: "0.6.2"]}, + "gun": {:git, "https://github.com/emqx/gun.git", "e1b5e14139e2a936ad6561bf960f70f1e80b81e2", [tag: "1.3.4"]}, + "hocon": {:git, "https://github.com/emqx/hocon.git", "ff4d2205ec8a14f96f30bcee0adaca30d2d487f1", []}, + "jiffy": {:git, "https://github.com/emqx/jiffy.git", "baa1f4e750ae3c5c9e54f9c2e52280b7fc24a8d9", [tag: "1.0.5"]}, + "jose": {:hex, :jose, "1.11.1", "59da64010c69aad6cde2f5b9248b896b84472e99bd18f246085b7b9fe435dcdb", [:mix, :rebar3], [], "hexpm", "078f6c9fb3cd2f4cfafc972c814261a7d1e8d2b3685c0a76eb87e158efff1ac5"}, + "jsx": {:hex, :jsx, "3.1.0", "d12516baa0bb23a59bb35dccaf02a1bd08243fcbb9efe24f2d9d056ccff71268", [:rebar3], [], "hexpm", "0c5cc8fdc11b53cc25cf65ac6705ad39e54ecc56d1c22e4adb8f5a53fb9427f3"}, + "luerl": {:git, "https://github.com/rvirding/luerl.git", "fc668ef337b04ca2aee83c648cf6853dab8babe6", []}, + "lwm2m_coap": {:git, "https://github.com/emqx/lwm2m-coap.git", "258e9bd3762124395e83c1e68a1583b84718230f", [tag: "v1.1.2"]}, + "minirest": {:git, "https://github.com/emqx/minirest.git", "d7a4a8080cae4a9299f221ce16cfb90bd7d80697", [tag: "0.3.5"]}, + "mysql": {:git, "https://github.com/emqx/mysql-otp.git", "bdabac44cc8836a9e23897b7e1b77c7df7e04f70", [tag: "1.7.1"]}, + "pbkdf2": {:git, "https://github.com/emqx/erlang-pbkdf2.git", "45d9981209ea07a83a58cf85aaf8236457da4342", [tag: "2.0.4"]}, + "poolboy": {:git, "https://github.com/emqx/poolboy.git", "29be47db8c2be38b18c908e43a80ebb7b9b6116b", [tag: "1.5.2"]}, + "prometheus": {:git, "https://github.com/emqx/prometheus.erl.git", "a41488df09472448057d264ef520cf2f71d925f8", [tag: "v3.1.1"]}, + "ranch": {:git, "https://github.com/ninenines/ranch", "3190aef88aea04d6dce8545fe9b4574288903f44", [tag: "1.7.1"]}, + "recon": {:hex, :recon, "2.5.1", "430ffa60685ac1efdfb1fe4c97b8767c92d0d92e6e7c3e8621559ba77598678a", [:mix, :rebar3], [], "hexpm", "5721c6b6d50122d8f68cccac712caa1231f97894bab779eff5ff0f886cb44648"}, + "snabbkaffe": {:git, "https://github.com/kafka4beam/snabbkaffe.git", "2f2f6ad09b97e33ba66b195665cef17d04598abd", [tag: "0.13.0"]}, + "ssl_verify_fun": {:git, "https://github.com/deadtrickster/ssl_verify_fun.erl.git", "c5718226b0b9f3d1a38ef6ca3c3b4c75f53dda92", [tag: "1.1.4"]}, + "typerefl": {:git, "https://github.com/k32/typerefl.git", "a1fdd359741a7f58498a6682eb608ff77939b22e", [tag: "0.6.2"]}, +}