diff --git a/apps/emqx_resource/etc/emqx_resource.conf b/apps/emqx_resource/etc/emqx_resource.conf new file mode 100644 index 000000000..1f038ef8b --- /dev/null +++ b/apps/emqx_resource/etc/emqx_resource.conf @@ -0,0 +1,3 @@ +##-------------------------------------------------------------------- +## EMQ X Resource Plugin +##-------------------------------------------------------------------- diff --git a/apps/emqx_resource/priv/emqx_resource.schema b/apps/emqx_resource/priv/emqx_resource.schema new file mode 100644 index 000000000..8246dc6a7 --- /dev/null +++ b/apps/emqx_resource/priv/emqx_resource.schema @@ -0,0 +1,2 @@ +%%-*- mode: erlang -*- +%% emqx-resource config mapping diff --git a/apps/emqx_resource/rebar.config b/apps/emqx_resource/rebar.config index 2505d2e5c..089985cec 100644 --- a/apps/emqx_resource/rebar.config +++ b/apps/emqx_resource/rebar.config @@ -1,10 +1,14 @@ {erl_opts, [ debug_info + , nowarn_unused_import %, {d, 'RESOURCE_DEBUG'} ]}. {erl_first_files, ["src/emqx_resource_transform.erl"]}. -%{extra_src_dirs, ["examples"]}. +{extra_src_dirs, ["examples"]}. + +{dialyzer, [{warnings, [unmatched_returns, error_handling]} + ]}. {deps, [ {hocon, {git, "https://github.com/emqx/hocon", {branch, "master"}}} , {jsx, {git, "https://github.com/talentdeficit/jsx", {tag, "v3.1.0"}}} diff --git a/apps/emqx_resource/src/emqx_resource_app.erl b/apps/emqx_resource/src/emqx_resource_app.erl index e3ef9f3d2..d2c499490 100644 --- a/apps/emqx_resource/src/emqx_resource_app.erl +++ b/apps/emqx_resource/src/emqx_resource_app.erl @@ -20,6 +20,8 @@ -include("emqx_resource.hrl"). +-emqx_plugin(?MODULE). + -export([start/2, stop/1]). start(_StartType, _StartArgs) -> diff --git a/data/loaded_plugins.tmpl b/data/loaded_plugins.tmpl index d0dac7fe1..236eeaa95 100644 --- a/data/loaded_plugins.tmpl +++ b/data/loaded_plugins.tmpl @@ -5,4 +5,5 @@ {emqx_retainer, {{enable_plugin_emqx_retainer}}}. {emqx_telemetry, {{enable_plugin_emqx_telemetry}}}. {emqx_rule_engine, {{enable_plugin_emqx_rule_engine}}}. +{emqx_resource, {{enable_plugin_emqx_resource}}}. {emqx_bridge_mqtt, {{enable_plugin_emqx_bridge_mqtt}}}. diff --git a/rebar.config.erl b/rebar.config.erl index e3a6c427b..f46dfa0d8 100644 --- a/rebar.config.erl +++ b/rebar.config.erl @@ -180,6 +180,7 @@ overlay_vars_rel(RelType) -> end, [ {enable_plugin_emqx_rule_engine, RelType =:= cloud} , {enable_plugin_emqx_bridge_mqtt, RelType =:= edge} + , {enable_plugin_emqx_resource, true} , {enable_plugin_emqx_modules, false} %% modules is not a plugin in ce , {enable_plugin_emqx_recon, true} , {enable_plugin_emqx_retainer, true}