<feed xmlns='http://www.w3.org/2005/Atom'>
<title>erlang.mk.git/core, branch 2016.12.08</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>Only delete ebin when fetching Erlang.mk projects</title>
<updated>2016-11-20T16:46:50+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2016-11-20T16:20:46+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/erlang.mk.git/commit/?id=14b92a1ac83a2c0bc1c98014d65bb90bc2e1efb2'/>
<id>14b92a1ac83a2c0bc1c98014d65bb90bc2e1efb2</id>
<content type='text'>
Erlang.mk projects either have a .app.src, or just the Makefile
with an optional .app file for compatibility.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Erlang.mk projects either have a .app.src, or just the Makefile
with an optional .app file for compatibility.
</pre>
</div>
</content>
</entry>
<entry>
<title>Better .app autopatch handling</title>
<updated>2016-11-20T14:07:05+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2016-11-20T13:58:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/erlang.mk.git/commit/?id=8a2ccf7a8f8d1f9c85afa81f339ba926330a71fc'/>
<id>8a2ccf7a8f8d1f9c85afa81f339ba926330a71fc</id>
<content type='text'>
If we have a .app and a .app.src we delete the .app.

If we have a Rebar project with a .app file, rename it to
.app.src and continue with autopatch.

If we have a non-Rebar project, leave the .app file, and then...

For all cases, delete the ebin/ folder after autopatch completes.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If we have a .app and a .app.src we delete the .app.

If we have a Rebar project with a .app file, rename it to
.app.src and continue with autopatch.

If we have a non-Rebar project, leave the .app file, and then...

For all cases, delete the ebin/ folder after autopatch completes.
</pre>
</div>
</content>
</entry>
<entry>
<title>Don't autopatch if rebar is mentioned in comments</title>
<updated>2016-11-19T10:01:27+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2016-11-19T09:53:31+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/erlang.mk.git/commit/?id=a8fffe130e6ad047c2b04afe4fd1d3df532f0d1d'/>
<id>a8fffe130e6ad047c2b04afe4fd1d3df532f0d1d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix running Dialyzer on apps/* when they have deps</title>
<updated>2016-10-30T21:42:41+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2016-10-30T21:11:18+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/erlang.mk.git/commit/?id=43a11f5412fa1ed278734f72142982cf3f4f99ee'/>
<id>43a11f5412fa1ed278734f72142982cf3f4f99ee</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Use := instead of = for list of files</title>
<updated>2016-10-29T21:13:42+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2016-10-29T21:13:42+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/erlang.mk.git/commit/?id=373122de2f3e3a6e937e527044ae3b62ba939c96'/>
<id>373122de2f3e3a6e937e527044ae3b62ba939c96</id>
<content type='text'>
This will make sure we don't look twice.

Also make a single call to find the common file formats
rather than many calls.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This will make sure we don't look twice.

Also make a single call to find the common file formats
rather than many calls.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add "make relup"</title>
<updated>2016-10-28T16:22:49+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2016-10-28T16:22:49+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/erlang.mk.git/commit/?id=20f480531e0caafcb1f988eaadea1b3b6a3caf72'/>
<id>20f480531e0caafcb1f988eaadea1b3b6a3caf72</id>
<content type='text'>
The initial documentation is a bit rough. It's getting late and
I'd like to have this in sooner rather than later. :-)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The initial documentation is a bit rough. It's getting late and
I'd like to have this in sooner rather than later. :-)
</pre>
</div>
</content>
</entry>
<entry>
<title>Use an intermediate timestamp file to know when to touch source files</title>
<updated>2016-10-28T10:16:50+00:00</updated>
<author>
<name>Jean-Sébastien Pédron</name>
<email>jean-sebastien@rabbitmq.com</email>
</author>
<published>2015-10-27T15:59:43+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/erlang.mk.git/commit/?id=4717afcc480ae1ed1141d409af82417984a22aff'/>
<id>4717afcc480ae1ed1141d409af82417984a22aff</id>
<content type='text'>
The previous approach spawned a shell for every single source files. As
we disable parallel make jobs, this is very time consuming.

The new approach uses an intermediate timestamp file in $(ERLANG_MK_TMP)
to record the last modification of any of $(MAKEFILE_LIST) and touch
all source files in one command. Then, the .app file depends on this
timestamp file.

We test the existence of this timestamp file: if if doesn't exist, don't
touch source files, they will be built anyway.

$(PROJECT).d now depends directly on $(MAKEFILE_LIST); before, this
dependency was indirect through $(ERL_FILES). Also, once $(ERL_FILES)
were touched, we do the same with $(PROJECT).d because there is no need
to regen it because of this.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The previous approach spawned a shell for every single source files. As
we disable parallel make jobs, this is very time consuming.

The new approach uses an intermediate timestamp file in $(ERLANG_MK_TMP)
to record the last modification of any of $(MAKEFILE_LIST) and touch
all source files in one command. Then, the .app file depends on this
timestamp file.

We test the existence of this timestamp file: if if doesn't exist, don't
touch source files, they will be built anyway.

$(PROJECT).d now depends directly on $(MAKEFILE_LIST); before, this
dependency was indirect through $(ERL_FILES). Also, once $(ERL_FILES)
were touched, we do the same with $(PROJECT).d because there is no need
to regen it because of this.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix Hex package downloads on FreeBSD</title>
<updated>2016-10-26T22:32:48+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2016-10-26T22:32:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/erlang.mk.git/commit/?id=34a5d5ca352bf06e6208b80bfb8dd32b8e9138c5'/>
<id>34a5d5ca352bf06e6208b80bfb8dd32b8e9138c5</id>
<content type='text'>
Error has been detected during the nightly packages build.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Error has been detected during the nightly packages build.
</pre>
</div>
</content>
</entry>
<entry>
<title>Use curl to fetch Hex dependencies</title>
<updated>2016-10-25T17:26:26+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2016-10-25T17:26:26+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/erlang.mk.git/commit/?id=503be6d23babf96e6db0382c450967ec8883b285'/>
<id>503be6d23babf96e6db0382c450967ec8883b285</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Use curl instead of wget/erl for fetching files</title>
<updated>2016-10-25T15:41:41+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2016-10-25T15:41:41+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/erlang.mk.git/commit/?id=0c11cdf485310b584624187a7a757b9a6863887e'/>
<id>0c11cdf485310b584624187a7a757b9a6863887e</id>
<content type='text'>
After a lot of soul searching and experiments, I am opting
to using curl for fetching files. It works with very little
manipulation on all supported systems. Some might need it
installed, but most come with it.

While wget was working, it had TLS validation deactivated
because some users didn't have CA certificates on their
system or wget was not configured properly. This does not
seem to be a problem with curl as far as I tested, in
particular on OSX.

The fallback to use Erlang was also insecure, and probably
not the best idea. Let's keep things simple. Curl is required.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
After a lot of soul searching and experiments, I am opting
to using curl for fetching files. It works with very little
manipulation on all supported systems. Some might need it
installed, but most come with it.

While wget was working, it had TLS validation deactivated
because some users didn't have CA certificates on their
system or wget was not configured properly. This does not
seem to be a problem with curl as far as I tested, in
particular on OSX.

The fallback to use Erlang was also insecure, and probably
not the best idea. Let's keep things simple. Curl is required.
</pre>
</div>
</content>
</entry>
</feed>
