diff options
author | Eric <[email protected]> | 2012-09-08 11:14:51 -0500 |
---|---|---|
committer | Eric <[email protected]> | 2012-09-08 11:14:51 -0500 |
commit | 13263b778c4f519e27629a2e0772b2466004005b (patch) | |
tree | 1c5c710672cc2d009ea8d8052da7f5aff59dc177 /src/rcl_goal_utils.erl | |
parent | 6f6fd117cc8c7dd1f139fa7a8bfb53b0e670a968 (diff) | |
download | relx-13263b778c4f519e27629a2e0772b2466004005b.tar.gz relx-13263b778c4f519e27629a2e0772b2466004005b.tar.bz2 relx-13263b778c4f519e27629a2e0772b2466004005b.zip |
add goal parsing capability to the system
Diffstat (limited to 'src/rcl_goal_utils.erl')
-rw-r--r-- | src/rcl_goal_utils.erl | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/src/rcl_goal_utils.erl b/src/rcl_goal_utils.erl new file mode 100644 index 0000000..75fcda4 --- /dev/null +++ b/src/rcl_goal_utils.erl @@ -0,0 +1,79 @@ +%% -*- mode: Erlang; fill-column: 80; comment-column: 75; -*- +%%% Copyright 2012 Erlware, LLC. All Rights Reserved. +%%% +%%% This file is provided to you under the Apache License, +%%% Version 2.0 (the "License"); you may not use this file +%%% except in compliance with the License. You may obtain +%%% a copy of the License at +%%% +%%% http://www.apache.org/licenses/LICENSE-2.0 +%%% +%%% Unless required by applicable law or agreed to in writing, +%%% software distributed under the License is distributed on an +%%% "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +%%% KIND, either express or implied. See the License for the +%%% specific language governing permissions and limitations +%%% under the License. +%%%--------------------------------------------------------------------------- +%%% @author Eric Merritt <[email protected]> +%%% @copyright (C) 2012 Erlware, LLC. +%%% +%%% @doc +%%% Utilities to help with parsing of target specs +-module(rcl_goal_utils). + +-export([to_op/1, + to_vsn/1]). + +%%============================================================================ +%% types +%%============================================================================ + + +%%============================================================================ +%% API +%%============================================================================ +-spec to_op(iolist()) -> depsolver:constraint_op(). +to_op(List) + when erlang:is_list(List) -> + to_op(erlang:iolist_to_binary(List)); +to_op(<<"=">>) -> + '='; +to_op(<<":">>) -> + '='; +to_op(<<"-">>) -> + '='; +to_op(<<"<">>) -> + 'lt'; +to_op(<<":lt:">>) -> + 'lt'; +to_op(<<"<=">>) -> + 'lte'; +to_op(<<":lte:">>) -> + 'lte'; +to_op(<<">">>) -> + 'gt'; +to_op(<<":gt:">>) -> + 'gt'; +to_op(<<">=">>) -> + 'gte'; +to_op(<<":gte:">>) -> + 'gte'; +to_op(<<"~>">>) -> + 'pes'; +to_op(<<":pes:">>) -> + 'pes'; +to_op(<<":btwn:">>) -> + 'between'; +to_op(<<":between:">>) -> + 'between'. + + +to_vsn(Version) when erlang:is_list(Version) -> + to_vsn(erlang:iolist_to_binary(Version)); +to_vsn(Vsn) -> + depsolver:parse_version(Vsn). + +%%%=================================================================== +%%% Test Functions +%%%=================================================================== |