<feed xmlns='http://www.w3.org/2005/Atom'>
<title>erlang.mk.git/test/core_plugins.mk, branch fix-amqp_client</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>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>
<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>
</feed>
