You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by Garry Hurley <ga...@gmail.com> on 2018/12/05 18:26:35 UTC

Build questions and problems.

Hi all.

First of all, I wanted to congratulate you on your efforts to improe Apache
James.  If it worked for me, I would have nothing but praise for you.
However, there are a few things that are keeping it from working for us.
1. In the MailboxAnnotation class, you use the field name 'key' and map it
to a database column name 'KEY'.  How did this pass testing?  JPA still
uses a database that complies with the SQL standard, and 'KEY' (regardless
of case) is a reserved word in SQL.  As a result, the command to create
that table fails every time.
2. When I went to compile the code after fixing this obvious error, I found
that the code requires Docker to even build it.  Why?  That is not listed
on the installation requirements, and is not a standard component in ANY
operating system (except maybe Antsle's AntsleOS or edgeLinux products).
3. Building the code requires test code in the final project.  You have a
dependency in several pom files that test packages exist.
4. POM files also include references to maven plugins that are not
available in any eclipse-maven setup.

So, the question is, can this be built without the Docker dependency, as
Docker is not approved for use in my organization?

Re: Build questions and problems.

Posted by Benoit Tellier <bt...@linagora.com>.
Hi Garry,

I just wanted to react to your message. See my answers inlined.

On 12/6/18 1:26 AM, Garry Hurley wrote:
> Hi all.
> 
> First of all, I wanted to congratulate you on your efforts to improe Apache
> James.  If it worked for me, I would have nothing but praise for you.

Thank you very much

> However, there are a few things that are keeping it from working for us.
> 1. In the MailboxAnnotation class, you use the field name 'key' and map it
> to a database column name 'KEY'.

Thank you for this feedback. It sounds like something that could easily
be solved.

Could you open a JIRA ticket about it?
https://issues.apache.org/jira/projects/MAILBOX

Also, a contribution could be really welcomed on that topic.

We could then give an upgrade instruction for next version about that
table column rename.

> How did this pass testing?  JPA still
> uses a database that complies with the SQL standard, and 'KEY' (regardless
> of case) is a reserved word in SQL.  As a result, the command to create
> that table fails every time.

Well, because :
 - Writing automated tests on some real world DB is hard and we chose
Docker for it. Obviously JPA code would benefit from being tested
against major softwares.
 - Nobody spotted this issue during the release voting process. I would
encourage our regular user to join the DEV mailing lists so that they
can give feedback and vote for such releases.
 - Unit tests uses h2 ion which the "key" keyword is valid.

Note that your message miss some critical information to evaluate your
situation like:
 - Your James version + packaging
 - Your database vendor & version

> 2. When I went to compile the code after fixing this obvious error, I found
> that the code requires Docker to even build it.  Why? 

Because docker is awesome for testing James with other softwares, and
getting our test suite as close as possible to production environments.


> That is not listed on the installation requirements

Well:
 - It is not required for building James but for testing it.
 - We might need to refrech a bit this webpage.

Could you precisely give that page URL so that we can evalute the
actions to take?

, and is not a standard component in ANY
> operating system (except maybe Antsle's AntsleOS or edgeLinux products).
> 3. Building the code requires test code in the final project.  You have a



> dependency in several pom files that test packages exist.
> 4. POM files also include references to maven plugins that are not
> available in any eclipse-maven setup.
> 
> So, the question is, can this be built without the Docker dependency, as
> Docker is not approved for use in my organization?

Yes, just add a "-DskipTests" flag to maven.

I hope I gave clear answers to your question.

Welcome to the James community!

Cheers,

Benoit

---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org