| 
									
										
										
										
											2023-02-23 21:47:41 +08:00
										 |  |  | load("@rules_erlang//:eunit2.bzl", "eunit") | 
					
						
							| 
									
										
										
										
											2022-06-03 18:46:45 +08:00
										 |  |  | load("@rules_erlang//:xref2.bzl", "xref") | 
					
						
							| 
									
										
										
										
											2022-02-24 18:18:41 +08:00
										 |  |  | load("@rules_erlang//:dialyze.bzl", "dialyze", "plt") | 
					
						
							| 
									
										
										
										
											2021-04-14 06:03:06 +08:00
										 |  |  | load( | 
					
						
							|  |  |  |     "//:rabbitmq.bzl", | 
					
						
							| 
									
										
										
										
											2021-11-12 18:34:19 +08:00
										 |  |  |     "APP_VERSION", | 
					
						
							| 
									
										
										
										
											2022-04-07 23:19:35 +08:00
										 |  |  |     "BROKER_VERSION_REQUIREMENTS_ANY", | 
					
						
							| 
									
										
										
										
											2021-06-01 16:19:10 +08:00
										 |  |  |     "RABBITMQ_DIALYZER_OPTS", | 
					
						
							| 
									
										
										
										
											2021-07-12 23:54:55 +08:00
										 |  |  |     "assert_suites", | 
					
						
							| 
									
										
										
										
											2021-05-11 18:03:27 +08:00
										 |  |  |     "broker_for_integration_suites", | 
					
						
							| 
									
										
										
										
											2022-01-06 03:57:48 +08:00
										 |  |  |     "rabbitmq_app", | 
					
						
							| 
									
										
										
										
											2021-05-11 18:03:27 +08:00
										 |  |  |     "rabbitmq_integration_suite", | 
					
						
							|  |  |  |     "rabbitmq_suite", | 
					
						
							| 
									
										
										
										
											2023-02-23 21:47:41 +08:00
										 |  |  | ) | 
					
						
							|  |  |  | load( | 
					
						
							|  |  |  |     ":app.bzl", | 
					
						
							|  |  |  |     "all_beam_files", | 
					
						
							|  |  |  |     "all_srcs", | 
					
						
							|  |  |  |     "all_test_beam_files", | 
					
						
							|  |  |  |     "test_suite_beam_files", | 
					
						
							| 
									
										
										
										
											2021-04-14 06:03:06 +08:00
										 |  |  | ) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | APP_NAME = "rabbitmq_management" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | APP_DESCRIPTION = "RabbitMQ Management Console" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | APP_MODULE = "rabbit_mgmt_app" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-03-29 17:01:43 +08:00
										 |  |  | APP_ENV = """[
 | 
					
						
							|  |  |  | 	    {http_log_dir,      none}, | 
					
						
							|  |  |  | 	    {load_definitions,  none}, | 
					
						
							|  |  |  | 	    {management_db_cache_multiplier, 5}, | 
					
						
							|  |  |  | 	    {process_stats_gc_timeout, 300000}, | 
					
						
							|  |  |  | 	    {stats_event_max_backlog, 250}, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	    {cors_allow_origins, []}, | 
					
						
							|  |  |  | 	    {cors_max_age, 1800}, | 
					
						
							| 
									
										
										
										
											2023-10-14 18:11:01 +08:00
										 |  |  | 	    {content_security_policy, "script-src 'self' 'unsafe-eval' 'unsafe-inline'; object-src 'self'"}, | 
					
						
							|  |  |  | 	    {max_http_body_size, 20000000} | 
					
						
							| 
									
										
										
										
											2021-03-29 17:01:43 +08:00
										 |  |  | 	  ]"""
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-11-12 18:34:19 +08:00
										 |  |  | genrule( | 
					
						
							|  |  |  |     name = "rabbitmqadmin", | 
					
						
							|  |  |  |     srcs = ["bin/rabbitmqadmin"], | 
					
						
							|  |  |  |     outs = ["priv/www/cli/rabbitmqadmin"], | 
					
						
							|  |  |  |     cmd = """set -euxo pipefail
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | sed 's/%%VSN%%/{}/' $< > $@ | 
					
						
							|  |  |  | """.format(APP_VERSION),
 | 
					
						
							|  |  |  | ) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-02-23 21:47:41 +08:00
										 |  |  | all_beam_files(name = "all_beam_files") | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | all_test_beam_files(name = "all_test_beam_files") | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | all_srcs(name = "all_srcs") | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | test_suite_beam_files(name = "test_suite_beam_files") | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # gazelle:erlang_app_extra_app mnesia | 
					
						
							|  |  |  | # gazelle:erlang_app_extra_app ssl | 
					
						
							|  |  |  | # gazelle:erlang_app_extra_app crypto | 
					
						
							|  |  |  | # gazelle:erlang_app_extra_app public_key | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-05-01 16:32:59 +08:00
										 |  |  | # gazelle:erlang_app_dep ranch | 
					
						
							| 
									
										
										
										
											2023-02-23 21:47:41 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-01-06 03:57:48 +08:00
										 |  |  | rabbitmq_app( | 
					
						
							| 
									
										
										
										
											2023-02-23 21:47:41 +08:00
										 |  |  |     name = "erlang_app", | 
					
						
							|  |  |  |     srcs = [":all_srcs"], | 
					
						
							|  |  |  |     hdrs = [":public_hdrs"], | 
					
						
							| 
									
										
										
										
											2021-04-14 06:03:06 +08:00
										 |  |  |     app_description = APP_DESCRIPTION, | 
					
						
							| 
									
										
										
										
											2021-03-29 17:01:43 +08:00
										 |  |  |     app_env = APP_ENV, | 
					
						
							| 
									
										
										
										
											2022-04-07 23:19:35 +08:00
										 |  |  |     app_extra_keys = BROKER_VERSION_REQUIREMENTS_ANY, | 
					
						
							| 
									
										
										
										
											2021-04-14 06:03:06 +08:00
										 |  |  |     app_module = APP_MODULE, | 
					
						
							|  |  |  |     app_name = APP_NAME, | 
					
						
							| 
									
										
										
										
											2023-02-23 21:47:41 +08:00
										 |  |  |     beam_files = [":beam_files"], | 
					
						
							|  |  |  |     extra_apps = [ | 
					
						
							|  |  |  |         "crypto", | 
					
						
							|  |  |  |         "mnesia", | 
					
						
							|  |  |  |         "public_key", | 
					
						
							|  |  |  |         "ssl", | 
					
						
							|  |  |  |     ], | 
					
						
							|  |  |  |     license_files = [":license_files"], | 
					
						
							|  |  |  |     priv = [":priv"], | 
					
						
							|  |  |  |     deps = [ | 
					
						
							|  |  |  |         "//deps/amqp_client:erlang_app", | 
					
						
							|  |  |  |         "//deps/rabbit:erlang_app", | 
					
						
							|  |  |  |         "//deps/rabbit_common:erlang_app", | 
					
						
							|  |  |  |         "//deps/rabbitmq_management_agent:erlang_app", | 
					
						
							|  |  |  |         "//deps/rabbitmq_web_dispatch:erlang_app", | 
					
						
							|  |  |  |         "@cowboy//:erlang_app", | 
					
						
							|  |  |  |         "@cowlib//:erlang_app", | 
					
						
							| 
									
										
										
										
											2023-05-01 16:32:59 +08:00
										 |  |  |         "@ranch//:erlang_app", | 
					
						
							| 
									
										
										
										
											2023-02-23 21:47:41 +08:00
										 |  |  |     ], | 
					
						
							| 
									
										
										
										
											2021-03-29 17:01:43 +08:00
										 |  |  | ) | 
					
						
							| 
									
										
										
										
											2021-04-14 06:03:06 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-02-23 21:47:41 +08:00
										 |  |  | xref( | 
					
						
							|  |  |  |     name = "xref", | 
					
						
							|  |  |  |     target = ":erlang_app", | 
					
						
							|  |  |  | ) | 
					
						
							| 
									
										
										
										
											2021-05-21 18:02:50 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-02-24 18:18:41 +08:00
										 |  |  | plt( | 
					
						
							| 
									
										
										
										
											2023-02-23 21:47:41 +08:00
										 |  |  |     name = "deps_plt", | 
					
						
							|  |  |  |     for_target = ":erlang_app", | 
					
						
							| 
									
										
										
										
											2023-04-15 00:22:02 +08:00
										 |  |  |     ignore_warnings = True, | 
					
						
							| 
									
										
										
										
											2023-02-23 21:47:41 +08:00
										 |  |  |     libs = ["//deps/rabbitmq_cli:elixir"],  # keep | 
					
						
							|  |  |  |     plt = "//:base_plt", | 
					
						
							| 
									
										
										
										
											2022-02-24 18:18:41 +08:00
										 |  |  | ) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-06-01 16:19:10 +08:00
										 |  |  | dialyze( | 
					
						
							| 
									
										
										
										
											2023-02-23 21:47:41 +08:00
										 |  |  |     name = "dialyze", | 
					
						
							| 
									
										
										
										
											2021-06-01 16:19:10 +08:00
										 |  |  |     dialyzer_opts = RABBITMQ_DIALYZER_OPTS, | 
					
						
							| 
									
										
										
										
											2023-02-23 21:47:41 +08:00
										 |  |  |     plt = ":deps_plt", | 
					
						
							|  |  |  |     target = ":erlang_app", | 
					
						
							| 
									
										
										
										
											2021-06-01 16:19:10 +08:00
										 |  |  | ) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-02-23 21:47:41 +08:00
										 |  |  | eunit( | 
					
						
							|  |  |  |     name = "eunit", | 
					
						
							|  |  |  |     compiled_suites = [":test_rabbit_mgmt_runtime_parameters_util_beam"], | 
					
						
							|  |  |  |     target = ":test_erlang_app", | 
					
						
							| 
									
										
										
										
											2021-04-15 22:41:18 +08:00
										 |  |  | ) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-02-23 21:47:41 +08:00
										 |  |  | broker_for_integration_suites() | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-11-24 22:46:08 +08:00
										 |  |  | rabbitmq_suite( | 
					
						
							|  |  |  |     name = "cache_SUITE", | 
					
						
							|  |  |  |     size = "small", | 
					
						
							|  |  |  |     deps = [ | 
					
						
							| 
									
										
										
										
											2023-02-23 21:47:41 +08:00
										 |  |  |         "//deps/rabbitmq_ct_helpers:erlang_app", | 
					
						
							| 
									
										
										
										
											2022-11-24 22:46:08 +08:00
										 |  |  |         "@proper//:erlang_app", | 
					
						
							|  |  |  |     ], | 
					
						
							|  |  |  | ) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | rabbitmq_integration_suite( | 
					
						
							|  |  |  |     name = "clustering_prop_SUITE", | 
					
						
							|  |  |  |     size = "large", | 
					
						
							|  |  |  |     deps = [ | 
					
						
							|  |  |  |         "//deps/rabbitmq_management_agent:erlang_app", | 
					
						
							|  |  |  |         "@proper//:erlang_app", | 
					
						
							|  |  |  |     ], | 
					
						
							|  |  |  | ) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | rabbitmq_integration_suite( | 
					
						
							|  |  |  |     name = "clustering_SUITE", | 
					
						
							|  |  |  |     flaky = True, | 
					
						
							|  |  |  |     deps = [ | 
					
						
							|  |  |  |         "//deps/rabbitmq_management_agent:erlang_app", | 
					
						
							|  |  |  |     ], | 
					
						
							|  |  |  | ) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | rabbitmq_integration_suite( | 
					
						
							|  |  |  |     name = "config_schema_SUITE", | 
					
						
							|  |  |  |     size = "medium", | 
					
						
							|  |  |  | ) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | rabbitmq_suite( | 
					
						
							|  |  |  |     name = "listener_config_SUITE", | 
					
						
							|  |  |  |     size = "small", | 
					
						
							|  |  |  | ) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | rabbitmq_integration_suite( | 
					
						
							|  |  |  |     name = "rabbit_mgmt_http_health_checks_SUITE", | 
					
						
							|  |  |  | ) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | rabbitmq_integration_suite( | 
					
						
							|  |  |  |     name = "rabbit_mgmt_http_SUITE", | 
					
						
							|  |  |  |     size = "large", | 
					
						
							|  |  |  |     additional_beam = [ | 
					
						
							| 
									
										
										
										
											2023-02-23 21:47:41 +08:00
										 |  |  |         "test/rabbit_mgmt_runtime_parameters_util.beam", | 
					
						
							| 
									
										
										
										
											2022-11-24 22:46:08 +08:00
										 |  |  |     ], | 
					
						
							|  |  |  |     shard_count = 2, | 
					
						
							|  |  |  | ) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | rabbitmq_integration_suite( | 
					
						
							|  |  |  |     name = "rabbit_mgmt_only_http_SUITE", | 
					
						
							|  |  |  | ) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | rabbitmq_integration_suite( | 
					
						
							|  |  |  |     name = "rabbit_mgmt_rabbitmqadmin_SUITE", | 
					
						
							|  |  |  |     additional_beam = [ | 
					
						
							| 
									
										
										
										
											2023-02-23 21:47:41 +08:00
										 |  |  |         "test/rabbit_mgmt_runtime_parameters_util.beam", | 
					
						
							| 
									
										
										
										
											2022-11-24 22:46:08 +08:00
										 |  |  |     ], | 
					
						
							|  |  |  |     data = [ | 
					
						
							|  |  |  |         ":bin/rabbitmqadmin", | 
					
						
							|  |  |  |     ], | 
					
						
							|  |  |  | ) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | rabbitmq_suite( | 
					
						
							|  |  |  |     name = "rabbit_mgmt_stats_SUITE", | 
					
						
							|  |  |  |     size = "small", | 
					
						
							|  |  |  |     deps = [ | 
					
						
							| 
									
										
										
										
											2023-02-23 21:47:41 +08:00
										 |  |  |         "//deps/rabbitmq_ct_helpers:erlang_app", | 
					
						
							| 
									
										
										
										
											2022-11-24 22:46:08 +08:00
										 |  |  |         "//deps/rabbitmq_management_agent:erlang_app", | 
					
						
							| 
									
										
										
										
											2023-06-21 03:21:42 +08:00
										 |  |  |         "//deps/rabbitmq_web_dispatch:erlang_app", | 
					
						
							| 
									
										
										
										
											2022-11-24 22:46:08 +08:00
										 |  |  |         "@proper//:erlang_app", | 
					
						
							|  |  |  |     ], | 
					
						
							|  |  |  | ) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | rabbitmq_integration_suite( | 
					
						
							|  |  |  |     name = "rabbit_mgmt_test_db_SUITE", | 
					
						
							|  |  |  |     deps = [ | 
					
						
							|  |  |  |         "//deps/rabbitmq_management_agent:erlang_app", | 
					
						
							| 
									
										
										
										
											2023-06-21 03:21:42 +08:00
										 |  |  |         "//deps/rabbitmq_web_dispatch:erlang_app", | 
					
						
							| 
									
										
										
										
											2022-11-24 22:46:08 +08:00
										 |  |  |     ], | 
					
						
							|  |  |  | ) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | rabbitmq_suite( | 
					
						
							|  |  |  |     name = "rabbit_mgmt_test_unit_SUITE", | 
					
						
							|  |  |  |     size = "small", | 
					
						
							|  |  |  | ) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | rabbitmq_suite( | 
					
						
							|  |  |  |     name = "stats_SUITE", | 
					
						
							|  |  |  |     size = "small", | 
					
						
							|  |  |  |     deps = [ | 
					
						
							|  |  |  |         "//deps/rabbitmq_management_agent:erlang_app", | 
					
						
							| 
									
										
										
										
											2023-06-21 03:21:42 +08:00
										 |  |  |         "//deps/rabbitmq_web_dispatch:erlang_app", | 
					
						
							| 
									
										
										
										
											2022-11-24 22:46:08 +08:00
										 |  |  |         "@proper//:erlang_app", | 
					
						
							|  |  |  |     ], | 
					
						
							|  |  |  | ) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | assert_suites() | 
					
						
							| 
									
										
										
										
											2021-04-15 22:41:18 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-11-24 22:46:08 +08:00
										 |  |  | alias( | 
					
						
							|  |  |  |     name = "rabbitmq_management", | 
					
						
							|  |  |  |     actual = ":erlang_app", | 
					
						
							|  |  |  |     visibility = ["//visibility:public"], | 
					
						
							| 
									
										
										
										
											2021-04-15 22:41:18 +08:00
										 |  |  | ) |