|
| 1 | +ifeq ($(.DEFAULT_GOAL),) |
| 2 | +# Define default goal to `all` because this file defines some targets |
| 3 | +# before the inclusion of erlang.mk leading to the wrong target becoming |
| 4 | +# the default. |
| 5 | +.DEFAULT_GOAL = all |
| 6 | +endif |
| 7 | + |
| 8 | +# PROJECT_VERSION defaults to: |
| 9 | +# 1. the version exported by rabbitmq-server-release; |
| 10 | +# 2. the version stored in `git-revisions.txt`, if it exists; |
| 11 | +# 3. a version based on git-describe(1), if it is a Git clone; |
| 12 | +# 4. 0.0.0 |
| 13 | + |
| 14 | +PROJECT_VERSION := $(RABBITMQ_VERSION) |
| 15 | + |
| 16 | +ifeq ($(PROJECT_VERSION),) |
| 17 | +PROJECT_VERSION := $(shell \ |
| 18 | +if test -f git-revisions.txt; then \ |
| 19 | + head -n1 git-revisions.txt | \ |
| 20 | + awk '{print $$$(words $(PROJECT_DESCRIPTION) version);}'; \ |
| 21 | +else \ |
| 22 | + (git describe --dirty --abbrev=7 --tags --always --first-parent \ |
| 23 | + 2>/dev/null || echo rabbitmq_v0_0_0) | \ |
| 24 | + sed -e 's/^rabbitmq_v//' -e 's/^v//' -e 's/_/./g' -e 's/-/+/' \ |
| 25 | + -e 's/-/./g'; \ |
| 26 | +fi) |
| 27 | +endif |
| 28 | + |
| 29 | +# -------------------------------------------------------------------- |
| 30 | +# RabbitMQ components. |
| 31 | +# -------------------------------------------------------------------- |
| 32 | + |
| 33 | +# For RabbitMQ repositories, we want to checkout branches which match |
| 34 | +# the parent project. For instance, if the parent project is on a |
| 35 | +# release tag, dependencies must be on the same release tag. If the |
| 36 | +# parent project is on a topic branch, dependencies must be on the same |
| 37 | +# topic branch or fallback to `stable` or `master` whichever was the |
| 38 | +# base of the topic branch. |
| 39 | + |
| 40 | +dep_amqp_client = git_rmq rabbitmq-erlang-client $(current_rmq_ref) $(base_rmq_ref) master |
| 41 | +dep_rabbit = git_rmq rabbitmq-server $(current_rmq_ref) $(base_rmq_ref) master |
| 42 | +dep_rabbit_common = git_rmq rabbitmq-common $(current_rmq_ref) $(base_rmq_ref) master |
| 43 | +dep_rabbitmq_amqp1_0 = git_rmq rabbitmq-amqp1.0 $(current_rmq_ref) $(base_rmq_ref) master |
| 44 | +dep_rabbitmq_auth_backend_amqp = git_rmq rabbitmq-auth-backend-amqp $(current_rmq_ref) $(base_rmq_ref) master |
| 45 | +dep_rabbitmq_auth_backend_cache = git_rmq rabbitmq-auth-backend-cache $(current_rmq_ref) $(base_rmq_ref) master |
| 46 | +dep_rabbitmq_auth_backend_http = git_rmq rabbitmq-auth-backend-http $(current_rmq_ref) $(base_rmq_ref) master |
| 47 | +dep_rabbitmq_auth_backend_ldap = git_rmq rabbitmq-auth-backend-ldap $(current_rmq_ref) $(base_rmq_ref) master |
| 48 | +dep_rabbitmq_auth_mechanism_ssl = git_rmq rabbitmq-auth-mechanism-ssl $(current_rmq_ref) $(base_rmq_ref) master |
| 49 | +dep_rabbitmq_boot_steps_visualiser = git_rmq rabbitmq-boot-steps-visualiser $(current_rmq_ref) $(base_rmq_ref) master |
| 50 | +dep_rabbitmq_clusterer = git_rmq rabbitmq-clusterer $(current_rmq_ref) $(base_rmq_ref) master |
| 51 | +dep_rabbitmq_cli = git_rmq rabbitmq-cli $(current_rmq_ref) $(base_rmq_ref) master |
| 52 | +dep_rabbitmq_codegen = git_rmq rabbitmq-codegen $(current_rmq_ref) $(base_rmq_ref) master |
| 53 | +dep_rabbitmq_consistent_hash_exchange = git_rmq rabbitmq-consistent-hash-exchange $(current_rmq_ref) $(base_rmq_ref) master |
| 54 | +dep_rabbitmq_ct_client_helpers = git_rmq rabbitmq-ct-client-helpers $(current_rmq_ref) $(base_rmq_ref) master |
| 55 | +dep_rabbitmq_ct_helpers = git_rmq rabbitmq-ct-helpers $(current_rmq_ref) $(base_rmq_ref) master |
| 56 | +dep_rabbitmq_delayed_message_exchange = git_rmq rabbitmq-delayed-message-exchange $(current_rmq_ref) $(base_rmq_ref) master |
| 57 | +dep_rabbitmq_dotnet_client = git_rmq rabbitmq-dotnet-client $(current_rmq_ref) $(base_rmq_ref) master |
| 58 | +dep_rabbitmq_event_exchange = git_rmq rabbitmq-event-exchange $(current_rmq_ref) $(base_rmq_ref) master |
| 59 | +dep_rabbitmq_federation = git_rmq rabbitmq-federation $(current_rmq_ref) $(base_rmq_ref) master |
| 60 | +dep_rabbitmq_federation_management = git_rmq rabbitmq-federation-management $(current_rmq_ref) $(base_rmq_ref) master |
| 61 | +dep_rabbitmq_java_client = git_rmq rabbitmq-java-client $(current_rmq_ref) $(base_rmq_ref) master |
| 62 | +dep_rabbitmq_jms_client = git_rmq rabbitmq-jms-client $(current_rmq_ref) $(base_rmq_ref) master |
| 63 | +dep_rabbitmq_jms_cts = git_rmq rabbitmq-jms-cts $(current_rmq_ref) $(base_rmq_ref) master |
| 64 | +dep_rabbitmq_jms_topic_exchange = git_rmq rabbitmq-jms-topic-exchange $(current_rmq_ref) $(base_rmq_ref) master |
| 65 | +dep_rabbitmq_lvc = git_rmq rabbitmq-lvc-plugin $(current_rmq_ref) $(base_rmq_ref) master |
| 66 | +dep_rabbitmq_management = git_rmq rabbitmq-management $(current_rmq_ref) $(base_rmq_ref) master |
| 67 | +dep_rabbitmq_management_agent = git_rmq rabbitmq-management-agent $(current_rmq_ref) $(base_rmq_ref) master |
| 68 | +dep_rabbitmq_management_exchange = git_rmq rabbitmq-management-exchange $(current_rmq_ref) $(base_rmq_ref) master |
| 69 | +dep_rabbitmq_management_themes = git_rmq rabbitmq-management-themes $(current_rmq_ref) $(base_rmq_ref) master |
| 70 | +dep_rabbitmq_management_visualiser = git_rmq rabbitmq-management-visualiser $(current_rmq_ref) $(base_rmq_ref) master |
| 71 | +dep_rabbitmq_message_timestamp = git_rmq rabbitmq-message-timestamp $(current_rmq_ref) $(base_rmq_ref) master |
| 72 | +dep_rabbitmq_metronome = git_rmq rabbitmq-metronome $(current_rmq_ref) $(base_rmq_ref) master |
| 73 | +dep_rabbitmq_mqtt = git_rmq rabbitmq-mqtt $(current_rmq_ref) $(base_rmq_ref) master |
| 74 | +dep_rabbitmq_objc_client = git_rmq rabbitmq-objc-client $(current_rmq_ref) $(base_rmq_ref) master |
| 75 | +dep_rabbitmq_peer_discovery_aws = git_rmq rabbitmq-peer-discovery-aws $(current_rmq_ref) $(base_rmq_ref) master |
| 76 | +dep_rabbitmq_peer_discovery_common = git_rmq rabbitmq-peer-discovery-common $(current_rmq_ref) $(base_rmq_ref) master |
| 77 | +dep_rabbitmq_peer_discovery_consul = git_rmq rabbitmq-peer-discovery-consul $(current_rmq_ref) $(base_rmq_ref) master |
| 78 | +dep_rabbitmq_recent_history_exchange = git_rmq rabbitmq-recent-history-exchange $(current_rmq_ref) $(base_rmq_ref) master |
| 79 | +dep_rabbitmq_routing_node_stamp = git_rmq rabbitmq-routing-node-stamp $(current_rmq_ref) $(base_rmq_ref) master |
| 80 | +dep_rabbitmq_rtopic_exchange = git_rmq rabbitmq-rtopic-exchange $(current_rmq_ref) $(base_rmq_ref) master |
| 81 | +dep_rabbitmq_server_release = git_rmq rabbitmq-server-release $(current_rmq_ref) $(base_rmq_ref) master |
| 82 | +dep_rabbitmq_sharding = git_rmq rabbitmq-sharding $(current_rmq_ref) $(base_rmq_ref) master |
| 83 | +dep_rabbitmq_shovel = git_rmq rabbitmq-shovel $(current_rmq_ref) $(base_rmq_ref) master |
| 84 | +dep_rabbitmq_shovel_management = git_rmq rabbitmq-shovel-management $(current_rmq_ref) $(base_rmq_ref) master |
| 85 | +dep_rabbitmq_stomp = git_rmq rabbitmq-stomp $(current_rmq_ref) $(base_rmq_ref) master |
| 86 | +dep_rabbitmq_toke = git_rmq rabbitmq-toke $(current_rmq_ref) $(base_rmq_ref) master |
| 87 | +dep_rabbitmq_top = git_rmq rabbitmq-top $(current_rmq_ref) $(base_rmq_ref) master |
| 88 | +dep_rabbitmq_tracing = git_rmq rabbitmq-tracing $(current_rmq_ref) $(base_rmq_ref) master |
| 89 | +dep_rabbitmq_trust_store = git_rmq rabbitmq-trust-store $(current_rmq_ref) $(base_rmq_ref) master |
| 90 | +dep_rabbitmq_test = git_rmq rabbitmq-test $(current_rmq_ref) $(base_rmq_ref) master |
| 91 | +dep_rabbitmq_web_dispatch = git_rmq rabbitmq-web-dispatch $(current_rmq_ref) $(base_rmq_ref) master |
| 92 | +dep_rabbitmq_web_stomp = git_rmq rabbitmq-web-stomp $(current_rmq_ref) $(base_rmq_ref) master |
| 93 | +dep_rabbitmq_web_stomp_examples = git_rmq rabbitmq-web-stomp-examples $(current_rmq_ref) $(base_rmq_ref) master |
| 94 | +dep_rabbitmq_web_mqtt = git_rmq rabbitmq-web-mqtt $(current_rmq_ref) $(base_rmq_ref) master |
| 95 | +dep_rabbitmq_web_mqtt_examples = git_rmq rabbitmq-web-mqtt-examples $(current_rmq_ref) $(base_rmq_ref) master |
| 96 | +dep_rabbitmq_website = git_rmq rabbitmq-website $(current_rmq_ref) $(base_rmq_ref) live master |
| 97 | +dep_toke = git_rmq toke $(current_rmq_ref) $(base_rmq_ref) master |
| 98 | + |
| 99 | +dep_rabbitmq_public_umbrella = git_rmq rabbitmq-public-umbrella $(current_rmq_ref) $(base_rmq_ref) master |
| 100 | + |
| 101 | +# Third-party dependencies version pinning. |
| 102 | +# |
| 103 | +# We do that in this file, which is copied in all projects, to ensure |
| 104 | +# all projects use the same versions. It avoids conflicts and makes it |
| 105 | +# possible to work with rabbitmq-public-umbrella. |
| 106 | + |
| 107 | +dep_cowboy_commit = 1.1.0 |
| 108 | +dep_mochiweb = git git://github.com/basho/mochiweb.git v2.9.0p2 |
| 109 | +dep_ranch_commit = 1.3.2 |
| 110 | +dep_sockjs = git https://github.com/rabbitmq/sockjs-erlang.git 405990ea62353d98d36dbf5e1e64942d9b0a1daf |
| 111 | +dep_webmachine_commit = 1.10.8p2 |
| 112 | +dep_ranch_proxy_protocol = git git://github.com/heroku/ranch_proxy_protocol.git 1.4.2 |
| 113 | + |
| 114 | +RABBITMQ_COMPONENTS = amqp_client \ |
| 115 | + rabbit \ |
| 116 | + rabbit_common \ |
| 117 | + rabbitmq_amqp1_0 \ |
| 118 | + rabbitmq_auth_backend_amqp \ |
| 119 | + rabbitmq_auth_backend_cache \ |
| 120 | + rabbitmq_auth_backend_http \ |
| 121 | + rabbitmq_auth_backend_ldap \ |
| 122 | + rabbitmq_auth_mechanism_ssl \ |
| 123 | + rabbitmq_boot_steps_visualiser \ |
| 124 | + rabbitmq_clusterer \ |
| 125 | + rabbitmq_cli \ |
| 126 | + rabbitmq_codegen \ |
| 127 | + rabbitmq_consistent_hash_exchange \ |
| 128 | + rabbitmq_ct_client_helpers \ |
| 129 | + rabbitmq_ct_helpers \ |
| 130 | + rabbitmq_delayed_message_exchange \ |
| 131 | + rabbitmq_dotnet_client \ |
| 132 | + rabbitmq_event_exchange \ |
| 133 | + rabbitmq_federation \ |
| 134 | + rabbitmq_federation_management \ |
| 135 | + rabbitmq_java_client \ |
| 136 | + rabbitmq_jms_client \ |
| 137 | + rabbitmq_jms_cts \ |
| 138 | + rabbitmq_jms_topic_exchange \ |
| 139 | + rabbitmq_lvc \ |
| 140 | + rabbitmq_management \ |
| 141 | + rabbitmq_management_agent \ |
| 142 | + rabbitmq_management_exchange \ |
| 143 | + rabbitmq_management_themes \ |
| 144 | + rabbitmq_management_visualiser \ |
| 145 | + rabbitmq_message_timestamp \ |
| 146 | + rabbitmq_metronome \ |
| 147 | + rabbitmq_mqtt \ |
| 148 | + rabbitmq_objc_client \ |
| 149 | + rabbitmq_peer_discovery_aws \ |
| 150 | + rabbitmq_peer_discovery_common \ |
| 151 | + rabbitmq_peer_discovery_consul \ |
| 152 | + rabbitmq_recent_history_exchange \ |
| 153 | + rabbitmq_routing_node_stamp \ |
| 154 | + rabbitmq_rtopic_exchange \ |
| 155 | + rabbitmq_server_release \ |
| 156 | + rabbitmq_sharding \ |
| 157 | + rabbitmq_shovel \ |
| 158 | + rabbitmq_shovel_management \ |
| 159 | + rabbitmq_stomp \ |
| 160 | + rabbitmq_toke \ |
| 161 | + rabbitmq_top \ |
| 162 | + rabbitmq_tracing \ |
| 163 | + rabbitmq_trust_store \ |
| 164 | + rabbitmq_web_dispatch \ |
| 165 | + rabbitmq_web_mqtt \ |
| 166 | + rabbitmq_web_mqtt_examples \ |
| 167 | + rabbitmq_web_stomp \ |
| 168 | + rabbitmq_web_stomp_examples \ |
| 169 | + rabbitmq_website |
| 170 | + |
| 171 | +# Several components have a custom erlang.mk/build.config, mainly |
| 172 | +# to disable eunit. Therefore, we can't use the top-level project's |
| 173 | +# erlang.mk copy. |
| 174 | +NO_AUTOPATCH += $(RABBITMQ_COMPONENTS) |
| 175 | + |
| 176 | +ifeq ($(origin current_rmq_ref),undefined) |
| 177 | +ifneq ($(wildcard .git),) |
| 178 | +current_rmq_ref := $(shell (\ |
| 179 | + ref=$$(git branch --list | awk '/^\* \(.*detached / {ref=$$0; sub(/.*detached [^ ]+ /, "", ref); sub(/\)$$/, "", ref); print ref; exit;} /^\* / {ref=$$0; sub(/^\* /, "", ref); print ref; exit}');\ |
| 180 | + if test "$$(git rev-parse --short HEAD)" != "$$ref"; then echo "$$ref"; fi)) |
| 181 | +else |
| 182 | +current_rmq_ref := master |
| 183 | +endif |
| 184 | +endif |
| 185 | +export current_rmq_ref |
| 186 | + |
| 187 | +ifeq ($(origin base_rmq_ref),undefined) |
| 188 | +ifneq ($(wildcard .git),) |
| 189 | +base_rmq_ref := $(shell \ |
| 190 | + (git rev-parse --verify -q stable >/dev/null && \ |
| 191 | + git merge-base --is-ancestor $$(git merge-base master HEAD) stable && \ |
| 192 | + echo stable) || \ |
| 193 | + echo master) |
| 194 | +else |
| 195 | +base_rmq_ref := master |
| 196 | +endif |
| 197 | +endif |
| 198 | +export base_rmq_ref |
| 199 | + |
| 200 | +# Repository URL selection. |
| 201 | +# |
| 202 | +# First, we infer other components' location from the current project |
| 203 | +# repository URL, if it's a Git repository: |
| 204 | +# - We take the "origin" remote URL as the base |
| 205 | +# - The current project name and repository name is replaced by the |
| 206 | +# target's properties: |
| 207 | +# eg. rabbitmq-common is replaced by rabbitmq-codegen |
| 208 | +# eg. rabbit_common is replaced by rabbitmq_codegen |
| 209 | +# |
| 210 | +# If cloning from this computed location fails, we fallback to RabbitMQ |
| 211 | +# upstream which is GitHub. |
| 212 | + |
| 213 | +# Maccro to transform eg. "rabbit_common" to "rabbitmq-common". |
| 214 | +rmq_cmp_repo_name = $(word 2,$(dep_$(1))) |
| 215 | + |
| 216 | +# Upstream URL for the current project. |
| 217 | +RABBITMQ_COMPONENT_REPO_NAME := $(call rmq_cmp_repo_name,$(PROJECT)) |
| 218 | +RABBITMQ_UPSTREAM_FETCH_URL ?= https://github.com/rabbitmq/$(RABBITMQ_COMPONENT_REPO_NAME).git |
| 219 | +RABBITMQ_UPSTREAM_PUSH_URL ?= [email protected]:rabbitmq/ $(RABBITMQ_COMPONENT_REPO_NAME).git |
| 220 | + |
| 221 | +# Current URL for the current project. If this is not a Git clone, |
| 222 | +# default to the upstream Git repository. |
| 223 | +ifneq ($(wildcard .git),) |
| 224 | +git_origin_fetch_url := $(shell git config remote.origin.url) |
| 225 | +git_origin_push_url := $(shell git config remote.origin.pushurl || git config remote.origin.url) |
| 226 | +RABBITMQ_CURRENT_FETCH_URL ?= $(git_origin_fetch_url) |
| 227 | +RABBITMQ_CURRENT_PUSH_URL ?= $(git_origin_push_url) |
| 228 | +else |
| 229 | +RABBITMQ_CURRENT_FETCH_URL ?= $(RABBITMQ_UPSTREAM_FETCH_URL) |
| 230 | +RABBITMQ_CURRENT_PUSH_URL ?= $(RABBITMQ_UPSTREAM_PUSH_URL) |
| 231 | +endif |
| 232 | + |
| 233 | +# Macro to replace the following pattern: |
| 234 | +# 1. /foo.git -> /bar.git |
| 235 | +# 2. /foo -> /bar |
| 236 | +# 3. /foo/ -> /bar/ |
| 237 | +subst_repo_name = $(patsubst %/$(1)/%,%/$(2)/%,$(patsubst %/$(1),%/$(2),$(patsubst %/$(1).git,%/$(2).git,$(3)))) |
| 238 | + |
| 239 | +# Macro to replace both the project's name (eg. "rabbit_common") and |
| 240 | +# repository name (eg. "rabbitmq-common") by the target's equivalent. |
| 241 | +# |
| 242 | +# This macro is kept on one line because we don't want whitespaces in |
| 243 | +# the returned value, as it's used in $(dep_fetch_git_rmq) in a shell |
| 244 | +# single-quoted string. |
| 245 | +dep_rmq_repo = $(if $(dep_$(2)),$(call subst_repo_name,$(PROJECT),$(2),$(call subst_repo_name,$(RABBITMQ_COMPONENT_REPO_NAME),$(call rmq_cmp_repo_name,$(2)),$(1))),$(pkg_$(1)_repo)) |
| 246 | + |
| 247 | +dep_rmq_commits = $(if $(dep_$(1)), \ |
| 248 | + $(wordlist 3,$(words $(dep_$(1))),$(dep_$(1))), \ |
| 249 | + $(pkg_$(1)_commit)) |
| 250 | + |
| 251 | +define dep_fetch_git_rmq |
| 252 | + fetch_url1='$(call dep_rmq_repo,$(RABBITMQ_CURRENT_FETCH_URL),$(1))'; \ |
| 253 | + fetch_url2='$(call dep_rmq_repo,$(RABBITMQ_UPSTREAM_FETCH_URL),$(1))'; \ |
| 254 | + if test "$$$$fetch_url1" != '$(RABBITMQ_CURRENT_FETCH_URL)' && \ |
| 255 | + git clone -q -n -- "$$$$fetch_url1" $(DEPS_DIR)/$(call dep_name,$(1)); then \ |
| 256 | + fetch_url="$$$$fetch_url1"; \ |
| 257 | + push_url='$(call dep_rmq_repo,$(RABBITMQ_CURRENT_PUSH_URL),$(1))'; \ |
| 258 | + elif git clone -q -n -- "$$$$fetch_url2" $(DEPS_DIR)/$(call dep_name,$(1)); then \ |
| 259 | + fetch_url="$$$$fetch_url2"; \ |
| 260 | + push_url='$(call dep_rmq_repo,$(RABBITMQ_UPSTREAM_PUSH_URL),$(1))'; \ |
| 261 | + fi; \ |
| 262 | + cd $(DEPS_DIR)/$(call dep_name,$(1)) && ( \ |
| 263 | + $(foreach ref,$(call dep_rmq_commits,$(1)), \ |
| 264 | + git checkout -q $(ref) >/dev/null 2>&1 || \ |
| 265 | + ) \ |
| 266 | + (echo "error: no valid pathspec among: $(call dep_rmq_commits,$(1))" \ |
| 267 | + 1>&2 && false) ) && \ |
| 268 | + (test "$$$$fetch_url" = "$$$$push_url" || \ |
| 269 | + git remote set-url --push origin "$$$$push_url") |
| 270 | +endef |
| 271 | + |
| 272 | +# -------------------------------------------------------------------- |
| 273 | +# Component distribution. |
| 274 | +# -------------------------------------------------------------------- |
| 275 | + |
| 276 | +list-dist-deps:: |
| 277 | + @: |
| 278 | + |
| 279 | +prepare-dist:: |
| 280 | + @: |
| 281 | + |
| 282 | +# -------------------------------------------------------------------- |
| 283 | +# rabbitmq-components.mk checks. |
| 284 | +# -------------------------------------------------------------------- |
| 285 | + |
| 286 | +# If this project is under the Umbrella project, we override $(DEPS_DIR) |
| 287 | +# to point to the Umbrella's one. We also disable `make distclean` so |
| 288 | +# $(DEPS_DIR) is not accidentally removed. |
| 289 | + |
| 290 | +ifneq ($(wildcard ../../UMBRELLA.md),) |
| 291 | +UNDER_UMBRELLA = 1 |
| 292 | +else ifneq ($(wildcard UMBRELLA.md),) |
| 293 | +UNDER_UMBRELLA = 1 |
| 294 | +endif |
| 295 | + |
| 296 | +ifeq ($(UNDER_UMBRELLA),1) |
| 297 | +ifneq ($(PROJECT),rabbitmq_public_umbrella) |
| 298 | +DEPS_DIR ?= $(abspath ..) |
| 299 | +endif |
| 300 | + |
| 301 | +ifneq ($(filter distclean distclean-deps,$(MAKECMDGOALS)),) |
| 302 | +SKIP_DEPS = 1 |
| 303 | +endif |
| 304 | +endif |
| 305 | + |
| 306 | +UPSTREAM_RMQ_COMPONENTS_MK = $(DEPS_DIR)/rabbit_common/mk/rabbitmq-components.mk |
| 307 | + |
| 308 | +check-rabbitmq-components.mk: |
| 309 | + $(verbose) cmp -s rabbitmq-components.mk \ |
| 310 | + $(UPSTREAM_RMQ_COMPONENTS_MK) || \ |
| 311 | + (echo "error: rabbitmq-components.mk must be updated!" 1>&2; \ |
| 312 | + false) |
| 313 | + |
| 314 | +ifeq ($(PROJECT),rabbit_common) |
| 315 | +rabbitmq-components-mk: |
| 316 | + @: |
| 317 | +else |
| 318 | +rabbitmq-components-mk: |
| 319 | + $(gen_verbose) cp -a $(UPSTREAM_RMQ_COMPONENTS_MK) . |
| 320 | +ifeq ($(DO_COMMIT),yes) |
| 321 | + $(verbose) git diff --quiet rabbitmq-components.mk \ |
| 322 | + || git commit -m 'Update rabbitmq-components.mk' rabbitmq-components.mk |
| 323 | +endif |
| 324 | +endif |
0 commit comments