Age | Commit message (Collapse) | Author |
|
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.
|
|
This is a waste of time and if they were to fail, this does not serve
the Erlang.mk testsuite.
|
|
It was previously "pinned" to its `master` branch. Unforunately, the
testcase started to fail after `farwest` changed its own pinning of
`cowlib`.
By pinning to a specific version (or commit in this case) of `farwest`,
we make sure this won't happen again.
|
|
The -lerl_interface library is getting removed in OTP-23.
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
... instead of hard-coding `priv`.
|
|
Seems it doesn't passs on my machine at the moment.
It gets stuck. Maybe it doesn't work with OTP 22.1?
|
|
|
|
|
|
|
|
Internally, strings were stored using Unicode code points. However, when
being written to disk with the `file:write_file()` function, there were
converted to ISO-8859-1. According to the documentation, that is because
the file module is bytewise-oriented: the conversion to another encoding
than ISO-8859-1 is the responsibility of the caller.
Using unicode:character_to_binary() permits the script to convert the
Unicode string to an UTF-8-encoded binary.
Without this patch, the added testcase would fail with the following
error:
gmake[3]: *** No rule to make target '(...)/erlang.mk/test/h��test_core_makedep_non_usascii_paths/deps/test_core_makedep_non_usascii_paths_dep/include/hello.hrl', needed by 'src/hello.erl'. Stop.
In this case, the path (passed from the Makefile to the `makedep.erl`
script) contains UTF-8-encoded `é` characters but it was converted when
doing the final file I/O.
|
|
They are already listed in `$^` and thus already taken care of. No need
to visit them twice.
|
|
To do that, we simply include the PID of the Make process in temporary
file.
We also compare the finished temporary file with the actual target file.
If they are different, the temporary file is moved to the final target,
otherwise, we just get rid of the temporary file. This way, the target
timestamp stays the same if the content does not change.
|
|
There are issues with -j in 4.1 and earlier.
|
|
--first-parent is not available on CentOS 7.
|
|
|
|
Getting:
Nothing to be done for `ct'
Instead of, in later versions:
Nothing to be done for 'ct'
Only check for the start of the sentence instead.
|
|
|
|
... in addition to the `$(force_rebuild_dep)` function.
It's easier for the common use case than specify a function.
|
|
Using new wait_for_success/wait_for_failure functions that will
loop the ping commands up to 10 times then give up. This allows
us to remove the "sleep 1" and lets us handle intermittent
slowness at the same time.
|
|
We already have relx-start-stop for that.
|
|
|
|
|
|
|
|
|
|
|
|
By default, Erlang.mk only builds dependencies once, the first time the
top-level project is compiled. A forced rebuild of all dependencies can
be forced by setting the `$(FULL)` variable to a non-empty value.
For developers working on the top-level project and one or more
dependencies at the same time, Erlang.mk now accepts a variable/function
called `$(force_rebuilding_dep)` which is called to determine if the
dependency passed as the first argument should be forcibly rebuilt.
It allows a developer to filter the dependencies he works on (so they
are always rebuilt) from other third-party dependencies he never touches
(i.e. they are only built once at the beginning).
The content of `$(force_rebuilding_dep)` is expected to be a shell
one-liner where the `$(1)` Make variable is set to the path to the
dependency.
Here is an example from the testsuite:
force_rebuilding_dep = test '$(1)' = '$(CURDIR)/deps/cowlib'
|
|
|
|
By default MSYS2 will copy and not link, altering Erlang.mk's
behavior. To properly link an option must be enabled and
administrative privileges granted.
|
|
The old Cowlib's Erlang.mk does not work on Windows.
|
|
It was using os:cmd("echo ...") which on Windows preserves
spaces. One possible fix would have been to remove the space,
but I instead removed the use of os:cmd("echo ...") to avoid
similar issues in the future.
|
|
|
|
|
|
|
|
Here, we want to make sure that `list-deps` always lists all
dependencies, no matter if they are up-to-date or not. I.e. we want to
always visit them and list them recursively.
|
|
In the case of a multi-applications repository, if one application
depends on another one (using `$(LOCAL_DEPS)`), it will now be listed in
the `list-deps` targets.
Add `ssl` to the `$(LOCAL_DEPS)` in the testcase to ensure that
applications not in `$(APPS_DIR)` are not affected by this change.
Add a changelog entry.
|
|
|
|
Allow a lack of space in the front. This will of course need
to be handled better eventually.
|
|
... exactly as it is displayed for Git-based dependencies.
|
|
... to create the `autopatch-couchbeam` recipe in the testcase.
Newlines characters were interpreted by echo(1) in the
`core-autopatch-extended-erlc-opts` recipe which was too early: the
generated recipe was malformed.
Using echo(1) and its implicit appended newline character fixes the
issue.
|
|
The output is the same between those two commands. The benefit is that
it avoids the need to install the `unzip` package on FreeBSD and all
systems where the default unzip(1) is provided by libarchive.
|