Age | Commit message (Collapse) | Author |
|
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.
|
|
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
|
|
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.
|
|
Seems that was fixed a while ago.
|
|
It's better than extending help:: because this gets printed
at the end instead of before Erlang.mk's own help.
|
|
|
|
|
|
|
|
|
|
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.
|
|
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`.
|
|
|
|
|
|
|
|
Not only simpler but also faster, especially on Windows.
|
|
This way if for some unknown reason $(APP_TO_CLEAN) isn't
defined, we don't delete the entire world.
|
|
The previous code did:
if `<code that prints nothing on stdout>`; then ...
So the test failed but not for the good reason. The forked shell
printed:
/bin/sh: gmake[2]:: not found
Now, both "Run 'make ...'" tests are simplified and do not rely on
backticks and test(1) anymore. Either the output is inspected or the
exit code is checked.
|
|
This fixes an issue on OSX where the OSX make 3.81 has a bug with
multilines single quoted arguments to commands: it strips the
backslash and newlines entirely. This makes it impossible to use
sed -i properly. Since this is the test suite, we can instead use
perl -ni, which can do the same and is available and work fine on
all tested platforms.
|
|
Also make git commands quiet.
|
|
|