diff options
author | Loïc Hoguin <[email protected]> | 2024-11-21 15:55:37 +0100 |
---|---|---|
committer | Loïc Hoguin <[email protected]> | 2024-11-22 14:36:39 +0100 |
commit | e299e34960cd8968f7a8a9914e47ea83ed9218c2 (patch) | |
tree | d63594a5a95d23904b8e95bd68387c66e032df85 /doc/src/guide/getting_started.asciidoc | |
parent | 9376f53f549c05cf692d0e259763049a039e96eb (diff) | |
download | erlang.mk-templates.tar.gz erlang.mk-templates.tar.bz2 erlang.mk-templates.zip |
Move templates outside the source .mk filestemplates
Templates now no longer use Make variables for substitution
but instead replace strings with their equivalent:
template_name: Corresponds to n=template_name
project_name: Corresponds to $(PROJECT) or in=project_name
This allows defining templates outside of Makefiles. For
example an external plugin could define their templates
in templates/my_template.erl and then have the following
in the included Makefile:
tpl_my_template = $(file < $(THIS)/templates/my_template.erl)
By default the created file will be in src/template_name.erl.
This can be overriden with the tplp_* variable:
tplp_my_template = src/model/my_template.erl
Substitution is applied both to the template contents and
to its path.
In addition, attempting to overwrite an existing file when
creating a template will result in failure.
Diffstat (limited to 'doc/src/guide/getting_started.asciidoc')
-rw-r--r-- | doc/src/guide/getting_started.asciidoc | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/doc/src/guide/getting_started.asciidoc b/doc/src/guide/getting_started.asciidoc index 5f782ca..c1e7589 100644 --- a/doc/src/guide/getting_started.asciidoc +++ b/doc/src/guide/getting_started.asciidoc @@ -271,8 +271,20 @@ You can list all available templates with the `list-templates` target: [source,bash] +---- $ make list-templates -Available templates: cowboy_http cowboy_loop cowboy_rest cowboy_ws gen_fsm gen_server gen_statem ranch_protocol supervisor +Available templates: + cowboy_http_h + cowboy_loop_h + cowboy_rest_h + cowboy_websocket_h + gen_fsm + gen_server + gen_statem + module + ranch_protocol + supervisor +---- To generate a module, let's say a `gen_server`, all you need to do is to call `make new` with the appropriate arguments: |