Age | Commit message (Collapse) | Author |
|
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.
|
|
|
|
... 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.
|
|
The issue was that when a new dep is added the last-makefile-change
update was done in the dependency and not in the top-level Makefile,
preventing the rebuild of the top-level project.
A test was also added to do the same when editing dependencies and
things seem to work properly in that case.
Thanks to robinchew on IRC for the great help debugging this.
|
|
Wondering if that's not what creates issues in CI sometimes.
Also doesn't silence much anyway so it's not very useful.
|
|
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.
|
|
|
|
By default COVER_APPS will cover compile all apps. COVER_DEPS
will not cover compile any dependency by default, however.
|
|
|
|
We have a dedicated folder for cover stuff, let's use it.
|
|
|
|
|
|
|
|
This allows refreshing tools at the same time Erlang.mk
gets updated.
|
|
|
|
Unless it's a symbolic link, it's built directly, FULL=1 is set
or the file ebin/dep_built in the dependency is removed.
See the documentation changes for more details.
This provides immense build speed gains, for example on a
RabbitMQ project it went from 10s to 1s for the 2nd+ builds.
|
|
|
|
|
|
|
|
The $(...) form was improperly converted. In addition it
must be changed into a $(shell ...) form.
|
|
Seems that was fixed a while ago.
|
|
Currently experimental. It'll enable lfe.mk when it encounters
the rebar3 plugin lfe-compile. Tested against some small library.
Note that it adds lfe as a build dependency with no version given
so the latest master will be fetched right now. This can be
overriden in the parent project.
|
|
It's better than extending help:: because this gets printed
at the end instead of before Erlang.mk's own help.
|
|
|
|
|
|
|
|
When this option is used no include file is generated.
Therefore don't error out if no include file can be found.
|
|
When gpb is found in DEPS or BUILD_DEPS then it is used
instead of erlang_protobuffs.
|
|
|
|
When the $(MAKE) is inside an $(eval $(call ...)) then it needs
to be escaped as $$(MAKE).
When the $(MAKE) is inside a $(call ...) then I did not figure
out a way other than passing it as an argument.
When the $(MAKE) is inside many levels of $(call $(call ...))
it's easier to avoid it if at all possible, so I replaced the
rebar $(MAKE) call with ./bootstrap. I confirmed it works fine
on Windows as well.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
And some refactor and additional testing for overriding.
Turns out we can override some variables even if ?= is not used,
so nothing had to be done to support overriding.
|
|
|
|
The toolchain is too heavy for CI. Gotta wait for me to finish
the work on Asciideck for building HTML pages.
|
|
|
|
|
|
|
|
I've reworked how the multi-apps projects are built. In particular
I've made sure the test build is made from the top-level once, and
then only tests are run on this build. It used to build multiple
times and some builds would not include test mode, not good. I've
also fixed issues with running tests in parallel.
All tests now pass with -j8 on my machine. It's possible more
issues remain that are not covered by tests yet though.
|
|
|
|
This avoids the issue where clean will remove a file that was
otherwise generated and won't be regenerated. This might also
help with parallel building.
|
|
With a yecc grammar in the project, and this sequence of commands:
$ make clean
$ make check
$ make
$ make
the "make check" succeeds. The first "make" fails because the .erl
file built from the .yrl file doesn't exist. The second "make"
succeeds.
Add a test case for this situation.
Signed-off-by: Hugo Mills <[email protected]>
|
|
It clones and checkouts like the git fetch method, but
does so in the Erlang.mk temporary directory. It then
creates a symbolic link to the subfolder for the dependency.
|
|
|
|
|