couchdb-couch-epi.git
2 years agoMerge remote branch 'DeadZen:patch-1' master
ILYA Khlopotov [Fri, 14 Oct 2016 18:39:36 +0000 (11:39 -0700)] 
Merge remote branch 'DeadZen:patch-1'

This closes #20

Signed-off-by: ILYA Khlopotov <iilyak@apache.org>
2 years agoUpdate README.md 20/head
Pedram Nimreezi [Tue, 30 Aug 2016 05:50:09 +0000 (01:50 -0400)] 
Update README.md

Fix a few typos and such

2 years agoUse erl_scan:line/1 if present 19/head
Robert Newson [Thu, 14 Jul 2016 14:56:42 +0000 (15:56 +0100)] 
Use erl_scan:line/1 if present

COUCHDB-3058

2 years agoMerge remote branch 'github/pr/18'
ILYA Khlopotov [Wed, 23 Mar 2016 13:32:09 +0000 (06:32 -0700)] 
Merge remote branch 'github/pr/18'

This closes #18

Signed-off-by: ILYA Khlopotov <iilyak@ca.ibm.com>
2 years agoDon't rely on timer:sleep after update in tests 18/head
ILYA Khlopotov [Tue, 22 Mar 2016 23:47:33 +0000 (16:47 -0700)] 
Don't rely on timer:sleep after update in tests

To fix currently broken build we do not use timer:sleep/1 after update/2.

3 years agoFix a warning for a variable shadowed in the tests 17/head
Eric Avdey [Tue, 12 Jan 2016 14:07:12 +0000 (10:07 -0400)] 
Fix a warning for a variable shadowed in the tests

Just a nitpick, but there are a couple of the variables
shadowed in the list comprehensions in the tests.
It doesn't compromise the tests, but raises a warning
during the tests' build.

3 years agoMerge remote-tracking branch 'github/pr/15'
Alexander Shorin [Tue, 27 Oct 2015 19:31:11 +0000 (22:31 +0300)] 
Merge remote-tracking branch 'github/pr/15'

3 years agoMerge remote-tracking branch 'github/pr/14'
Alexander Shorin [Tue, 27 Oct 2015 19:22:49 +0000 (22:22 +0300)] 
Merge remote-tracking branch 'github/pr/14'

3 years agoIntegrate with Travis CI 16/head
Alexander Shorin [Sat, 17 Oct 2015 22:19:53 +0000 (01:19 +0300)] 
Integrate with Travis CI

3 years agoFix dialyzer warnings
ILYA Khlopotov [Fri, 2 Oct 2015 17:23:01 +0000 (10:23 -0700)] 
Fix dialyzer warnings

This closes #9
This closes #13

Signed-off-by: Alexander Shorin <kxepal@apache.org>
3 years agoAdd couch_epi:decide/5 15/head
ILYA Khlopotov [Fri, 9 Oct 2015 19:55:41 +0000 (12:55 -0700)] 
Add couch_epi:decide/5

There are cases when we want to call configured providers until any of
them would make a decision. We also would want to be able to find out
if any decision has been made so we could call default handler.

3 years agoHandle providers in order of definition 14/head
ILYA Khlopotov [Thu, 8 Oct 2015 15:09:37 +0000 (08:09 -0700)] 
Handle providers in order of definition

3 years agoEnsure calling order of plugins during dispatch
ILYA Khlopotov [Tue, 6 Oct 2015 19:17:31 +0000 (12:17 -0700)] 
Ensure calling order of plugins during dispatch

If there are multiple plugins providing same service they will be called
in the order they listed in application:get_env(couch_epi, plugins).

3 years agoUse rel/apps/couch_epi.config for configuring EPI 12/head
ILYA Khlopotov [Wed, 30 Sep 2015 16:04:54 +0000 (09:04 -0700)] 
Use rel/apps/couch_epi.config for configuring EPI

3 years agoSupport for overwriting of app supervisors' children
ILYA Khlopotov [Tue, 29 Sep 2015 19:42:07 +0000 (12:42 -0700)] 
Support for overwriting of app supervisors' children

3 years agoAdd extra guards on couch_epi.erl functions
ILYA Khlopotov [Tue, 29 Sep 2015 18:33:41 +0000 (11:33 -0700)] 
Add extra guards on couch_epi.erl functions

3 years agoUpdate documentation
ILYA Khlopotov [Mon, 28 Sep 2015 16:20:15 +0000 (09:20 -0700)] 
Update documentation

3 years agoRefactor couch_epi to simplify it
ILYA Khlopotov [Thu, 24 Sep 2015 19:15:32 +0000 (12:15 -0700)] 
Refactor couch_epi to simplify it

3 years agoCheck if Handler module exists before we try to call update
ILYA Khlopotov [Mon, 21 Sep 2015 19:21:16 +0000 (12:21 -0700)] 
Check if Handler module exists before we try to call update

