summaryrefslogtreecommitdiffstats
path: root/docs/en/erlang.mk/1/guide/deps.asciidoc
diff options
context:
space:
mode:
Diffstat (limited to 'docs/en/erlang.mk/1/guide/deps.asciidoc')
-rw-r--r--docs/en/erlang.mk/1/guide/deps.asciidoc23
1 files changed, 23 insertions, 0 deletions
diff --git a/docs/en/erlang.mk/1/guide/deps.asciidoc b/docs/en/erlang.mk/1/guide/deps.asciidoc
index 84a53de1..3ba7a398 100644
--- a/docs/en/erlang.mk/1/guide/deps.asciidoc
+++ b/docs/en/erlang.mk/1/guide/deps.asciidoc
@@ -163,6 +163,7 @@ The following table lists all existing methods:
|===
| Name | Format | Description
| git | git repo commit | Clone the Git repository and checkout the given version
+| git-subfolder | git repo commit subfolder | Clone the Git repository, checkout the given version and use one of its subfolders as a dependency
| git-submodule | git-submodule | Initialize and update the Git submodule
| hg | hg repo commit | Clone the Mercurial repository and update to the given version
| svn | svn repo | Checkout the given SVN repository
@@ -514,6 +515,28 @@ projects using the `NO_AUTOPATCH` variable:
[source,make]
NO_AUTOPATCH = cowboy ranch cowlib
+=== Dealing with duplicate modules
+
+When there are duplicate modules found in both applications
+and their dependencies, some tasks may fail. Erlang expects
+modules to be unique in general.
+
+When the duplicates are found in dependencies, you will need
+to remove one of the duplicates at fetch time. To do so, you
+can add a rule similar to this to your Makefile before including
+'erlang.mk':
+
+[source,make]
+----
+DEPS_DIR = $(CURDIR)/deps
+
+deps:: $(DEPS_DIR)/cowlib
+ $(verbose) rm -f $(DEPS_DIR)/cowlib/src/cow_ws.erl
+----
+
+This must be done from the application that has this dependency.
+Only define the `DEPS_DIR` variable if necessary.
+
=== Skipping deps
It is possible to temporarily skip all dependency operations.