Packages
brod
3.8.0
4.5.7
4.5.6
4.5.5
4.5.4
4.5.3
4.5.2
4.5.1
4.5.0
4.4.7
4.4.6
4.4.5
4.4.4
4.4.3
4.4.2
4.4.1
4.4.0
4.3.3
4.3.2
4.3.1
4.3.0
4.2.0
4.1.1
4.1.0
4.0.0
3.19.1
3.19.0
3.18.0
3.17.1
3.17.0
3.16.5
3.16.4
3.16.3
3.16.2
3.16.1
3.16.0
3.15.6
3.15.5
3.15.4
3.15.3
3.15.1
3.15.0
3.14.0
3.13.0
3.12.0
3.11.0
3.10.0
3.9.5
3.9.3
3.9.2
3.9.1
3.9.0
3.8.1
3.8.0
3.7.11
3.7.10
3.7.9
3.7.8
3.7.7
3.7.6
3.7.5
3.7.4
3.7.3
3.7.2
3.7.1
3.7.0
3.6.2
3.6.1
3.6.0
3.5.2
3.5.1
3.5.0
3.4.0
3.3.5
3.3.4
3.3.3
3.3.2
3.3.1
3.3.0
3.2.0
3.0.0
2.5.0
2.4.1
2.4.0
2.3.7
2.3.6
2.3.5
2.3.4
2.3.3
2.3.1
2.2.16
2.2.15
2.2.14
2.2.12
2.2.11
2.2.10
2.2.9
2.2.8
2.2.7
2.2.6
2.2.5
2.2.4
2.2.3
2.2.2
2.2.1
2.2.0
2.1.12
2.1.11
2.1.10
2.1.8
2.1.7
2.1.4
2.1.2
2.0.0
Apache Kafka Erlang client library
Current section
Files
Jump to
Current section
Files
Makefile
KAFKA_VERSION ?= 2.2
PROJECT = brod
PROJECT_DESCRIPTION = Kafka client library in Erlang
PROJECT_VERSION = 3.8.0
DEPS = supervisor3 kafka_protocol
ERLC_OPTS = -Werror +warn_unused_vars +warn_shadow_vars +warn_unused_import +warn_obsolete_guard +debug_info -Dbuild_brod_cli
dep_supervisor3_commit = 1.1.8
dep_kafka_protocol_commit = 2.2.9
dep_kafka_protocol = git https://github.com/klarna/kafka_protocol.git $(dep_kafka_protocol_commit)
EDOC_OPTS = preprocess, {macros, [{build_brod_cli, true}]}
## Make app the default target
## To avoid building a release when brod is used as a erlang.mk project's dependency
app:: vsn-check
include erlang.mk
compile: vsn-check
@rebar3 compile
test-env:
@./scripts/setup-test-env.sh
ut:
@rebar3 eunit -v --cover_export_name ut-$(KAFKA_VERSION)
# version check, eunit and all common tests
t: vsn-check ut
@rebar3 ct -v --cover_export_name ct-$(KAFKA_VERSION)
vsn-check:
@./scripts/vsn-check.sh $(PROJECT_VERSION)
distclean:: rebar-clean
rebar-clean:
@rebar3 clean
@rm -rf _build
@rm -rf doc
@rm -f pipe.testdata
hex-publish: distclean
@rebar3 hex publish
## tests that require kafka running at localhost
INTEGRATION_CTS = brod_cg_commits brod_client brod_compression brod_consumer brod_producer brod_group_subscriber brod_topic_subscriber
## integration tests
it: ut $(INTEGRATION_CTS:%=it-%)
$(INTEGRATION_CTS:%=it-%):
@rebar3 ct -v --suite=test/$(subst it-,,$@)_SUITE --cover_export_name $@-$(KAFKA_VERSION)
## build escript and a releas, and copy escript to release bin dir
brod-cli:
@rebar3 as brod_cli escriptize
@rebar3 as brod_cli release
@cp _build/brod_cli/bin/brod_cli _build/brod_cli/rel/brod/bin/
cover:
@rebar3 cover -v
coveralls:
@rebar3 coveralls send