1
votes

I'm trying to compile custom ejabberd module which has multiple files in src/ and include/. My module is conforming to https://github.com/processone/ejabberd-contrib guidelines and using ejabberdctl module_check produces "ok".

When I'm compiling and installing module with only one source, everything works as expected and ejabberdctl module_install installs module. But when I have multiple source files, ejabberdctl module_install doesn't compile anything but file with exact name of my module.

I want to avoid manual compilation and rebar if possible. So my question is how to configure my module and where so that ejabberdctl module_install can build and install my module. If that is not possible could you point me to some rebar script that can serve that purpose.

And finally can someone point me to some resource that explains why Erlang/OTP projects seem to have rigid file structure (I'm coming form c++ world and there IMO, tools and projects are way more forgiving in respect to file structure)

Details:

  • Erlang 18
  • ejabberd 15.11.120 (built from source)
1

1 Answers

0
votes

if you install module by "ejabberdctl" you don't have to config in ejabberd.yml

other way is install module with source, you must copy file beam to lib/ejabberd... and config file config like README.TXT