summaryrefslogtreecommitdiff
path: root/support
diff options
context:
space:
mode:
authorRobert Newson <rnewson@apache.org>2014-01-30 15:49:03 +0000
committerRobert Newson <rnewson@apache.org>2014-02-03 12:54:11 +0000
commit37d71c5b1b3d6b7f8ff8de45733b386f6748adc3 (patch)
treef44d14dff4bd77e8e5dff6f28a3e1c39e4e1245d /support
parent84e6e49a114696bc4a71d087882c36337358e36c (diff)
downloadcouchdb-37d71c5b1b3d6b7f8ff8de45733b386f6748adc3.tar.gz
Build main.js
Diffstat (limited to 'support')
-rw-r--r--support/build_js.escript55
1 files changed, 55 insertions, 0 deletions
diff --git a/support/build_js.escript b/support/build_js.escript
new file mode 100644
index 000000000..5050fd6c7
--- /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.