Age | Commit message (Collapse) | Author |
|
Fixes #1004
|
|
|
|
It will be removed at a later date.
|
|
We use $1 instead of $(1) or $p instead of $(p) when possible,
except when building variable names (pkg_$(p)_name for example,
but also $(dep_fetch_$(1))).
|
|
This method dates back from the beginnings of Erlang.mk
and should not have been used for around a decade by now.
Adding "git" to the offending dep lines is enough to upgrade.
|
|
Use the query_* equivalents instead.
|
|
This should both be more solid and more secure.
|
|
|
|
We now provide the version as a tagged tuple indicating
whether this is a branch, tag or ref. This should help
rebar automatically upgrade dependencies, and remove
an annoying warning when rebar is used.
In order to detect the type of version the dependencies
must be available, therefore the rebar.config target now
depends on the deps target.
To test this the Cowboy package version had to be changed
from 1.0.4 to master. This is a breaking change, but I do
not expect too many people to still use 1.0.4.
|
|
When switching between normal build and running tests
it takes a while for modules to be rebuilt. With the
beam-cache the files are saved and can be restored
when switching between contexts. This greatly speeds
up the context switching.
|
|
Instead of calling `find` we use $(wildcard ...) and some
logic on top to find all the files we are looking for.
This is more efficient and greatly helps reduce re-build
times when there's little to be done, particularly when
many dependencies are involved.
|
|
|
|
|
|
|
|
|
|
The bug was introduced in dcc2741 when erl_first_files autopatch
was reworked.
|
|
|
|
|
|
Thanks to David.Gao / DavidAlphaFox for the original patch.
|
|
|
|
|
|
|
|
|
|
Also remove usage of grep for ignoring files since find
can do this directly.
|
|
Loïc: Added more info to guide.
|
|
|
|
This is still a bit hackish but it appears that some projects
have wrong erl_first_files entries (module exists but not at
the location configured) and so we have to do a bit of
manipulation before we can find the module. We also need
to be cautious about .yrl/.xrl because their corresponding
.erl files may not exist in the repository before compilation
yet can be listed in erl_first_files.
|
|
We use the same strategy as ~= we try to look for the version
in the .lock file and if we can't find it we guess for now.
|
|
Hut has both a Makefile and erlang.mk but the default target
does not build the project. To fix a few packages we have a
special patch HUT_PATCH that will call the appropriate target.
|
|
|
|
|
|
|
|
We expect users to fetch these projects from hex.pm now
and the packages no longer worked.
|
|
Otherwise some dependencies may get the wrong ERLC_OPTS
and may end up with invalid or duplicate options.
|
|
It was removed by mistake.
|
|
|
|
Thanks Luke Bakken for the report!
|
|
This is the case in erlang-systemd [1]. As far as I can tell, the format
is the same for the bits Erlang.mk is interested in.
The testsuite is expanded to use version 0.6.0 of erlang-systemd.
[1] https://github.com/rabbitmq/erlang-systemd
|
|
This reverts commit 1762278d9654e5f90ab587cbde7bac0e2b220014.
|
|
|
|
To reproduce:
```
git clone https://github.com/rabbitmq/inet_tcp_proxy.git
cd inet_tcp_proxy
$ make BRANCH=master QUERY='name fetch_method repo version absolute_path' query-deps
/bin/sh: /home/lbakken/development/rabbitmq/umbrella/deps/inet_tcp_proxy/.erlang.mk/recursive-tmp-deps-231462.log: No such file or directory
rm: cannot remove '/home/lbakken/development/rabbitmq/umbrella/deps/inet_tcp_proxy/.erlang.mk/recursive-tmp-deps-231462.log': No such file or directory
make: *** [erlang.mk:7642: /home/lbakken/development/rabbitmq/umbrella/deps/inet_tcp_proxy/.erlang.mk/recursive-deps-list.log] Error 1
```
|
|
In commit c55d0dcd6182983521d4ab34478cfe4b093edb12, the recipe was
improved to only rebuild out-of-date test files (not everything as it
was the case before).
However in the process, the exit status of the Erlang compiler was not
checked anymore, leading to build failures in the test directory to be
ignored. This patch fixes this bug.
|
|
|
|
... instead of always rebuilding all of them each time a testsuite is
executed.
The only exception is when a Makefile was modified: like for main
source files, test modules are all recompiled in this case.
|
|
In some cases the input will be parsed as UTF-8 and converted
to "characters" and in others it won't and will be processed
as bytes (for example, `erl -oldshell` will do that). This means
that encoding-dependent characters such as "é" only need to be
converted to binary in the former case.
To detect which situation we are in we check what the value of
"é" is. If it is [233] then the eval input was parsed as UTF-8
and converted to characters. Otherwise we assume it wasn't.
|
|
This fixes compiler warnings if modules under `tests` implement
behaviors defined in `src`. This way, we make sure behaviors are
compiled before the test modules.
|
|
The query-deps, query-doc-deps, query-rel-deps, query-test-deps
and query-shell-deps targets go through dependencies and print
some information about them:
$ make query-deps
...
cowboy: cowlib git https://github.com/ninenines/cowlib 2.7.3
cowboy: ranch git https://github.com/ninenines/ranch 1.7.1
$ make query-deps QUERY="name repo version absolute_path"
...
cowboy: cowlib https://github.com/ninenines/cowlib 2.7.3 /path/to/deps/cowlib
cowboy: ranch https://github.com/ninenines/ranch 1.7.1 /path/to/deps/ranch
The query-deps target is recursive; the others aren't. This
mirrors the behavior when fetching and building dependencies.
The full list of options is:
QUERY="fetch_method name repo version extra absolute_path"
When an option has no corresponding value, "-" will be printed.
For example most fetch methods do not have extra information to
print. When there is extra information, the value will be prefixed
with a descriptive name. For example: package-name=uuid_erl
This commit also introduces changes to deps handling: some of
the functions for querying will now be used directly. In the
future the goal is to remove the old dep_name, dep_commit, etc.
functions and replace their usage with the new query functions.
Custom fetch methods should implement query functions in order
to have information about the relevant dependencies printed
properly.
|
|
In recent versions there has been issues with disabling +A
completely. Starting in OTP-23 the VM will automatically
use +A1 when the +A0 argument is given, as well.
|
|
Properly fixes partisan.
|
|
Fixes partisan.
|