| % 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. |
| |
| % Set the path to the configuration environment generated |
| % by `./configure`. |
| |
| COUCHDB_ROOT = filename:dirname(SCRIPT). |
| os:putenv("COUCHDB_ROOT", COUCHDB_ROOT). |
| |
| ConfigureEnv = filename:join(COUCHDB_ROOT, "config.erl"). |
| os:putenv("COUCHDB_CONFIG", ConfigureEnv). |
| |
| os:putenv("COUCHDB_APPS_CONFIG_DIR", filename:join([COUCHDB_ROOT, "rel/apps"])). |
| |
| DepDescs = [ |
| %% must be compiled first as it has a custom behavior |
| {couch_epi, "couch-epi", "f6ad55d804ac741b59fe37dd092787113847661c"}, |
| {config, "config", "12dcbf571516970f7cfa586bda9a1f1cad82d5bb"}, |
| %% keep these sorted |
| {b64url, "b64url", "6895652d80f95cdf04efb14625abed868998f174"}, |
| {couch_log, "couch-log", "2f70cc8ddb1a6a8d512aa53490138d9c2754eb07"}, |
| {chttpd, "chttpd", "663273b0ed2ea4eae16d9d36e1922138fb25e766"}, |
| {couch, "couch", "1df597fc2e9a8208e7716f8542a7f6a8e9b606e8"}, |
| {couch_index, "couch-index", "e7d269800302224eacf9585f74eb30822495755b"}, |
| {couch_mrview, "couch-mrview", "157132c6e603b1870a08c04e8459a177387932ed"}, |
| {couch_replicator, "couch-replicator", "05247a26019ce5416e13ef80a12c307bdc790ee4"}, |
| {couch_plugins, "couch-plugins", "3e73b723cb126cfc471b560d17c24a8b5c540085"}, |
| {couch_event, "couch-event", "835a41885d1e276d207758954f8238aa7bba0ae8"}, |
| {couch_stats, "couch-stats", "7895d4d3f509ed24f09b6d1a0bd0e06af34551dc"}, |
| {couch_peruser, "peruser", "ff7d190970a46722137fbc7a1a75466e8a544ae1"}, |
| {couch_tests, "erlang-tests", "37b3bfeb4b1a48a592456e67991362e155ed81e0"}, |
| {docs, "documentation", "eab768d17ca0b9d20f4fc884a48376c9533356c1", [raw]}, |
| {ddoc_cache, "ddoc-cache", "c762e90a33ce3cda19ef142dd1120f1087ecd876"}, |
| {ets_lru, "ets-lru", "c05488c8b1d7ec1c3554a828e0c9bf2888932ed6"}, |
| {fabric, "fabric", "78eb096dae277facc5cf4f6f166e5591da6c165f"}, |
| {fauxton, "fauxton", {tag, "v1.1.7"}, [raw]}, |
| {folsom, "folsom", "a5c95dec18227c977029fbd3b638966d98f17003"}, |
| {global_changes, "global-changes", "203fb088ed81149108e64d18ffd9c3f5df154f97"}, |
| {ibrowse, "ibrowse", "4af2d408607874d124414ac45df1edbe3961d1cd"}, |
| {ioq, "ioq", "c7c75ebeaf41599e3a3e211097d864f0e7785829"}, |
| {jiffy, "jiffy", "d3c00e19d8fa20c21758402231247602190988d3"}, |
| {khash, "khash", "7c6a9cd9776b5c6f063ccafedfa984b00877b019"}, |
| {mango, "mango", "01252f971bef0c8da1d78bf5a7b506b71926ce1b"}, |
| {mem3, "mem3", "15615b295ec970ca9b12b7b54107a80b95149511"}, |
| {mochiweb, "mochiweb", "bd6ae7cbb371666a1f68115056f7b30d13765782"}, |
| {oauth, "oauth", "099057a98e41f3aff91e77e3cf496d6c6fd901df"}, |
| {rexi, "rexi", "a327b7dbeb2b0050f7ca9072047bf8ef2d282833"}, |
| {snappy, "snappy", "a728b960611d0795025de7e9668d06b9926c479d"}, |
| {setup, "setup", "b9e1f3b5d5a78a706abb358e17130fb7344567d2"}, |
| {meck, "meck", {tag, "0.8.2"}} |
| ], |
| |
| BaseUrl = "https://git-wip-us.apache.org/repos/asf/", |
| |
| MakeDep = fun |
| ({AppName, {url, Url}, Version}) -> |
| {AppName, ".*", {git, Url, Version}}; |
| ({AppName, {url, Url}, Version, Options}) -> |
| {AppName, ".*", {git, Url, Version}, Options}; |
| ({AppName, RepoName, Version}) -> |
| Url = BaseUrl ++ "couchdb-" ++ RepoName ++ ".git", |
| {AppName, ".*", {git, Url, Version}}; |
| ({AppName, RepoName, Version, Options}) -> |
| Url = BaseUrl ++ "couchdb-" ++ RepoName ++ ".git", |
| {AppName, ".*", {git, Url, Version}, Options} |
| end, |
| |
| AddConfig = [ |
| {require_otp_vsn, "R16B03|R16B03-1|17|18|19"}, |
| {deps_dir, "src"}, |
| {deps, lists:map(MakeDep, DepDescs)}, |
| {sub_dirs, ["rel"]}, |
| {lib_dirs, ["src/"]}, |
| {erl_opts, [debug_info]}, |
| {eunit_opts, [verbose]}, |
| {plugins, [eunit_plugin]}, |
| {dialyzer, [ |
| {plt_location, local}, |
| {plt_location, COUCHDB_ROOT}, |
| {plt_extra_apps, [ |
| asn1, compiler, crypto, inets, kernel, os_mon, runtime_tools, |
| sasl, ssl, stdlib, syntax_tools, xmerl]}, |
| {warnings, [unmatched_returns, error_handling, race_conditions]}]}, |
| {post_hooks, [{compile, "escript support/build_js.escript"}]} |
| ], |
| |
| C = lists:foldl(fun({K, V}, CfgAcc) -> |
| lists:keystore(K, 1, CfgAcc, {K, V}) |
| end, CONFIG, AddConfig). |