[ 
https://issues.apache.org/jira/browse/COUCHDB-216?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Paul Joseph Davis updated COUCHDB-216:
--------------------------------------

    Attachment: rearrange.tar.gz

This tarball includes a script and a patch to update the CouchDB source tree 
fairly extensively. Among the important bits:

The root directory now follows the: "src, ebin, priv, include" structure. The 
dependencies are pushed into a deps directory and each dependency gets the 
"src/ebin/include" treatement.

the main CouchDB source directory has been split into a handful of directories 
to start organizing the modules by related functionality. This pattern is 
copied from the monaco application in the stdlib.

couchspawnkillable and couchjs are now in priv/bin. couchjs still gets its 
/usr/local/bin script.

couch_erl_driver is in priv/lib where it should be. I think we should be able 
to even remove the paths when loading this, but again I'd want to double check 
on whether someone might have a reason for installing this elsewhere.

I started building beam files with a call to make:all() within Erlang. This 
actually builds stuff quite a bit faster and so far is pretty useful. That said 
it kind of doesn't fit into the Autotools process because it never rebuilds 
beam files on change because the call is never triggered because I couldn't 
figure out how to add the proper dependency.

Also, there's a weirdness in that I symlink deps/couch to the root directory so 
that ./utils/run can work with ERL_LIBS instead of four specifications of -pa.

Anyway, this is an initial layout.

> Make couchdb adhere more to OTP guidelines
> ------------------------------------------
>
>                 Key: COUCHDB-216
>                 URL: https://issues.apache.org/jira/browse/COUCHDB-216
>             Project: CouchDB
>          Issue Type: Improvement
>            Reporter: Martin S
>         Attachments: 0001-add-couch_app-and-couch_sup.patch, 
> 0001-Generate-the-modules-section-of-couch.app-via-the-Ma.patch, 
> 0002-add-missing-registered-process-names.patch, 
> 0003-make-couchdb-startup-script-use-couch.rel.-load-conf.patch, 
> rearrange.tar.gz
>
>
> CouchDB could adhere to otp standards in a better way. 
> Currently we have:
> - couch.app is not uptodate
> - couch_server.erl is an amalgam of 2 behaviours, which is considered being 
> "not good".
> From my beginner's perception of OTP, it seems CouchDB is not treated as a 
> running application when it is actually running. E.g. appmon doesn't show the 
> application once CouchDB is started. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to