% 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.


%% -*- erlang-indent-level: 4;indent-tabs-mode: nil -*-

{application, dreyfus, [
    {description, "Clouseau index manager"},
    {vsn, git},
    {mod, {dreyfus_app, []}},
    {registered, [dreyfus_index_manager, dreyfus_sup]},
    {applications, [kernel, stdlib, couch_log, config, couch_event, mem3, ioq, couch_epi]}
]}.
