|
|
@@ -0,0 +1,50 @@
|
|
|
+# EMQ X Extra plugin apps
|
|
|
+
|
|
|
+This directory keeps a `plugins` file which defines all the approved
|
|
|
+external plugins from open-source community.
|
|
|
+
|
|
|
+The (maybe broken) symlinks are keept to help testing plugins
|
|
|
+in this umbrella project.
|
|
|
+
|
|
|
+## How to build `plugin_foo`
|
|
|
+
|
|
|
+Add `plugin_foo` as a rebar3 dependency in `plugins` file.
|
|
|
+
|
|
|
+e.g.
|
|
|
+
|
|
|
+```
|
|
|
+{erlang_plugins,
|
|
|
+ [ {plugin_foo, {git, "https://github.com/bar/plugin-foo.git", {tag, "0.1.0"}}}
|
|
|
+ ]
|
|
|
+}.
|
|
|
+```
|
|
|
+
|
|
|
+Exeucte command
|
|
|
+
|
|
|
+```
|
|
|
+export EMQX_EXTRA_PLUGINS='plugin_foo'
|
|
|
+make
|
|
|
+```
|
|
|
+
|
|
|
+The plugin source code should downloaded to `_build/default/lib/plugin_foo`
|
|
|
+
|
|
|
+NOTE: Shallow clone with depth=1 is used for git dependencies.
|
|
|
+
|
|
|
+## How to test `plugin_foo`
|
|
|
+
|
|
|
+If the source code in `_build` is already symlinked from `lib-extra/`,
|
|
|
+you may directlly run tests with commands below.
|
|
|
+
|
|
|
+```bash
|
|
|
+./rebar3 eunit --dir lib-extra/plugin_foo
|
|
|
+./rebar3 ct --dir lib-extra/plugin_foo
|
|
|
+```
|
|
|
+
|
|
|
+In case the plugin is being actively developed
|
|
|
+it can be cloned to `lib-extra`, e.g. `lib-extra/plugin-bar-dev`
|
|
|
+then it can be tested with commands below:
|
|
|
+
|
|
|
+```bash
|
|
|
+./rebar3 eunit --dir lib-extra/plugin-bar-dev
|
|
|
+./rebar3 ct --dir lib-extra/plugin-bar-dev
|
|
|
+```
|