[ 
https://issues.apache.org/jira/browse/JAMES-3499?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17286387#comment-17286387
 ] 

ASF GitHub Bot commented on JAMES-3499:
---------------------------------------

chibenwa opened a new pull request #303:
URL: https://github.com/apache/james-project/pull/303


    * Enables easy reuse for JPA & memory servers to provide
      optional LDAP support out of the box.
    * Drops Cassanra-ldap and Distributed-ldap servers. The
      regular version should be used instead. Docker images
      are maintained as is for now, but we can consider dropping
      them as well (separated PR). Maven projects are kept for now
      but only hosts tests.
    * Ships the minimal LDAP dependency for everybody.
   
   Reduction of server counts ease introducing new servers, for exemple
   to let a grace period of one release to upgrade from ElasticSearch
   version 6 to 7 (classpath clashes forces distinct maven projects;
   the chooser trick can not be employed).
   
   
   This is a drop-in, invisible replacement for people running ldap
   docker images, as well for the CIs building these images.
   
   If consensual:
   
    - [ ] We likely can get rid of the 2 testing LDAP projects...
    - [ ] We can discuss getting rid of the extra containers (will require 
changes to the soon to be deprecated linagora/james-jenkins CI)
   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


> Separate Guice modules from Cassandr* apps for better reuse
> -----------------------------------------------------------
>
>                 Key: JAMES-3499
>                 URL: https://issues.apache.org/jira/browse/JAMES-3499
>             Project: James Server
>          Issue Type: Improvement
>          Components: guice
>            Reporter: Benoit Tellier
>            Priority: Major
>             Fix For: 3.6.0
>
>
> I do love JAMES-3492 contribution effort however I do have to maintain 
> several James deployments relying on ElasticSearch (version 6) that - sadly - 
> I can not migrate quickly.
> As such, I consider backporting ES6 support in a third party repository not 
> to delay in any way this ElasticSearch V7 migration work, and without 
> altering my ability to deploy new releases.
> However current project structure do not allow me today to do that, as 
> ElasticSearch guice modules are mixed with Cassandra guice modules and do 
> pull the ES7 dependency in all downstream maven modules - clashing with the 
> ES6 dependency I plan to use on my backports.
> A simple solution to this is to better split our maven modules:
>  - Have a dedicated maven module for Cassandra guice modules
>  - Have a dedicated maven module for ElasticSearch guice modules - that I 
> gonna overide in my backport
>  - Preserve the cassandra-guice module assembling the server - but with no 
> modules
>  - Have a dedicated maven module for the distributed modules (event-bus, 
> mailqueue, task manager, blobstore module chooser)
> Basically the directory structure I propose would look like:
> {code:java}
> server/container/guice/cassandra  # Guice modules for Cassandra
> server/container/guice/elasticsearch  # Guice modules for ElasticSearch
> server/container/guice/distributed  # Guice modules reusing RabbitMQ
> {code}
> Definition of done: 
>  - No guice module are defined next to a cassandra* JamesServerMain.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to