Current section

Files

Jump to
erl_esdb rebar.config
Raw

rebar.config

{erl_opts, [
debug_info,
warnings_as_errors
]}.
{deps, [
{khepri, "0.17.2"},
{ra, "2.16.12"},
{telemetry, "1.3.0"},
{erl_esdb_gater, "~> 0.6.4"}
]}.
{project_plugins, [
rebar3_proper,
rebar3_ex_doc,
rebar3_hex
]}.
{profiles, [
{test, [
{deps, [
{proper, "1.4.0"},
{meck, "0.9.2"}
]},
{erl_opts, [
debug_info,
nowarn_export_all
]},
{extra_src_dirs, [
"test/unit",
"test/integration",
"test/support",
"test/e2e"
]}
]},
{prod, [
{erl_opts, [
no_debug_info,
deterministic
]},
{relx, [
{release, {erl_esdb, "0.4.4"}, [
erl_esdb,
sasl
]},
{dev_mode, false},
{include_erts, true},
{extended_start_script, true},
{sys_config, "config/sys.config"},
{vm_args, "config/vm.args"}
]}
]}
%% NOTE: Enterprise NIFs are now in a separate package: erl_esdb_nifs
%% Add to deps: {erl_esdb_nifs, {git, "git@github.com:macula-io/erl-esdb-nifs.git", {tag, "0.4.0"}}}
%% NIFs are auto-detected when erl_esdb_nifs is available
]}.
{shell, [
{apps, [erl_esdb]}
]}.
{relx, [
{release, {erl_esdb, "0.4.4"}, [
erl_esdb,
sasl
]},
{dev_mode, true},
{include_erts, false},
{extended_start_script, true},
{sys_config, "config/sys.config"},
{vm_args, "config/vm.args"}
]}.
%% EUnit configuration
{eunit_opts, [
verbose,
{report, {eunit_surefire, [{dir, "_build/test/reports"}]}}
]}.
%% Common Test configuration
{ct_opts, [
{dir, "test/integration"},
{sys_config, "config/test.config"}
]}.
%% Cover configuration
{cover_enabled, true}.
{cover_opts, [verbose]}.
%% Dialyzer configuration
{dialyzer, [
{warnings, [
unknown,
unmatched_returns,
error_handling,
underspecs
]},
{plt_apps, top_level_deps},
{plt_extra_apps, [kernel, stdlib, crypto]}
]}.
%% Ex_doc configuration
{ex_doc, [
{extras, [
{"README.md", #{title => <<"Readme">>}},
{"LICENSE", #{title => <<"License">>}},
{"CHANGELOG.md", #{title => <<"Changelog">>}},
%% Core Concepts
{"guides/event_sourcing.md", #{title => <<"Event Sourcing">>}},
{"guides/cqrs.md", #{title => <<"CQRS">>}},
{"guides/subscriptions.md", #{title => <<"Subscriptions">>}},
{"guides/snapshots.md", #{title => <<"Snapshots">>}},
%% Advanced Features
{"guides/temporal_queries.md", #{title => <<"Temporal Queries">>}},
{"guides/scavenging.md", #{title => <<"Scavenging">>}},
{"guides/causation.md", #{title => <<"Causation Tracking">>}},
{"guides/stream_links.md", #{title => <<"Stream Links">>}},
{"guides/schema_evolution.md", #{title => <<"Schema Evolution">>}},
%% Operations
{"guides/configuration.md", #{title => <<"Configuration">>}},
{"guides/memory_pressure.md", #{title => <<"Memory Pressure">>}},
{"guides/storage_internals.md", #{title => <<"Storage Internals">>}},
{"guides/cluster_consistency.md", #{title => <<"Cluster Consistency">>}}
]},
{main, <<"README.md">>},
{source_url, <<"https://github.com/macula-io/erl-esdb">>},
{assets, #{<<"assets">> => <<"assets">>}}
]}.
%% Hex configuration
{hex, [
{doc, #{provider => ex_doc}}
]}.
%% Package metadata for hex.pm
{pkg, [
{name, erl_esdb},
{description, "BEAM-native Event Store built on Khepri/Ra with Raft consensus. "
"Supports event sourcing, persistent subscriptions, snapshots, "
"and automatic cluster formation via UDP multicast discovery."},
{licenses, ["Apache-2.0"]},
{links, [
{"GitHub", "https://github.com/macula-io/erl-esdb"},
{"Docs", "https://hexdocs.pm/erl_esdb"}
]},
{files, [
"src",
"include",
"assets",
"rebar.config",
"rebar.lock",
"README.md",
"LICENSE",
"CHANGELOG.md",
"guides"
]},
{maintainers, ["Macula.io"]},
{build_tools, ["rebar3"]}
]}.