summaryrefslogtreecommitdiff
path: root/deps/rabbit_common/mk/rabbitmq-components.hexpm.mk
diff options
context:
space:
mode:
Diffstat (limited to 'deps/rabbit_common/mk/rabbitmq-components.hexpm.mk')
-rw-r--r--deps/rabbit_common/mk/rabbitmq-components.hexpm.mk36
1 files changed, 36 insertions, 0 deletions
diff --git a/deps/rabbit_common/mk/rabbitmq-components.hexpm.mk b/deps/rabbit_common/mk/rabbitmq-components.hexpm.mk
new file mode 100644
index 0000000000..4b110176a7
--- /dev/null
+++ b/deps/rabbit_common/mk/rabbitmq-components.hexpm.mk
@@ -0,0 +1,36 @@
+ifeq ($(.DEFAULT_GOAL),)
+# Define default goal to `all` because this file defines some targets
+# before the inclusion of erlang.mk leading to the wrong target becoming
+# the default.
+.DEFAULT_GOAL = all
+endif
+
+# PROJECT_VERSION defaults to:
+# 1. the version exported by rabbitmq-server-release;
+# 2. the version stored in `git-revisions.txt`, if it exists;
+# 3. a version based on git-describe(1), if it is a Git clone;
+# 4. 0.0.0
+
+PROJECT_VERSION := $(RABBITMQ_VERSION)
+
+ifeq ($(PROJECT_VERSION),)
+PROJECT_VERSION := $(shell \
+if test -f git-revisions.txt; then \
+ head -n1 git-revisions.txt | \
+ awk '{print $$$(words $(PROJECT_DESCRIPTION) version);}'; \
+else \
+ (git describe --dirty --abbrev=7 --tags --always --first-parent \
+ 2>/dev/null || echo rabbitmq_v0_0_0) | \
+ sed -e 's/^rabbitmq_v//' -e 's/^v//' -e 's/_/./g' -e 's/-/+/' \
+ -e 's/-/./g'; \
+fi)
+endif
+
+# --------------------------------------------------------------------
+# RabbitMQ components.
+# --------------------------------------------------------------------
+
+dep_amqp_client = hex $(PROJECT_VERSION)
+dep_rabbit_common = hex $(PROJECT_VERSION)
+
+# Third-party dependencies version pinning.