aboutsummaryrefslogtreecommitdiffstats
path: root/core/deps.mk
AgeCommit message (Collapse)Author
2015-11-17Use `:` as a noop instead of `echo -n`Jean-Sébastien Pédron
The `-n` flag is not standard and not portable. It is supported by many Bourne shell to suppress the trailing newline character. But some old shells do not support this and "-n" is printed. This is the case for instance on some old versions of Mac OS X where `/bin/sh` is Bash 3.2.
2015-11-17V=2 causes `set -x` to be set on forked shellsJean-Sébastien Pédron
2015-10-22Return argument as a last resort in $(dep_name)Jean-Sébastien Pédron
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.
2015-10-22Add git-submodule fetch methodLoïc Hoguin
Initially submitted by Daniel White.
2015-10-22Use relative path to erlang.mk file in autopatched depsLoïc Hoguin
2015-10-20Rename couch package into opencouchLoïc Hoguin
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.
2015-10-12Fix port compilation for rebar projectsLoïc Hoguin
2015-10-06Load rebar before autopatchingLoïc Hoguin
Some rebar.config.script files use the vsn key available only after rebar is loaded.
2015-09-29Add a test for SKIP_DEPSLoïc Hoguin
Also don't delete DEPS_DIR if SKIP_DEPS is set.
2015-09-29Add tests for and fix NO_AUTOPATCHLoïc Hoguin
2015-09-29Improve a few comments and messagesLoïc Hoguin
2015-09-29Add support for APPS_DIRLoïc Hoguin
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.
2015-09-24Add tests for IGNORE_DEPSLoïc Hoguin
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.
2015-09-24Add tests for custom, fail (bad and unknown) and legacy fetch methodsLoïc Hoguin
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.
2015-09-24Fix hex fetch method on WindowsLoïc Hoguin
2015-09-23Fix bug introduced by previous commitLoïc Hoguin
2015-09-23Implement, add test for dep_$(DEP)_commit variablesLoïc Hoguin
2015-09-22Make autopatch work on WindowsLoïc Hoguin
2015-09-21Fix autopatch of non-atom applications namesLoïc Hoguin
2015-09-21Add support for BUILD_DEPSLoïc Hoguin
2015-08-27Add support for external pluginsLoïc Hoguin
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.
2015-08-27Add support for 'compile' step for pluginsLoïc Hoguin
Fixes riak_control generating JS files.
2015-08-16Merge branch 'xargs-darwin-find' of https://github.com/manifest/erlang.mkLoïc Hoguin
2015-08-16Improve dependency handlingLoïc Hoguin
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
2015-07-12The '-r' option of 'xargs' is illegal on OSXAndrei Nesterov
2015-07-04Add $(verbose) to avoid completely silencing commandsLoïc Hoguin
2015-07-03Add {ref, Commit} form for rebar3 depsLoïc Hoguin
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. :-)
2015-06-29Add hex support for autopatched applicationsLoïc Hoguin
I don't recommend relying on it in your applications just yet. It's not finalized yet. Let's wait and see what happens.
2015-06-28Bundle the package index directly inside erlang.mkLoïc Hoguin
If you were using the index file as a "lock file", bear with me for a moment, equivalent functionality will soon be added. :-)
2015-06-27Add registered field if missing from .app.srcLoïc Hoguin
2015-06-27Remove ebin/$(DEP).app when patching rebar outLoïc Hoguin
Seems like it works fine for all packages and fix issues with some that wouldn't compile properly otherwise.
2015-06-26Fix deps regexpSlava Yurin
$$$$ after replace by make is $$ and in bash it is pid of process.
2015-06-24Fix amqp_client: link to rabbit_commonLoïc Hoguin
2015-06-23Only apply RabbitMQ patches for rabbit projectsLoïc Hoguin
2015-06-21Fix autopatch issues introduced in recent mergesLoïc Hoguin
The good news is that these changes work with FreeBSD, as opposed to before the merges.
2015-06-20Fix 'make' and 'gmake' calls in rebar hooksLoïc Hoguin
$(MAKE) works everywhere, including space.
2015-06-20Fix a hardcoded 'make' callLoïc Hoguin
$(MAKE) works everywhere, including FreeBSD.
2015-06-19Merge branch 'mkdir-ERLANG_MK_TMP' of https://github.com/rabbitmq/erlang.mkLoïc Hoguin
2015-06-19core/deps.mk: Ensure $(ERLANG_MK_TMP) is createdJean-Sébastien Pédron
... 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
2015-06-19dep_autopatch: Ensure ['s `!=` operator has operandsJean-Sébastien Pédron
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.
2015-06-18Use the real path instead of symbolic links to erlang.mkLoïc Hoguin
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).
2015-06-18Add RABBITMQ_SERVER_PATCH for rabbitmq-server supportLoïc Hoguin
2015-06-18Improve the RabbitMQ client patchLoïc Hoguin
Users need to deploy both client and server to production, therefore the server needs to be fetched and its folder named correctly.
2015-06-17Avoid unneeded output when checking if dep was compiledLoïc Hoguin
2015-06-17Add RABBITMQ_CLIENT_PATCH to make upstream amqp_client workLoïc Hoguin
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.
2015-06-16Convert git://github.com URIs to https://github.comLoïc Hoguin
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.
2015-06-16Compile dependencies only onceLoïc Hoguin
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.
2015-06-07Fix NIF compilation under OSXLoïc Hoguin
2015-06-07Handle erl_first_files with missing extensionLoïc Hoguin
Makes lasp and nkbase work.
2015-06-06Improve parse_transform and import detectionLoïc Hoguin
Necessary changes for the alog application.