summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean-Sébastien Pédron <jean-sebastien@rabbitmq.com>2016-12-06 12:18:02 +0100
committerJean-Sébastien Pédron <jean-sebastien@rabbitmq.com>2016-12-06 12:21:50 +0100
commit1bbbcbc76e747330b382f64831c746e2b5b62462 (patch)
treeda9d337050a7781a3184b213a4fc93e43536b419
parent945f2f48eb9c93f6edcb36a77fc5d782395ace9f (diff)
downloadrabbitmq-server-git-1bbbcbc76e747330b382f64831c746e2b5b62462.tar.gz
Move from .app.src to Makefile variables
This is the recommended way with Erlang.mk. By default, the version is computed with git-describe(1) or inherited from rabbitmq-server-release when creating the source archive. One can override the version from the command line by setting the `PROJECT_VERSION` variable. One nice bonus is that `make run-broker` will present a meaningful version by default, and one can set the version with `PROJECT_VERSION`. [#130992027]
-rw-r--r--Makefile115
-rw-r--r--src/rabbit.app.src114
2 files changed, 115 insertions, 114 deletions
diff --git a/Makefile b/Makefile
index eaf46a18e7..eb8ab29b06 100644
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,120 @@
PROJECT = rabbit
+PROJECT_DESCRIPTION = RabbitMQ
+PROJECT_VERSION = $(RABBITMQ_VERSION)
+ifeq ($(PROJECT_VERSION),)
+PROJECT_VERSION := $(shell (git describe --dirty --abbrev=7 --tags --always --first-parent 2>/dev/null || echo rabbitmq_v0_0_0) | sed -e 's/rabbitmq_v//' -e 's/_/./g' -e 's/-/+/' -e 's/-/./g')
+endif
+PROJECT_MOD = rabbit
+PROJECT_REGISTERED = rabbit_amqqueue_sup \
+ rabbit_direct_client_sup \
+ rabbit_log \
+ rabbit_node_monitor \
+ rabbit_router
+
+define PROJECT_ENV
+[
+ {tcp_listeners, [5672]},
+ {num_tcp_acceptors, 10},
+ {ssl_listeners, []},
+ {num_ssl_acceptors, 1},
+ {ssl_options, []},
+ {vm_memory_high_watermark, 0.4},
+ {vm_memory_high_watermark_paging_ratio, 0.5},
+ {memory_monitor_interval, 2500},
+ {disk_free_limit, 50000000}, %% 50MB
+ {msg_store_index_module, rabbit_msg_store_ets_index},
+ {backing_queue_module, rabbit_variable_queue},
+ %% 0 ("no limit") would make a better default, but that
+ %% breaks the QPid Java client
+ {frame_max, 131072},
+ {channel_max, 0},
+ {heartbeat, 60},
+ {msg_store_file_size_limit, 16777216},
+ {fhc_write_buffering, true},
+ {fhc_read_buffering, false},
+ {queue_index_max_journal_entries, 32768},
+ {queue_index_embed_msgs_below, 4096},
+ {default_user, <<"guest">>},
+ {default_pass, <<"guest">>},
+ {default_user_tags, [administrator]},
+ {default_vhost, <<"/">>},
+ {default_permissions, [<<".*">>, <<".*">>, <<".*">>]},
+ {loopback_users, [<<"guest">>]},
+ {password_hashing_module, rabbit_password_hashing_sha256},
+ {cluster_nodes, {[], disc}},
+ {server_properties, []},
+ {collect_statistics, none},
+ {collect_statistics_interval, 5000},
+ {mnesia_table_loading_retry_timeout, 30000},
+ {mnesia_table_loading_retry_limit, 10},
+ {auth_mechanisms, ['PLAIN', 'AMQPLAIN']},
+ {auth_backends, [rabbit_auth_backend_internal]},
+ {delegate_count, 16},
+ {trace_vhosts, []},
+ {log_levels, [{connection, info}]},
+ {ssl_cert_login_from, distinguished_name},
+ {ssl_handshake_timeout, 5000},
+ {ssl_allow_poodle_attack, false},
+ {handshake_timeout, 10000},
+ {reverse_dns_lookups, false},
+ {cluster_partition_handling, ignore},
+ {cluster_keepalive_interval, 10000},
+ {tcp_listen_options, [{backlog, 128},
+ {nodelay, true},
+ {linger, {true, 0}},
+ {exit_on_close, false}
+ ]},
+ {halt_on_upgrade_failure, true},
+ {hipe_compile, false},
+ %% see bug 24513 for how this list was created
+ {hipe_modules,
+ [rabbit_reader, rabbit_channel, gen_server2, rabbit_exchange,
+ rabbit_command_assembler, rabbit_framing_amqp_0_9_1, rabbit_basic,
+ rabbit_event, lists, queue, priority_queue, rabbit_router,
+ rabbit_trace, rabbit_misc, rabbit_binary_parser,
+ rabbit_exchange_type_direct, rabbit_guid, rabbit_net,
+ rabbit_amqqueue_process, rabbit_variable_queue,
+ rabbit_binary_generator, rabbit_writer, delegate, gb_sets, lqueue,
+ sets, orddict, rabbit_amqqueue, rabbit_limiter, gb_trees,
+ rabbit_queue_index, rabbit_exchange_decorator, gen, dict, ordsets,
+ file_handle_cache, rabbit_msg_store, array,
+ rabbit_msg_store_ets_index, rabbit_msg_file,
+ rabbit_exchange_type_fanout, rabbit_exchange_type_topic, mnesia,
+ mnesia_lib, rpc, mnesia_tm, qlc, sofs, proplists, credit_flow,
+ pmon, ssl_connection, tls_connection, ssl_record, tls_record,
+ gen_fsm, ssl]},
+ {ssl_apps, [asn1, crypto, public_key, ssl]},
+ %% see rabbitmq-server#114
+ {mirroring_flow_control, true},
+ {mirroring_sync_batch_size, 4096},
+ %% see rabbitmq-server#227 and related tickets.
+ %% msg_store_credit_disc_bound only takes effect when
+ %% messages are persisted to the message store. If messages
+ %% are embedded on the queue index, then modifying this
+ %% setting has no effect because credit_flow is not used when
+ %% writing to the queue index. See the setting
+ %% queue_index_embed_msgs_below above.
+ {msg_store_credit_disc_bound, {2000, 500}},
+ {msg_store_io_batch_size, 2048},
+ %% see rabbitmq-server#143
+ %% and rabbitmq-server#949
+ {credit_flow_default_credit, {200, 100}},
+ %% see rabbitmq-server#248
+ %% and rabbitmq-server#667
+ {channel_operation_timeout, 15000},
+ {config_entry_decoder, [{cipher, aes_cbc256},
+ {hash, sha512},
+ {iterations, 1000},
+ {passphrase, undefined}
+ ]},
+ %% rabbitmq-server-973
+ {lazy_queue_explicit_gc_run_operation_threshold, 250},
+ {background_gc_enabled, true},
+ {background_gc_target_interval, 60000}
+ ]
+endef
+LOCAL_DEPS = sasl mnesia os_mon xmerl
DEPS = ranch rabbit_common
TEST_DEPS = rabbitmq_ct_helpers rabbitmq_ct_client_helpers amqp_client meck proper
diff --git a/src/rabbit.app.src b/src/rabbit.app.src
deleted file mode 100644
index 59c3d4a6b2..0000000000
--- a/src/rabbit.app.src
+++ /dev/null
@@ -1,114 +0,0 @@
-{application, rabbit, %% -*- erlang -*-
- [{description, "RabbitMQ"},
- {id, "RabbitMQ"},
- {vsn, "0.0.0"},
- {modules, []},
- {registered, [rabbit_amqqueue_sup,
- rabbit_log,
- rabbit_node_monitor,
- rabbit_router,
- rabbit_sup,
- rabbit_direct_client_sup]},
- {applications, [kernel, stdlib, sasl, mnesia, rabbit_common, ranch, os_mon, xmerl]},
-%% we also depend on crypto, public_key and ssl but they shouldn't be
-%% in here as we don't actually want to start it
- {mod, {rabbit, []}},
- {env, [{tcp_listeners, [5672]},
- {num_tcp_acceptors, 10},
- {ssl_listeners, []},
- {num_ssl_acceptors, 1},
- {ssl_options, []},
- {vm_memory_high_watermark, 0.4},
- {vm_memory_high_watermark_paging_ratio, 0.5},
- {memory_monitor_interval, 2500},
- {disk_free_limit, 50000000}, %% 50MB
- {msg_store_index_module, rabbit_msg_store_ets_index},
- {backing_queue_module, rabbit_variable_queue},
- %% 0 ("no limit") would make a better default, but that
- %% breaks the QPid Java client
- {frame_max, 131072},
- {channel_max, 0},
- {heartbeat, 60},
- {msg_store_file_size_limit, 16777216},
- {fhc_write_buffering, true},
- {fhc_read_buffering, false},
- {queue_index_max_journal_entries, 32768},
- {queue_index_embed_msgs_below, 4096},
- {default_user, <<"guest">>},
- {default_pass, <<"guest">>},
- {default_user_tags, [administrator]},
- {default_vhost, <<"/">>},
- {default_permissions, [<<".*">>, <<".*">>, <<".*">>]},
- {loopback_users, [<<"guest">>]},
- {password_hashing_module, rabbit_password_hashing_sha256},
- {cluster_nodes, {[], disc}},
- {server_properties, []},
- {collect_statistics, none},
- {collect_statistics_interval, 5000},
- {mnesia_table_loading_retry_timeout, 30000},
- {mnesia_table_loading_retry_limit, 10},
- {auth_mechanisms, ['PLAIN', 'AMQPLAIN']},
- {auth_backends, [rabbit_auth_backend_internal]},
- {delegate_count, 16},
- {trace_vhosts, []},
- {log_levels, [{connection, info}]},
- {ssl_cert_login_from, distinguished_name},
- {ssl_handshake_timeout, 5000},
- {ssl_allow_poodle_attack, false},
- {handshake_timeout, 10000},
- {reverse_dns_lookups, false},
- {cluster_partition_handling, ignore},
- {cluster_keepalive_interval, 10000},
- {tcp_listen_options, [{backlog, 128},
- {nodelay, true},
- {linger, {true, 0}},
- {exit_on_close, false}]},
- {halt_on_upgrade_failure, true},
- {hipe_compile, false},
- %% see bug 24513 for how this list was created
- {hipe_modules,
- [rabbit_reader, rabbit_channel, gen_server2, rabbit_exchange,
- rabbit_command_assembler, rabbit_framing_amqp_0_9_1, rabbit_basic,
- rabbit_event, lists, queue, priority_queue, rabbit_router,
- rabbit_trace, rabbit_misc, rabbit_binary_parser,
- rabbit_exchange_type_direct, rabbit_guid, rabbit_net,
- rabbit_amqqueue_process, rabbit_variable_queue,
- rabbit_binary_generator, rabbit_writer, delegate, gb_sets, lqueue,
- sets, orddict, rabbit_amqqueue, rabbit_limiter, gb_trees,
- rabbit_queue_index, rabbit_exchange_decorator, gen, dict, ordsets,
- file_handle_cache, rabbit_msg_store, array,
- rabbit_msg_store_ets_index, rabbit_msg_file,
- rabbit_exchange_type_fanout, rabbit_exchange_type_topic, mnesia,
- mnesia_lib, rpc, mnesia_tm, qlc, sofs, proplists, credit_flow,
- pmon, ssl_connection, tls_connection, ssl_record, tls_record,
- gen_fsm, ssl]},
- {ssl_apps, [asn1, crypto, public_key, ssl]},
- %% see rabbitmq-server#114
- {mirroring_flow_control, true},
- {mirroring_sync_batch_size, 4096},
- %% see rabbitmq-server#227 and related tickets.
- %% msg_store_credit_disc_bound only takes effect when
- %% messages are persisted to the message store. If messages
- %% are embedded on the queue index, then modifying this
- %% setting has no effect because credit_flow is not used when
- %% writing to the queue index. See the setting
- %% queue_index_embed_msgs_below above.
- {msg_store_credit_disc_bound, {2000, 500}},
- {msg_store_io_batch_size, 2048},
- %% see rabbitmq-server#143
- %% and rabbitmq-server#949
- {credit_flow_default_credit, {200, 100}},
- %% see rabbitmq-server#248
- %% and rabbitmq-server#667
- {channel_operation_timeout, 15000},
- {config_entry_decoder, [
- {cipher, aes_cbc256},
- {hash, sha512},
- {iterations, 1000},
- {passphrase, undefined}
- ]},
- %% rabbitmq-server-973
- {lazy_queue_explicit_gc_run_operation_threshold, 250},
- {background_gc_enabled, true},
- {background_gc_target_interval, 60000}
- ]}]}.