Skip to content

Commit ea47a68

Browse files
committed
Update amqp10_client and amqp10_common for hex.pm publish
Fixes #2577 Related rabbitmq/rabbitmq-ci#50 Yolo-copy amqp_client targets for dist
1 parent 61f70bc commit ea47a68

File tree

3 files changed

+183
-9
lines changed

3 files changed

+183
-9
lines changed

deps/amqp10_client/Makefile

Lines changed: 161 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,30 @@ PROJECT = amqp10_client
22
PROJECT_DESCRIPTION = AMQP 1.0 client from the RabbitMQ Project
33
PROJECT_MOD = amqp10_client_app
44

5+
define PROJECT_APP_EXTRA_KEYS
6+
%% Hex.pm package informations.
7+
{licenses, ["MPL 2.0"]},
8+
{links, [
9+
{"Website", "https://www.rabbitmq.com/"},
10+
{"GitHub", "https://github.com/rabbitmq/rabbitmq-server/deps/amqp10_client"}
11+
]},
12+
{build_tools, ["make", "rebar3"]},
13+
{files, [
14+
$(RABBITMQ_HEXPM_DEFAULT_FILES)
15+
]}
16+
endef
17+
18+
# Release artifacts are put in $(PACKAGES_DIR).
19+
PACKAGES_DIR ?= $(abspath PACKAGES)
20+
521
BUILD_DEPS = rabbit_common elvis_mk
622
DEPS = amqp10_common
723
TEST_DEPS = rabbit rabbitmq_amqp1_0 rabbitmq_ct_helpers
824
LOCAL_DEPS = ssl inets crypto
925

1026
DEP_EARLY_PLUGINS = rabbit_common/mk/rabbitmq-early-test.mk
1127
DEP_PLUGINS = rabbit_common/mk/rabbitmq-macros.mk \
28+
rabbit_common/mk/rabbitmq-build.mk \
1229
rabbit_common/mk/rabbitmq-hexpm.mk \
1330
rabbit_common/mk/rabbitmq-dist.mk \
1431
rabbit_common/mk/rabbitmq-run.mk \
@@ -64,3 +81,147 @@ test/system_SUITE_data/apache-activemq-$(ACTIVEMQ_VERSION)-bin.tar.gz:
6481
tests:: $(ACTIVEMQ)
6582

