Age | Commit message (Collapse) | Author |
|
... not the first.
dep_autopatch can be an expensive macro, in particular because it
executes Erlang. So if NO_AUTOPATCH is set, it's best to avoid calling
dep_autopatch as the result will be unused anyway.
While here, add a test for autopatched rebar-based dependencies.
|
|
Therefore, if neither $(dep_something) nor $(pkg_something_name) is
defined, $(dep_name) will return the name specified in the various
dependencies lists.
This fixes `core-app-pt-erlc-opts` and `core-deps-fetch-fail-unknown`
because now, the dependency is not "forgotten" anymore. Before,
the dependency directory was missing from $(ALL_DEPS_DIRS) because
$(dep_name) returned nothing.
|
|
Initially submitted by Daniel White.
|
|
|
|
Per request: https://github.com/ninenines/erlang.mk/issues/300
This commit also fixes issues with packages which have a different
name than the application name.
|
|
|
|
Some rebar.config.script files use the vsn key available
only after rebar is loaded.
|
|
Also don't delete DEPS_DIR if SKIP_DEPS is set.
|
|
|
|
|
|
This changes adds Rebar-like "apps/" functionality.
From this commit onward, Erlang.mk supports 4 types of repositories:
- Repo with an Erlang app at root level + deps/
- Repo with an Erlang app at root level + apps/ deps/
- Repo with no app at root level + deps/
- Repo with no app at root level + apps/ deps/
Example usage:
- make new-app in=webchat
- make new t=gen_server n=my_chat in=webchat
- make
Replace new-app with new-lib to create an OTP library instead of
an OTP application.
|
|
Fix IGNORE_DEPS not being propagated downward.
Fix IGNORE_DEPS handling with autopatched Rebar projects,
where the user defined value was overriden with the one
from autopatching.
|
|
Also improves the handling of the legacy fetch method. It is now
enabled only for dependencies, and not for the top-level application.
This should force Erlang.mk users to update their definitions.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Plugins can automatically be fetched and included from
dependencies. All that is needed is to add either the
dependency name or the name + path of the plugin to the
DEP_PLUGINS variable.
Useful for allowing tools to easily add support for new
targets, adding templates or for putting the whole build
ecosystem in one common dependency.
|
|
Fixes riak_control generating JS files.
|
|
|
|
This commit does a few things:
* Fix svn and cp fetch methods
* Resolve what commands to run for fetching directly in make
* Make it easier to add fetch methods in the future
* Move legacy fetching into its own method for compatibility
* Don't require three words for hex; two are enough
|
|
|
|
|
|
Considering vmq_server is the first to use it, I suppose it's new.
Oh well that's just yet another way to specify deps in rebar.config.
:-)
|
|
I don't recommend relying on it in your applications just yet.
It's not finalized yet. Let's wait and see what happens.
|
|
If you were using the index file as a "lock file",
bear with me for a moment, equivalent functionality
will soon be added. :-)
|
|
|
|
Seems like it works fine for all packages and fix issues
with some that wouldn't compile properly otherwise.
|
|
$$$$ after replace by make is $$ and in bash it is pid of process.
|
|
|
|
|
|
The good news is that these changes work with FreeBSD,
as opposed to before the merges.
|
|
$(MAKE) works everywhere, including space.
|
|
$(MAKE) works everywhere, including FreeBSD.
|
|
|
|
... before writing to it.
This fixes the following error which is logged with a fresh checkout:
/bin/sh: cannot create (...)/.erlang.mk/deps.log: No such file or directory
|
|
Consider the following test:
elif [ 0 != `find ... | xargs grep -ci rebar` ]; then
find(1) may return no file at all and xargs has nothing on its stdin. In
this case, GNU xargs (from findutils) still executes the given command
and grep(1) returns 0.
However, FreeBSD's xargs for instance does not run the command at all if
there is nothing on stdin. Therefore nothing is printed on stdout and the
test becomes:
elif [ 0 != ]; then
This triggers a warning from the shell:
[: !=: argument expected
Prepending both operands with a literal 'x' fixes the problem.
For consistency's sake, I modified the two other tests as well, though
I didn't have any problem with them.
|
|
This will fix some issues where a symbolic link can link
to another symbolic link (Cowboy examples), and issues
where symbolic links can't be used (VirtualBox shared
folders).
|
|
|
|
Users need to deploy both client and server to production,
therefore the server needs to be fetched and its folder
named correctly.
|
|
|
|
While this is not quite "just work" due to other packages
depending on a forked off rabbitmq, this is still pretty
good as it actually makes it work and still leaves a choice
between upstream and the fork.
Hopefully people will start to use upstream but you know how
these things tend to go.
|
|
We do this automatically to make the fetching of dependencies
a safer experience. Ensuring it's secure is better than hoping
everyone puts the right URI in their deps.
|
|
We keep track of which dependencies we compiled in the current
session in the $(ERLANG_MK_TMP)/deps.log file.
This will help save a little time when projects depend more than
once on the same dependency. While going in the directory and
running make was already quick, it's quicker if not, and the
logs end up cleaner.
|
|
|
|
Makes lasp and nkbase work.
|
|
Necessary changes for the alog application.
|
|
Otherwise some deps didn't have their warnings_as_errors removed.
|