This is an automated email from the ASF dual-hosted git repository. rnewson pushed a commit to branch aegis_key_manager_app in repository https://gitbox.apache.org/repos/asf/couchdb.git
commit 5fe682c2b25f4cd2fa0815ec27ebbc9e330af86f Author: Robert Newson <[email protected]> AuthorDate: Tue Aug 4 12:18:40 2020 +0100 Optionally add a key manager application as a dependency --- src/aegis/rebar.config.script | 11 +++++++++-- .../src/{aegis.app.src => aegis.app.src.script} | 23 +++++++++++++++------- 2 files changed, 25 insertions(+), 9 deletions(-) diff --git a/src/aegis/rebar.config.script b/src/aegis/rebar.config.script index ef148bf..2c5a272 100644 --- a/src/aegis/rebar.config.script +++ b/src/aegis/rebar.config.script @@ -26,10 +26,17 @@ AegisKeyManager = case lists:keyfind(aegis_key_manager, 1, CouchConfig) of aegis_noop_key_manager end, +AegisKeyManagerOpt = case lists:keyfind(aegis_key_manager_app, 1, CouchConfig) of + {aegis_key_manager_app, AppName} when AppName /= "" -> + [{d, 'AEGIS_KEY_MANAGER_APP', list_to_atom(AppName)}]; + _ -> + [] +end, + CurrentOpts = case lists:keyfind(erl_opts, 1, CONFIG) of {erl_opts, Opts} -> Opts; false -> [] end, -AegisOpts = {d, 'AEGIS_KEY_MANAGER', AegisKeyManager}, -lists:keystore(erl_opts, 1, CONFIG, {erl_opts, [AegisOpts | CurrentOpts]}). +AegisOpts = AegisKeyManagerOpt ++ [{d, 'AEGIS_KEY_MANAGER', AegisKeyManager}], +lists:keystore(erl_opts, 1, CONFIG, {erl_opts, AegisOpts ++ CurrentOpts}). diff --git a/src/aegis/src/aegis.app.src b/src/aegis/src/aegis.app.src.script similarity index 78% rename from src/aegis/src/aegis.app.src rename to src/aegis/src/aegis.app.src.script index deb1526..3d6b842 100644 --- a/src/aegis/src/aegis.app.src +++ b/src/aegis/src/aegis.app.src.script @@ -10,6 +10,21 @@ % License for the specific language governing permissions and limitations under % the License. +AegisKeyManagerApp = case os:getenv("AEGIS_KEY_MANAGER_APP") of + false -> []; + AppName -> [AppName] +end. + +BaseApplications = [ + kernel, + stdlib, + crypto, + couch_log, + erlfdb +]. + +Applications = AegisKeyManagerApp ++ BaseApplications. + {application, aegis, [ {description, "If it's good enough for Zeus, it's good enough for CouchDB"}, @@ -18,13 +33,7 @@ {registered, [ aegis_server ]}, - {applications, - [kernel, - stdlib, - crypto, - couch_log, - erlfdb - ]}, + {applications, Applications}, {env,[]}, {modules, []}, {maintainers, []},
