Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

JAMES-2884 Rename jmap modules to jmap-draft #164

Closed
wants to merge 5 commits into from

Conversation

cketti
Copy link
Contributor

@cketti cketti commented Sep 17, 2019

First step of the plan outlined in https://www.mail-archive.com/server-dev@james.apache.org/msg62072.html

  • Rename all Maven modules with jmap in their name to use jmap-draft instead
  • Rename JMAPServer to JMAPDraftServer

https://issues.apache.org/jira/browse/JAMES-2884

Copy link
Contributor

@chibenwa chibenwa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you very much for this nice contribution.

After my review I believe:

  • We should keep only one data-api that jmap and jmap-draft will share
  • We are going to ship both JMAP and JMAP-Draft within the same application (on different ports) so we need to be cautious to have distinct fully qualified class names (/server/protocol/jmap-draft & /server/container/guice/protocols/jmap-draft)

Apart from this, I gonna take time this morning to break down the mailing list thread you refer to into an epic, with subtickets.

Cheers,

Benoit

@cketti cketti force-pushed the JAMES-2884_rename_jmap_modules branch from 2aebd7e to 01d1685 Compare September 18, 2019 15:35
@cketti
Copy link
Contributor Author

cketti commented Sep 18, 2019

I had another run at this.

  • The data modules are now left untouched.
  • Most of the code was moved to org.apache.james.jmap.draft
  • I left the Mailets under org.apache.james.jmap.mailet because I believe the fully qualified name could be used in configuration files. I'd be happy to move them, too, if that assumption is wrong.
@chibenwa
Copy link
Contributor

I left the Mailets under org.apache.james.jmap.mailet because I believe the fully qualified name could be used in configuration files. I'd be happy to move them, too, if that assumption is wrong.

That assumption is right (cf mailetContainer.xml)

My personal believe regarding mailets is that new & old spec can share the same mailet (underlying logic did not change). Thus extracting JMAP mailet under a server/mailet/jmap maven module would make sens to me. IMO let's do that when we support Vacations on top of JMAP

@chibenwa
Copy link
Contributor

Hello @cketti ,

There are some failed tests after your rename proposal, I made some corrections to your work here, feel free to cherry-pick my commits here!

Issues:

  • MailboxListeners are also referenced by FQCN (delivery groups in the MailboxListener workQueue)
  • Cucumber tests where referring FQCN for some "glue"

Best regards,

Benoit

@cketti
Copy link
Contributor Author

cketti commented Sep 19, 2019

@chibenwa Thanks 👍

Is there an easy way to build the project, then start it up and run the integration tests using Docker?

@chibenwa
Copy link
Contributor

Is there an easy way to build the project, then start it up and run the integration tests using Docker?

The integration tests are fully integrated to the junit test suite. We rely on testcontainer leveraging docker-java in order to start dependencies then run James directly in the testing JVM

For running them, having docker working and writting mvn test will atually play them.

If you are looking for a CI have a look at https://github.com/linagora/james-jenkins

Also, we have a CI running, but on linagora/james-project

@chibenwa
Copy link
Contributor

Hi @cketti ,

I just merged this work, can you close this PR?

@cketti cketti closed this Sep 20, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
3 participants