A comprehensive LFE rebar3 plugin for all your LFE tooling needs
About ↟
This plugin originally started life as a shell script (lfetool
-- there's
even a T-shirt for it!), then it toyed with integrating with rebar
(the
original). Around that time, though, rebar3
was under initial development,
and LFE took a chance on it as an early adopter. This lead to a whole series of
LFE plugins, but after a few years momentum was lost.
Those early rebar3
efforts have been combined into a single plugin in this
project, with many updates and using all the latest approaches developed in
rebar3
's now mature ecosystem.
Features ↟
- Create new LFE projects:
rebar3 new lfe-lib
rebar3 new lfe-main
rebar3 new lfe-escript
rebar3 new lfe-app
rebar3 new lfe-release
- Create new LFE behaviour files:
rebar3 new lfe-sup name=my-sup
rebar3 new lfe-server name=my-server
rebar3 new lfe-statem-handle-event name=my-statem
rebar3 new lfe-statem-state-functions name=my-statem
- Start up an LFE REPL:
rebar3 lfe repl
- Compile LFE source code:
rebar3 lfe compile
- Run tests using the LFE testing library (wrapper for eunit)
rebar3 lfe ltest
rebar3 lfe ltest -tunit
rebar3 lfe ltest -tsystem
rebar3 lfe ltest -tintegration
rebar3 lfe ltest -tall
- Run an LFE project's
main/1
function as an lfescript (runrebar3 new lfe-main
to see an example):rebar3 lfe run
rebar3 lfe run -- 1 2 5
rebar3 lfe run -main some/path/main.lfe
- Escriptize an LFE escript project:
rebar3 ecsriptize
- Run an escriptized LFE escript project:
rebar3 lfe run-ecsript
- Generate an LFE/OTP release
rebar3 release
- Run an LFE/OTP release project's release script (
COMMAND
can bestart
,stop
,status
,ping
, etc.):rebar3 lfe run-release COMMAND
- Convert LFE data files to Erlang data file
rebar3 lfe confabulate lfe-data.lfe erl_data.erl
- Cleanup
rebar3 lfe clean
rebar3 lfe clean-build
rebar3 lfe clean-cache
rebar3 lfe clean-all
- Metadata
rebar3 lfe versions
Setup ↟
Add the plugin to your rebar.config
(stable):
{plugins, [
{rebar3_lfe, "0.4.10"}
]}.
If you have installed the rebar3_lfe plugin to be available system wide, and you need to update it, the cleanest way to do this is following these steps:
- edit the
rebar3_lfe
entry in~/.config/rebar3/rebar.config
to point to the version you want to use - delete the existing plugins with
rm -rf ~/.cache/rebar3/plugins/*lfe*
- execute a command from the plugin (such as
rebar3 lfe versions
) to automatically download the newly configured version
Documentation ↟
Detailed usage is provided in the project documentation.