Packages
relx
3.3.2
4.10.0
4.9.0
4.8.0
4.7.0
4.6.0
4.5.0
4.4.0
4.3.0
4.2.0
4.1.0
4.0.2
4.0.1
4.0.0
4.0.0-rc2
3.33.0
3.32.1
3.32.0
3.31.0
3.30.0
3.29.0
3.28.0
3.27.0
3.26.0
3.25.0
3.24.4
3.24.3
3.24.2
3.24.1
3.23.1
3.23.0
3.22.4
3.22.3
retired
3.22.2
3.22.1
retired
3.22.0
3.21.1
3.21.0
3.20.0
3.19.0
3.18.0
3.17.0
3.16.0
3.15.0
3.14.0
3.13.0
3.12.0
3.11.0
3.10.0
3.9.0
3.8.0
3.7.1
3.7.0
3.6.0
3.5.0
3.4.0
3.3.2
3.3.1
3.3.0
3.2.0
3.1.0
3.0.0
2.1.1
2.1.0
Release assembler for Erlang/OTP Releases
Current section
Files
Jump to
Current section
Files
src/rlx_goal.peg
constraint <- ws? app_name ws? between_op ws? version ws? "," ws? version ws? !.
/ ws? app_name ws? constraint_op ws? version ws? !.
/ ws? app_name ws? !.
`
case Node of
[_,AppName,_, _] ->
{ok, AppName};
[_,AppName,_,Op,_,Vsn,_, _] ->
{ok,
{AppName,
rlx_goal_utils:to_vsn(Vsn),
rlx_goal_utils:to_op(Op)}};
[_,AppName,_,Op,_,Vsn1,_,_,_,Vsn2,_,_] ->
{ok,
{AppName,
rlx_goal_utils:to_vsn(Vsn1),
rlx_goal_utils:to_vsn(Vsn2),
rlx_goal_utils:to_op(Op)}};
_ ->
io:format("~p~n", [Node])
end
` ;
ws <- [ \t\n\s\r] ;
app_name <- [a-zA-Z0-9_]+
` erlang:list_to_atom(erlang:binary_to_list(erlang:iolist_to_binary(Node))) ` ;
between_op <-
":" ws? ( "btwn" / "between" ) ws? ":"
` case Node of
[C,_,Op,_,C] -> erlang:iolist_to_binary([C,Op,C]);
_ -> Node
end
` ;
constraint_op <- "=" / "-" / "<=" / "<" / "~>" / ">=" / ">" / word_constraint_op / ":" ;
word_constraint_op <-
":" ws? ( "gte" / "lte" / "gt" / "lt" / "pes" ) ws? ":"
` case Node of
[C,_,Op,_,C] -> erlang:iolist_to_binary([C,Op,C]);
_ -> Node
end
` ;
version <- [0-9a-zA-Z-+.]+ ;
%% This only exists to get around a bug in erlang where if
%% warnings_as_errors is specified `nowarn` directives are ignored
`-compile(export_all).`