<feed xmlns='http://www.w3.org/2005/Atom'>
<title>erlang.mk.git/doc/src/guide/external_plugins.asciidoc, branch remove-most-packages</title>
<subtitle>A build tool for Erlang that just works.
</subtitle>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/erlang.mk.git/'/>
<entry>
<title>Add the target help-plugins to document external plugins</title>
<updated>2018-11-29T14:34:27+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2018-11-29T14:34:27+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/erlang.mk.git/commit/?id=305080b98a4312591efe03872be99951ac09da6e'/>
<id>305080b98a4312591efe03872be99951ac09da6e</id>
<content type='text'>
It's better than extending help:: because this gets printed
at the end instead of before Erlang.mk's own help.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It's better than extending help:: because this gets printed
at the end instead of before Erlang.mk's own help.
</pre>
</div>
</content>
</entry>
<entry>
<title>Support plugins local to the application</title>
<updated>2017-05-15T14:53:11+00:00</updated>
<author>
<name>Jean-Sébastien Pédron</name>
<email>jean-sebastien@rabbitmq.com</email>
</author>
<published>2017-05-12T08:19:24+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/erlang.mk.git/commit/?id=724521b68c19f107437db9fa2ee8def6ff604e0a'/>
<id>724521b68c19f107437db9fa2ee8def6ff604e0a</id>
<content type='text'>
If the application's Makefile specify either:
    DEP_PLUGINS = $(PROJECT)
or e.g.:
    DEP_PLUGINS = $(PROJECT)/mk/dist.mk
then load the plugin from the application instead of a dependency.

This helps when you have an application with common Erlang modules and
Erlang.mk plugins: your common application can load Erlang.mk plugins
exactly like other applications depending on the common application.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If the application's Makefile specify either:
    DEP_PLUGINS = $(PROJECT)
or e.g.:
    DEP_PLUGINS = $(PROJECT)/mk/dist.mk
then load the plugin from the application instead of a dependency.

This helps when you have an application with common Erlang modules and
Erlang.mk plugins: your common application can load Erlang.mk plugins
exactly like other applications depending on the common application.
</pre>
</div>
</content>
</entry>
<entry>
<title>Support early-stage plugins through `$(DEP_EARLY_PLUGINS)`</title>
<updated>2017-05-12T09:57:30+00:00</updated>
<author>
<name>Jean-Sébastien Pédron</name>
<email>jean-sebastien@rabbitmq.com</email>
</author>
<published>2017-05-12T07:30:45+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/erlang.mk.git/commit/?id=cd99adbb98d8965c65f68da2853f14506756d7b3'/>
<id>cd99adbb98d8965c65f68da2853f14506756d7b3</id>
<content type='text'>
Regular plugins (`$(DEP_PLUGINS)`) are loaded near the end of Erlang.mk.
This is fine when you want to modify variables initialized earlier in
Erlang.mk or add new targets and variables.

However, it doesn't allow you to declare more dependencies because they
are loaded too late for that.

This commit introduces a new variable, `$(DEP_EARLY_PLUGINS)`, which can
be used to list plugins meant to be loaded near the beginning of
Erlang.mk. Those allow to append to the list of dependencies.

They work exactly like regular plugins otherwise. The default filename
loaded is `early-plugins.mk`.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Regular plugins (`$(DEP_PLUGINS)`) are loaded near the end of Erlang.mk.
This is fine when you want to modify variables initialized earlier in
Erlang.mk or add new targets and variables.

However, it doesn't allow you to declare more dependencies because they
are loaded too late for that.

This commit introduces a new variable, `$(DEP_EARLY_PLUGINS)`, which can
be used to list plugins meant to be loaded near the beginning of
Erlang.mk. Those allow to append to the list of dependencies.

They work exactly like regular plugins otherwise. The default filename
loaded is `early-plugins.mk`.
</pre>
</div>
</content>
</entry>
<entry>
<title>Generate proper filenames in the docs' HTML output</title>
<updated>2015-12-28T23:28:30+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2015-12-28T23:28:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/erlang.mk.git/commit/?id=be976cf37aff634fc9668e15e7a0b1adacf89595'/>
<id>be976cf37aff634fc9668e15e7a0b1adacf89595</id>
<content type='text'>
This will allow to provide permanent URLs to the documentation.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This will allow to provide permanent URLs to the documentation.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix documentation typo</title>
<updated>2015-11-22T15:51:04+00:00</updated>
<author>
<name>Daniel S. McCain</name>
<email>dsmccain@acm.org</email>
</author>
<published>2015-11-22T15:51:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/erlang.mk.git/commit/?id=9703566b08e25e1cde3c1adeb7de3d3ba6241079'/>
<id>9703566b08e25e1cde3c1adeb7de3d3ba6241079</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix external plugins documentation</title>
<updated>2015-09-11T11:29:33+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2015-09-11T11:29:33+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/erlang.mk.git/commit/?id=6083106b4eb4d27b3d9b8a8a7582ae298801d7d2'/>
<id>6083106b4eb4d27b3d9b8a8a7582ae298801d7d2</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add support for external plugins</title>
<updated>2015-08-27T16:31:58+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2015-08-27T16:31:58+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/erlang.mk.git/commit/?id=a0563a428a2eb2d842dada83437b971ccc8b9fb5'/>
<id>a0563a428a2eb2d842dada83437b971ccc8b9fb5</id>
<content type='text'>
Plugins can automatically be fetched and included from
dependencies. All that is needed is to add either the
dependency name or the name + path of the plugin to the
DEP_PLUGINS variable.

Useful for allowing tools to easily add support for new
targets, adding templates or for putting the whole build
ecosystem in one common dependency.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Plugins can automatically be fetched and included from
dependencies. All that is needed is to add either the
dependency name or the name + path of the plugin to the
DEP_PLUGINS variable.

Useful for allowing tools to easily add support for new
targets, adding templates or for putting the whole build
ecosystem in one common dependency.
</pre>
</div>
</content>
</entry>
</feed>
