I have an umbrella application which contains a router and a number of different services. Currently everything is deployed as a single OTP release and on a single machine. Now I'm splitting everything apart to live on separate nodes.
A few of these services depend on each other for 1) testing purposes, 2) "public helper" functions are exposed for how to send messages to an erlang process. This works well when you want all of the services started on the same node, but what if you don't want to start the dependant application? Just listing the module in the .app
file will ensure that it is started.
Do people typically not depend on an application just to have access to those "public helper" functions? Here is an example to try and explain what I mean:
%
% Public API
%