You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by rn...@apache.org on 2014/02/03 14:00:03 UTC

[24/27] couchdb commit: updated refs/heads/1843-feature-bigcouch to 465d1ad

Build main.js


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

Branch: refs/heads/1843-feature-bigcouch
Commit: 37d71c5b1b3d6b7f8ff8de45733b386f6748adc3
Parents: 84e6e49
Author: Robert Newson <rn...@apache.org>
Authored: Thu Jan 30 15:49:03 2014 +0000
Committer: Robert Newson <rn...@apache.org>
Committed: Mon Feb 3 12:54:11 2014 +0000

----------------------------------------------------------------------
 rebar.config             |  2 ++
 support/build_js.escript | 55 +++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 57 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/couchdb/blob/37d71c5b/rebar.config
----------------------------------------------------------------------
diff --git a/rebar.config b/rebar.config
index 1ae51fd..8960167 100644
--- a/rebar.config
+++ b/rebar.config
@@ -36,3 +36,5 @@
 {lib_dirs, ["src/"]}.
 
 {erl_opts, [debug_info]}.
+
+{post_hooks, [{compile, "escript support/build_js.escript"}]}.

http://git-wip-us.apache.org/repos/asf/couchdb/blob/37d71c5b/support/build_js.escript
----------------------------------------------------------------------
diff --git a/support/build_js.escript b/support/build_js.escript
new file mode 100644
index 0000000..5050fd6
--- /dev/null
+++ b/support/build_js.escript
@@ -0,0 +1,55 @@
+%% -*- tab-width: 4;erlang-indent-level: 4;indent-tabs-mode: nil -*-
+%% ex: ft=erlang ts=4 sw=4 et
+
+%% 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.
+%%
+%%
+
+-export([main/1]).
+
+
+main([]) ->
+    JsFiles = ["share/server/json2.js",
+               "share/server/filter.js",
+               "share/server/mimeparse.js",
+               "share/server/render.js",
+               "share/server/state.js",
+               "share/server/util.js",
+               "share/server/validate.js",
+               "share/server/views.js",
+               "share/server/loop.js"],
+
+    CoffeeFiles = ["share/server/json2.js",
+                   "share/server/filter.js",
+                   "share/server/mimeparse.js",
+                   "share/server/render.js",
+                   "share/server/state.js",
+                   "share/server/util.js",
+                   "share/server/validate.js",
+                   "share/server/views.js",
+                   "share/server/coffee-script.js",
+                   "share/server/loop.js"],
+
+
+    Concat = fun(Files, To) ->
+            AccBin = lists:foldl(fun(Path, Acc) ->
+                            {ok, Bin} = file:read_file(Path),
+                            [Bin | Acc]
+                    end, [], Files),
+            FinalBin = iolist_to_binary(lists:reverse(AccBin)),
+            file:write_file(To, FinalBin)
+    end,
+
+    ok = Concat(JsFiles, "share/server/main.js"),
+    ok = Concat(CoffeeFiles, "share/server/main-coffee.js"),
+    ok.