We recommend to use the rebar3
toolchain to generate the basic Erlang OTP application boilerplate and start from there.
rebar3 new app name="myplugin" desc="this is my first VerneMQ plugin"===> Writing myplugin/src/myplugin_app.erl===> Writing myplugin/src/myplugin_sup.erl===> Writing myplugin/src/myplugin.app.src===> Writing myplugin/rebar.config===> Writing myplugin/.gitignore===> Writing myplugin/LICENSE===> Writing myplugin/README.md
Change the rebar.config
file to include the vernemq_dev
dependency:
{erl_opts, [debug_info]}.{deps, [{vernemq_dev,{git, "git://github.com/vernemq/vernemq_dev.git", {branch, "master"}}}]}.
Compile the application, this will automatically fetch vernemq_dev
.
rebar3 compile===> Verifying dependencies...===> Fetching vmq_commons ({git,"git://github.com/vernemq/vernemq_dev.git",{branch,"master"}})===> Compiling vernemq_dev===> Compiling myplugin
Now you're ready to implement the hooks. Don't forget to add the proper vmq_plugin_hooks
entries to your src/myplugin.app.src
file.
For a complete example, see the vernemq_demo_plugin.