6683
ct ct-system: $(ACTIVEMQ)
84+
85+
# --------------------------------------------------------------------
86+
# Distribution.
87+
# --------------------------------------------------------------------
88+
89+
.PHONY: distribution
90+
91+
distribution: docs source-dist package
92+
93+
docs:: edoc
94+
edoc: doc/overview.edoc
95+
96+
doc/overview.edoc: src/overview.edoc.in
97+
mkdir -p doc
98+
sed -e 's:%%VERSION%%:$(PROJECT_VERSION):g' < $< > $@
99+
100+
.PHONY: source-dist clean-source-dist
101+
102+
SOURCE_DIST_BASE ?= $(PROJECT)
103+
SOURCE_DIST_SUFFIXES ?= tar.xz zip
104+
SOURCE_DIST ?= $(PACKAGES_DIR)/$(SOURCE_DIST_BASE)-$(PROJECT_VERSION)-src
105+
106+
# The first source distribution file is used by packages: if the archive
107+
# type changes, you must update all packages' Makefile.
108+
SOURCE_DIST_FILES = $(addprefix $(SOURCE_DIST).,$(SOURCE_DIST_SUFFIXES))
109+
110+
.PHONY: $(SOURCE_DIST_FILES)
111+
112+
source-dist: $(SOURCE_DIST_FILES)
113+
@:
114+
115+
RSYNC ?= rsync
116+
RSYNC_V_0 =
117+
RSYNC_V_1 = -v
118+
RSYNC_V_2 = -v
119+
RSYNC_V = $(RSYNC_V_$(V))
120+
RSYNC_FLAGS += -a $(RSYNC_V) \
121+
--exclude '.sw?' --exclude '.*.sw?' \
122+
--exclude '*.beam' \
123+
--exclude '*.d' \
124+
--exclude '*.pyc' \
125+
--exclude '.git*' \
126+
--exclude '.hg*' \
127+
--exclude '.travis.yml' \
128+
--exclude '.*.plt' \
129+
--exclude '$(notdir $(ERLANG_MK_TMP))' \
130+
--exclude 'cover/' \
131+
--exclude 'deps/' \
132+
--exclude 'ebin/' \
133+
--exclude 'erl_crash.dump' \
134+
--exclude '$(notdir $(DEPS_DIR))/' \
135+
--exclude 'doc/' \
136+
--exclude 'hexer*' \
137+
--exclude 'logs/' \
138+
--exclude 'plugins/' \
139+
--exclude '$(notdir $(DIST_DIR))/' \
140+
--exclude 'test' \
141+
--exclude 'xrefr' \
142+
--exclude '/$(notdir $(PACKAGES_DIR))/' \
143+
--exclude '/PACKAGES/' \
144+
--delete \
145+
--delete-excluded
146+
147+
TAR ?= tar
148+
TAR_V_0 =
149+
TAR_V_1 = -v
150+
TAR_V_2 = -v
151+
TAR_V = $(TAR_V_$(V))
152+
153+
GZIP ?= gzip
154+
BZIP2 ?= bzip2
155+
XZ ?= xz
156+
157+
ZIP ?= zip
158+
ZIP_V_0 = -q
159+
ZIP_V_1 =
160+
ZIP_V_2 =
161+
ZIP_V = $(ZIP_V_$(V))
162+
163+
.PHONY: $(SOURCE_DIST)
164+
165+
$(SOURCE_DIST): $(ERLANG_MK_RECURSIVE_DEPS_LIST)
166+
$(verbose) mkdir -p $(dir $@)
167+
$(gen_verbose) $(RSYNC) $(RSYNC_FLAGS) ./ $@/
168+
$(verbose) echo "$(PROJECT_DESCRIPTION) $(PROJECT_VERSION)" > $@/git-revisions.txt
169+
$(verbose) echo "$(PROJECT) $$(git rev-parse HEAD) $$(git describe --tags --exact-match 2>/dev/null || git symbolic-ref -q --short HEAD)" >> $@/git-revisions.txt
170+
$(verbose) for dep in $$(cat $(ERLANG_MK_RECURSIVE_DEPS_LIST) | grep -v '/$(PROJECT)$$' | LC_COLLATE=C sort); do \
171+
$(RSYNC) $(RSYNC_FLAGS) \
172+
$$dep \
173+
$@/deps; \
174+
if test -f $@/deps/$$(basename $$dep)/erlang.mk && \
175+
test "$$(wc -l $@/deps/$$(basename $$dep)/erlang.mk | awk '{print $$1;}')" = "1" && \
176+
grep -qs -E "^[[:blank:]]*include[[:blank:]]+(erlang\.mk|.*/erlang\.mk)$$" $@/deps/$$(basename $$dep)/erlang.mk; then \
177+
echo "include ../../erlang.mk" > $@/deps/$$(basename $$dep)/erlang.mk; \
178+
fi; \
179+
sed -E -i.bak "s|^[[:blank:]]*include[[:blank:]]+\.\./.*erlang.mk$$|include ../../erlang.mk|" \
180+
$@/deps/$$(basename $$dep)/Makefile && \
181+
rm $@/deps/$$(basename $$dep)/Makefile.bak; \
182+
(cd $$dep; echo "$$(basename "$$dep") $$(git rev-parse HEAD) $$(git describe --tags --exact-match 2>/dev/null || git symbolic-ref -q --short HEAD)") >> $@/git-revisions.txt; \
183+
done
184+
$(verbose) for file in $$(find $@ -name '*.app.src'); do \
185+
sed -E -i.bak \
186+
-e 's/[{]vsn[[:blank:]]*,[[:blank:]]*(""|"0.0.0")[[:blank:]]*}/{vsn, "$(PROJECT_VERSION)"}/' \
187+
$$file; \
188+
rm $$file.bak; \
189+
done
190+
$(verbose) rm $@/README.in
191+
$(verbose) cp README.in $@/README
192+
$(verbose) if test "$(BUILD_DOC)"; then cat "$(BUILD_DOC)" >> $@/README; fi
193+
194+
# TODO: Fix file timestamps to have reproducible source archives.
195+
# $(verbose) find $@ -not -name 'git-revisions.txt' -print0 | xargs -0 touch -r $@/git-revisions.txt
196+
197+
$(SOURCE_DIST).tar.gz: $(SOURCE_DIST)
198+
$(gen_verbose) cd $(dir $(SOURCE_DIST)) && \
199+
find $(notdir $(SOURCE_DIST)) -print0 | LC_COLLATE=C sort -z | \
200+
xargs -0 $(TAR) $(TAR_V) --no-recursion -cf - | \
201+
$(GZIP) --best > $@
202+
203+
$(SOURCE_DIST).tar.bz2: $(SOURCE_DIST)
204+
$(gen_verbose) cd $(dir $(SOURCE_DIST)) && \
205+
find $(notdir $(SOURCE_DIST)) -print0 | LC_COLLATE=C sort -z | \
206+
xargs -0 $(TAR) $(TAR_V) --no-recursion -cf - | \
207+
$(BZIP2) > $@
208+
209+
$(SOURCE_DIST).tar.xz: $(SOURCE_DIST)
210+
$(gen_verbose) cd $(dir $(SOURCE_DIST)) && \
211+
find $(notdir $(SOURCE_DIST)) -print0 | LC_COLLATE=C sort -z | \
212+
xargs -0 $(TAR) $(TAR_V) --no-recursion -cf - | \
213+
$(XZ) > $@
214+
215+
$(SOURCE_DIST).zip: $(SOURCE_DIST)
216+
$(verbose) rm -f $@
217+
$(gen_verbose) cd $(dir $(SOURCE_DIST)) && \
218+
find $(notdir $(SOURCE_DIST)) -print0 | LC_COLLATE=C sort -z | \
219+
xargs -0 $(ZIP) $(ZIP_V) $@
220+
221+
clean:: clean-source-dist
222+
223+
clean-source-dist:
224+
$(gen_verbose) rm -rf -- $(SOURCE_DIST_BASE)-*
225+
226+
package: dist
227+
cp $(DIST_DIR)/*.ez $(PACKAGES_DIR)

deps/amqp10_common/Makefile

Lines changed: 21 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,23 @@
11
PROJECT = amqp10_common
22
PROJECT_DESCRIPTION = Modules shared by rabbitmq-amqp1.0 and rabbitmq-amqp1.0-client
33

4-
DIALYZER_OPTS += --src -r test
4+
define PROJECT_APP_EXTRA_KEYS
5+
%% Hex.pm package informations.
6+
{licenses, ["MPL-2.0"]},
7+
{links, [
8+
{"Website", "https://www.rabbitmq.com/"},
9+
{"GitHub", "https://github.com/rabbitmq/rabbitmq-server/deps/amqp10_common"}
10+
]},
11+
{build_tools, ["make", "rebar3"]},
12+
{files, [
13+
$(RABBITMQ_HEXPM_DEFAULT_FILES),
14+
"mk"
15+
]}
16+
endef
517

18+
DIALYZER_OPTS += --src -r test
619
BUILD_DEPS = rabbit_common
720

8-
DEP_EARLY_PLUGINS = rabbit_common/mk/rabbitmq-early-test.mk
9-
DEP_PLUGINS = rabbit_common/mk/rabbitmq-macros.mk \
10-
rabbit_common/mk/rabbitmq-hexpm.mk \
11-
rabbit_common/mk/rabbitmq-dist.mk \
12-
rabbit_common/mk/rabbitmq-test.mk \
13-
rabbit_common/mk/rabbitmq-tools.mk
14-
1521
# FIXME: Use erlang.mk patched for RabbitMQ, while waiting for PRs to be
1622
# reviewed and merged.
1723

@@ -28,6 +34,13 @@ ERLANG_MK_COMMIT = rabbitmq-tmp
2834

2935
-include development.pre.mk
3036

37+
DEP_EARLY_PLUGINS = rabbit_common/mk/rabbitmq-early-test.mk
38+
DEP_PLUGINS = rabbit_common/mk/rabbitmq-build.mk \
39+
rabbit_common/mk/rabbitmq-hexpm.mk \
40+
rabbit_common/mk/rabbitmq-dist.mk \
41+
rabbit_common/mk/rabbitmq-test.mk \
42+
rabbit_common/mk/rabbitmq-tools.mk
43+
3144
include ../../rabbitmq-components.mk
3245
include ../../erlang.mk
3346

deps/amqp_client/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ define PROJECT_APP_EXTRA_KEYS
1616
{licenses, ["MPL 2.0"]},
1717
{links, [
1818
{"Website", "https://www.rabbitmq.com/"},
19-
{"GitHub", "https://github.com/rabbitmq/rabbitmq-erlang-client"},
19+
{"GitHub", "https://github.com/rabbitmq/rabbitmq-server/deps/amqp_client"},
2020
{"User guide", "https://www.rabbitmq.com/erlang-client-user-guide.html"}
2121
]},
2222
{build_tools, ["make", "rebar3"]},

0 commit comments

Comments
 (0)