<feed xmlns='http://www.w3.org/2005/Atom'>
<title>erlang.mk.git/test/core_plugins.mk, branch work-20241127</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>Move templates outside the source .mk files</title>
<updated>2024-11-22T13:47:20+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2024-11-21T14:55:37+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/erlang.mk.git/commit/?id=a6f9a450af99a7a95848dde671de658bb53a43dc'/>
<id>a6f9a450af99a7a95848dde671de658bb53a43dc</id>
<content type='text'>
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 &lt; $(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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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 &lt; $(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.
</pre>
</div>
</content>
</entry>
<entry>
<title>Greatly speed up test speed with -j</title>
<updated>2024-11-13T16:23:22+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2024-11-13T16:23:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/erlang.mk.git/commit/?id=e903cc89c5cc389305ee8dc0b15a8db250de1b37'/>
<id>e903cc89c5cc389305ee8dc0b15a8db250de1b37</id>
<content type='text'>
The tests were waiting for the test group to finish before
they could continue with the next test group. Now "core"
and "all" targets directly depend on individual test cases,
allowing parallel Make to get to the next tests quicker and
removing 1/3rd of the total run time.

  make check -j8 -k  5790,16s user 1207,08s system 627% cpu 18:35,49 total
  make check -j8 -k  6250,13s user 1326,77s system 972% cpu 12:59,16 total
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The tests were waiting for the test group to finish before
they could continue with the next test group. Now "core"
and "all" targets directly depend on individual test cases,
allowing parallel Make to get to the next tests quicker and
removing 1/3rd of the total run time.

  make check -j8 -k  5790,16s user 1207,08s system 627% cpu 18:35,49 total
  make check -j8 -k  6250,13s user 1326,77s system 972% cpu 12:59,16 total
</pre>
</div>
</content>
</entry>
<entry>
<title>Autopatch: allow configuring REBAR_GIT and REBAR_COMMIT</title>
<updated>2018-12-07T18:40:02+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2018-12-07T18:40:02+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/erlang.mk.git/commit/?id=a3cd50792d0ed1c5dfee66ff79ee7117057e9970'/>
<id>a3cd50792d0ed1c5dfee66ff79ee7117057e9970</id>
<content type='text'>
And use this in the tests to fetch Rebar only once and then
clone from the local repository. This should speed up tests
a little.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
And use this in the tests to fetch Rebar only once and then
clone from the local repository. This should speed up tests
a little.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add test for plugins that include the word rebar</title>
<updated>2018-11-30T08:31:47+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2018-11-30T08:31:47+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/erlang.mk.git/commit/?id=8e655f1ada855bcd31afec078c1855e315cafeda'/>
<id>8e655f1ada855bcd31afec078c1855e315cafeda</id>
<content type='text'>
Seems that was fixed a while ago.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Seems that was fixed a while ago.
</pre>
</div>
</content>
</entry>
<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>Remove some non-portable "echo -e" from a couple tests</title>
<updated>2018-11-26T18:12:26+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2018-11-26T18:12:26+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/erlang.mk.git/commit/?id=c02adb19ba019716bea47ed13e852d202c2e3a16'/>
<id>c02adb19ba019716bea47ed13e852d202c2e3a16</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Tweak a few tests so they run on all platforms</title>
<updated>2018-11-26T08:13:41+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2018-11-26T08:13:41+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/erlang.mk.git/commit/?id=274d1d4c476cde8332ddfb6a4ab63ef4b861a750'/>
<id>274d1d4c476cde8332ddfb6a4ab63ef4b861a750</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Don't list test cases manually anymore</title>
<updated>2018-05-14T15:01:16+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2018-05-14T15:01:16+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/erlang.mk.git/commit/?id=ce0160ead3306313d85debc951e8f96e8e553d53'/>
<id>ce0160ead3306313d85debc951e8f96e8e553d53</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix use of templates from plugins in apps layout</title>
<updated>2018-05-14T11:23:12+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2018-05-14T11:23:12+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/erlang.mk.git/commit/?id=b92675833b3c5154a1477c18a373420b477c8196'/>
<id>b92675833b3c5154a1477c18a373420b477c8196</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</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>
</feed>