3 years agoFix crypto deprecations 11/head
Alexander Shorin [Thu, 24 Sep 2015 19:11:56 +0000 (22:11 +0300)] 
Fix crypto deprecations

COUCHDB-2825

3 years agoRemove support for ignore_providers option 8/head
ILYA Khlopotov [Wed, 2 Sep 2015 17:03:44 +0000 (10:03 -0700)] 
Remove support for ignore_providers option

COUCHDB-2796

3 years agoDon't use try/catch to handle missing plugins
ILYA Khlopotov [Wed, 2 Sep 2015 16:37:46 +0000 (09:37 -0700)] 
Don't use try/catch to handle missing plugins

COUCHDB-2796

3 years agoCall maybe_start_keeper for couch_epi_data_source
ILYA Khlopotov [Wed, 2 Sep 2015 15:11:36 +0000 (08:11 -0700)] 
Call maybe_start_keeper for couch_epi_data_source

COUCHDB-2796

3 years agoIntroduce 'couch_epi:register_service/1'
ILYA Khlopotov [Wed, 2 Sep 2015 15:10:52 +0000 (08:10 -0700)] 
Introduce 'couch_epi:register_service/1'

COUCHDB-2796

3 years agoFix test suite
ILYA Khlopotov [Wed, 2 Sep 2015 14:07:19 +0000 (07:07 -0700)] 
Fix test suite

COUCHDB-2796

3 years agoAdd couch_epi:is_configured 2/head
ILYA Khlopotov [Fri, 26 Jun 2015 18:47:38 +0000 (11:47 -0700)] 
Add couch_epi:is_configured

3 years agoRestore R14 compatibility 5/head
Robert Newson [Wed, 22 Jul 2015 07:36:32 +0000 (08:36 +0100)] 
Restore R14 compatibility

CouchDB 2.0 will be compatible with R14. Support for R14 to be dropped
after.

closes COUCHDB-2755

3 years agoThe race condition between providers is fixed 4/head
ILYA Khlopotov [Tue, 14 Jul 2015 15:27:37 +0000 (08:27 -0700)] 
The race condition between providers is fixed

In previous design there is a race condition between the time we read the
current definitions in the generated module and the time we compile new
version of it. This race led to overwriting of data of already
configured providers.

This commit fixes the issue by introducing couch_epi_module_keeper
process. This process is named by generated module name and it is
essentially a requests serializer.

3 years agoFix function_clause in childspec 3/head
Robert Newson [Mon, 13 Jul 2015 12:21:07 +0000 (13:21 +0100)] 
Fix function_clause in childspec

Make couch_epi_functions:childspec's result match expectations of
couch_epi_functions:start_link function.

3 years agoget version from git like other repos
Robert Newson [Thu, 25 Jun 2015 11:53:35 +0000 (12:53 +0100)] 
get version from git like other repos

3 years agoRewrite test suite to test new functionality 1/head
ILYA Khlopotov [Wed, 24 Jun 2015 21:14:37 +0000 (14:14 -0700)] 
Rewrite test suite to test new functionality

3 years agoUse code_change to trigger generation of a module
ILYA Khlopotov [Wed, 24 Jun 2015 21:09:16 +0000 (14:09 -0700)] 
Use code_change to trigger generation of a module

Previously we did periodic check of hashes for every provider module.
We switch to code_change use. Which would be called if specify modules
argument in child spec of the supervisor from where we register our
provider module.

We rely on this bit "Modules should be a list with one element [Module],
where Module is the name of the callback module, if the child process
is a supervisor, gen_server or gen_fsm. If the child process is a
gen_event, Modules should be dynamic." from
http://www.erlang.org/doc/design_principles/sup_princ.html

3 years agoUpdate documentation
ILYA Khlopotov [Wed, 24 Jun 2015 21:07:59 +0000 (14:07 -0700)] 
Update documentation

3 years agoAdd couch_epi_data
ILYA Khlopotov [Wed, 24 Jun 2015 20:52:59 +0000 (13:52 -0700)] 
Add couch_epi_data

3 years agoInitial version
ILYA Khlopotov [Wed, 10 Jun 2015 23:02:59 +0000 (16:02 -0700)] 
Initial version

Add `ignore_providers` option

Rename `hash(FilePath)` into `hashof_file(FilePath)`

Use monitor to unsubscribe when subscriber die

Rename couch_epi:all into couch_epi:dump

Remove modules from dispatch on termination

Add all/any convinence funs to couch_epi

Document `ignore_providers` option

Add childspec helper to _data_source and _functions

Add license to test suite

3 years agoAdd .gitignore
Robert Newson [Tue, 23 Jun 2015 10:24:40 +0000 (11:24 +0100)] 
Add .gitignore