Produce a better error message if qdate hasn't been started

This commit is contained in:
Jesse Gumm 2024-01-09 18:58:02 -06:00
parent 817c14c46e
commit 794d03a5ee
4 changed files with 37 additions and 21 deletions

View file

@ -1,18 +1,18 @@
REBAR_PATH = $(shell which rebar3)
ifeq ($(REBAR_PATH),)
REBAR = $(shell pwd)/rebar3
else
REBAR = rebar3
endif
all: compile
compile:
# Check if rebar3.mk exists, and if not, download it
ifeq ("$(wildcard rebar3.mk)","")
$(shell curl -O https://raw.githubusercontent.com/choptastic/rebar3.mk/master/rebar3.mk)
endif
# rebar3.mk adds a new rebar3 rule to your Makefile
# (see https://github.com/choptastic/rebar3.mk) for full info
include rebar3.mk
compile: rebar3
$(REBAR) compile
update:
update: rebar3
$(REBAR) update
test: compile
@ -28,11 +28,9 @@ dev:
cd _checkouts; git clone https://github.com/choptastic/qdate_localtime
run:
run: rebar3
$(REBAR) shell
publish:
$(REBAR) as pkg upgrade
$(REBAR) as pkg hex publish
$(REBAR) upgrade
publish: rebar3
$(REBAR) hex publish

View file

@ -10,5 +10,5 @@
{deps,
[
erlware_commons,
{qdate_localtime, "1.2.0"}
{qdate_localtime, "~> 1.2.0"}
]}.

View file

@ -5,9 +5,9 @@
{registered, []},
{applications, [
kernel,
stdlib,
qdate_localtime,
erlware_commons,
stdlib
erlware_commons
]},
{modules, [qdate, qdate_srv, qdate_sup, qdate_app]},
{env, []},

View file

@ -152,8 +152,26 @@ unset_env(Key) ->
gen_server:call(?SERVER, {unset, ?KEY(Key)}).
get_all_env(FilterTag) ->
All = ets:tab2list(?TABLE),
[{Key, V} || {{?BASETAG, {Tag, Key}}, V} <- All, Tag==FilterTag].
try ets:tab2list(?TABLE) of
All ->
[{Key, V} || {{?BASETAG, {Tag, Key}}, V} <- All, Tag==FilterTag]
catch
error:badarg:S ->
Msg = maybe_start_msg(),
logger:error(Msg),
error({qdate_get_all_env_failed, #{
original_error => {error, badarg, S}
}})
end.
maybe_start_msg() ->
"Attempting to read qdate environment failed (qdate_srv:get_all_env/1).\n"
"qdate may not have been started properly.\n"
"Please ensure qdate is started properly by either:\n"
"* Putting qdate in the 'applications' key in your .app.src or .app file, or\n"
"* Starting it manually with application:ensure_all_started(qdate) or qdate:start().".
%% ProcDic Vars