Build with rebar

Project: http://git-wip-us.apache.org/repos/asf/couchdb-chttpd/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb-chttpd/commit/fe81abc1
Tree: http://git-wip-us.apache.org/repos/asf/couchdb-chttpd/tree/fe81abc1
Diff: http://git-wip-us.apache.org/repos/asf/couchdb-chttpd/diff/fe81abc1

Branch: refs/heads/import
Commit: fe81abc1d51befc1fe97921fc8421697a549d661
Parents: 4ab522e
Author: Robert Newson <[email protected]>
Authored: Wed Dec 18 14:04:59 2013 +0000
Committer: Paul J. Davis <[email protected]>
Committed: Fri Jan 17 13:36:18 2014 -0800

----------------------------------------------------------------------
 .gitignore          |  1 -
 Makefile.am         | 56 --------------------------------------
 README.md           | 16 -----------
 src/chttpd.app.src  |  2 +-
 src/chttpd_view.erl | 71 ++++++++++++++++++++++++------------------------
 5 files changed, 37 insertions(+), 109 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/couchdb-chttpd/blob/fe81abc1/.gitignore
----------------------------------------------------------------------
diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index ba4df8d..0000000
--- a/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-ebin/*
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/couchdb-chttpd/blob/fe81abc1/Makefile.am
----------------------------------------------------------------------
diff --git a/Makefile.am b/Makefile.am
deleted file mode 100644
index c785968..0000000
--- a/Makefile.am
+++ /dev/null
@@ -1,56 +0,0 @@
-## Licensed 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.
-
-chttpdebindir = $(localerlanglibdir)/chttpd/ebin
-
-chttpdebin_DATA = $(compiled_files)
-
-source_files = \
-       src/chttpd.app.src \
-       src/chttpd.erl \
-       src/chttpd_app.erl \
-       src/chttpd_config_listener.erl \
-       src/chttpd_db.erl \
-       src/chttpd_external.erl \
-       src/chttpd_misc.erl \
-       src/chttpd_rewrite.erl \
-       src/chttpd_show.erl \
-       src/chttpd_sup.erl \
-       src/chttpd_view.erl
-
-compiled_files = \
-       ebin/chttpd.app \
-       ebin/chttpd.beam \
-       ebin/chttpd_app.beam \
-       ebin/chttpd_config_listener.beam \
-       ebin/chttpd_db.beam \
-       ebin/chttpd_external.beam \
-       ebin/chttpd_misc.beam \
-       ebin/chttpd_rewrite.beam \
-       ebin/chttpd_show.beam \
-       ebin/chttpd_sup.beam
-
-# Conflicts in couch_db.hrl prevent us from building these
-# until after we merge the couch application
-#      ebin/chttpd_view.beam
-
-
-EXTRA_DIST = $(source_files)
-CLEANFILES = $(compiled_files)
-
-ebin/%.app: src/%.app.src
-       @mkdir -p ebin/
-       sed -e "s|%version%|@version@|g" < $< > $@
-
-ebin/%.beam: src/%.erl
-       @mkdir -p ebin/
-       $(ERLC) -Wall -I$(top_srcdir)/src -o ebin/ $(ERLC_FLAGS) $<

http://git-wip-us.apache.org/repos/asf/couchdb-chttpd/blob/fe81abc1/README.md
----------------------------------------------------------------------
diff --git a/README.md b/README.md
deleted file mode 100644
index 784bedd..0000000
--- a/README.md
+++ /dev/null
@@ -1,16 +0,0 @@
-## chttpd
-
-chttpd is a cluster-aware http layer for [CouchDB][1].  It is used in 
[BigCouch][2] as the http front-end.
-
-### License
-[Apache 2.0][3]
-
-### Contact
- * [http://cloudant.com][4]
- * [[email protected]][5]
-
-[1]: http://couchdb.apache.org
-[2]: http://github.com/cloudant/bigcouch
-[3]: http://www.apache.org/licenses/LICENSE-2.0.html
-[4]: http://cloudant.com
-[5]: mailto:[email protected]

http://git-wip-us.apache.org/repos/asf/couchdb-chttpd/blob/fe81abc1/src/chttpd.app.src
----------------------------------------------------------------------
diff --git a/src/chttpd.app.src b/src/chttpd.app.src
index d841f6c..9ab91c8 100644
--- a/src/chttpd.app.src
+++ b/src/chttpd.app.src
@@ -12,7 +12,7 @@
 
  {application, chttpd, [
     {description, "HTTP interface for CouchDB cluster"},
-    {vsn, "%version%"},
+    {vsn, git},
     {modules, [
         chttpd,
         chttpd_app,

http://git-wip-us.apache.org/repos/asf/couchdb-chttpd/blob/fe81abc1/src/chttpd_view.erl
----------------------------------------------------------------------
diff --git a/src/chttpd_view.erl b/src/chttpd_view.erl
index 2c64dda..85b88a3 100644
--- a/src/chttpd_view.erl
+++ b/src/chttpd_view.erl
@@ -12,6 +12,7 @@
 
 -module(chttpd_view).
 -include_lib("couch/include/couch_db.hrl").
+-include_lib("couch_mrview/include/couch_mrview.hrl").
 
 -export([handle_view_req/3, handle_temp_view_req/2, get_reduce_type/1,
     parse_view_params/3, view_group_etag/2, view_group_etag/3,
@@ -91,11 +92,11 @@ view_callback({error, Reason}, {_, Resp}) ->
 extract_view_type(_ViewName, [], _IsReduce) ->
     throw({not_found, missing_named_view});
 extract_view_type(ViewName, [View|Rest], IsReduce) ->
-    case lists:member(ViewName, [Name || {Name, _} <- View#view.reduce_funs]) 
of
+    case lists:member(ViewName, [Name || {Name, _} <- 
View#mrview.reduce_funs]) of
     true ->
         if IsReduce -> reduce; true -> red_map end;
     false ->
-        case lists:member(ViewName, View#view.map_names) of
+        case lists:member(ViewName, View#mrview.map_names) of
         true -> map;
         false -> extract_view_type(ViewName, Rest, IsReduce)
         end
@@ -153,7 +154,7 @@ parse_view_params(Req, Keys, ViewType) when not 
is_list(Req) ->
     parse_view_params(QueryParams, Keys, ViewType);
 parse_view_params(QueryParams, Keys, ViewType) ->
     IsMultiGet = (Keys =/= nil),
-    Args = #view_query_args{
+    Args = #mrargs{
         view_type=ViewType,
         multi_get=IsMultiGet,
         keys=Keys
@@ -162,7 +163,7 @@ parse_view_params(QueryParams, Keys, ViewType) ->
         validate_view_query(K, V, Args2)
     end, Args, QueryParams),
 
-    GroupLevel = QueryArgs#view_query_args.group_level,
+    GroupLevel = QueryArgs#mrargs.group_level,
     case {ViewType, GroupLevel, IsMultiGet} of
         {reduce, exact, true} ->
             QueryArgs;
@@ -180,9 +181,9 @@ parse_view_params(QueryParams, Keys, ViewType) ->
 parse_json_view_param({<<"key">>, V}) ->
     [{start_key, V}, {end_key, V}];
 parse_json_view_param({<<"startkey_docid">>, V}) ->
-    [{start_docid, V}];
+    [{start_key_docid, V}];
 parse_json_view_param({<<"endkey_docid">>, V}) ->
-    [{end_docid, V}];
+    [{end_key_docid, V}];
 parse_json_view_param({<<"startkey">>, V}) ->
     [{start_key, V}];
 parse_json_view_param({<<"endkey">>, V}) ->
@@ -224,9 +225,9 @@ parse_view_param("key", Value) ->
     JsonKey = ?JSON_DECODE(Value),
     [{start_key, JsonKey}, {end_key, JsonKey}];
 parse_view_param("startkey_docid", Value) ->
-    [{start_docid, ?l2b(Value)}];
+    [{start_key_docid, ?l2b(Value)}];
 parse_view_param("endkey_docid", Value) ->
-    [{end_docid, ?l2b(Value)}];
+    [{end_key_docid, ?l2b(Value)}];
 parse_view_param("startkey", Value) ->
     [{start_key, ?JSON_DECODE(Value)}];
 parse_view_param("endkey", Value) ->
@@ -273,64 +274,64 @@ parse_view_param(Key, Value) ->
     [{extra, {Key, Value}}].
 
 validate_view_query(start_key, Value, Args) ->
-    case Args#view_query_args.multi_get of
+    case Args#mrargs.multi_get of
         true ->
             Msg = <<"Query parameter `start_key` is "
                     "not compatiible with multi-get">>,
             throw({query_parse_error, Msg});
         _ ->
-            Args#view_query_args{start_key=Value}
+            Args#mrargs{start_key=Value}
     end;
-validate_view_query(start_docid, Value, Args) ->
-    Args#view_query_args{start_docid=Value};
+validate_view_query(start_key_docid, Value, Args) ->
+    Args#mrargs{start_key_docid=Value};
 validate_view_query(end_key, Value, Args) ->
-    case Args#view_query_args.multi_get of
+    case Args#mrargs.multi_get of
         true->
             Msg = <<"Query paramter `end_key` is "
                     "not compatibile with multi-get">>,
             throw({query_parse_error, Msg});
         _ ->
-            Args#view_query_args{end_key=Value}
+            Args#mrargs{end_key=Value}
     end;
-validate_view_query(end_docid, Value, Args) ->
-    Args#view_query_args{end_docid=Value};
+validate_view_query(end_key_docid, Value, Args) ->
+    Args#mrargs{end_key_docid=Value};
 validate_view_query(limit, Value, Args) ->
-    Args#view_query_args{limit=Value};
+    Args#mrargs{limit=Value};
 validate_view_query(list, Value, Args) ->
-    Args#view_query_args{list=Value};
+    Args#mrargs{list=Value};
 validate_view_query(stale, Value, Args) ->
-    Args#view_query_args{stale=Value};
+    Args#mrargs{stale=Value};
 validate_view_query(descending, true, Args) ->
-    case Args#view_query_args.direction of
+    case Args#mrargs.direction of
         rev -> Args; % Already reversed
         fwd ->
-            Args#view_query_args{
+            Args#mrargs{
                 direction = rev,
-                start_docid =
-                    reverse_key_default(Args#view_query_args.start_docid),
-                end_docid =
-                    reverse_key_default(Args#view_query_args.end_docid)
+                start_key_docid =
+                    reverse_key_default(Args#mrargs.start_key_docid),
+                end_key_docid =
+                    reverse_key_default(Args#mrargs.end_key_docid)
             }
     end;
 validate_view_query(descending, false, Args) ->
     Args; % Ignore default condition
 validate_view_query(skip, Value, Args) ->
-    Args#view_query_args{skip=Value};
+    Args#mrargs{skip=Value};
 validate_view_query(group_level, Value, Args) ->
-    case Args#view_query_args.view_type of
+    case Args#mrargs.view_type of
         reduce ->
-            Args#view_query_args{group_level=Value};
+            Args#mrargs{group_level=Value};
         _ ->
             Msg = <<"Invalid URL parameter 'group' or "
                     " 'group_level' for non-reduce view.">>,
             throw({query_parse_error, Msg})
     end;
 validate_view_query(inclusive_end, Value, Args) ->
-    Args#view_query_args{inclusive_end=Value};
+    Args#mrargs{inclusive_end=Value};
 validate_view_query(reduce, false, Args) ->
     Args;
 validate_view_query(reduce, _, Args) ->
-    case Args#view_query_args.view_type of
+    case Args#mrargs.view_type of
         map ->
             Msg = <<"Invalid URL parameter `reduce` for map view.">>,
             throw({query_parse_error, Msg});
@@ -338,29 +339,29 @@ validate_view_query(reduce, _, Args) ->
             Args
     end;
 validate_view_query(include_docs, true, Args) ->
-    case Args#view_query_args.view_type of
+    case Args#mrargs.view_type of
         reduce ->
             Msg = <<"Query paramter `include_docs` "
                     "is invalid for reduce views.">>,
             throw({query_parse_error, Msg});
         _ ->
-            Args#view_query_args{include_docs=true}
+            Args#mrargs{include_docs=true}
     end;
 validate_view_query(include_docs, _Value, Args) ->
     Args;
 validate_view_query(conflicts, true, Args) ->
-    case Args#view_query_args.view_type of
+    case Args#mrargs.view_type of
     reduce ->
         Msg = <<"Query parameter `conflicts` "
                 "is invalid for reduce views.">>,
         throw({query_parse_error, Msg});
     _ ->
-        Args#view_query_args{extra = [conflicts|Args#view_query_args.extra]}
+        Args#mrargs{extra = [conflicts|Args#mrargs.extra]}
     end;
 validate_view_query(conflicts, _Value, Args) ->
     Args;
 validate_view_query(sorted, false, Args) ->
-    Args#view_query_args{sorted=false};
+    Args#mrargs{sorted=false};
 validate_view_query(sorted, _Value, Args) ->
     Args;
 validate_view_query(extra, _Value, Args) ->

Reply via email to