Re: Building James 3.3.0 in Eclipse

2019-09-02 Thread Jerry Malcolm

Raphael,

Thanks for the guidance.  I'm closer now.  But still not there. After a 
full day of trial and error on this, I settled on the following steps:


1) On a clean eclipse workspace, File-->Import-->Git --- I selected 
"clone URI" and entered the James GIT clone URI: 
https://github.com/apache/james-project.git


2) I selected the 3.3.x branch (I guess that's what I want... (??) ) and 
said to also clone submodules.  It downloaded to a folder.  It created 
an eclipse project/package named james-server. But the project only had 
3 files: model.di, model.notation, and model.uml.


3) On a whim, I decided to import again using "Maven existing project" 
and pointed to the extracted folder.  That seemed to work for the most part.


It initially gave me 10 errors saying "Plugin execution not covered by 
lifecycle configuration" and 16 more errors with "Project configuration 
not up to date with pom.xml".  All with varying pom.xml files.  I did a 
"quick fix" and it got rid of the 'not up to date' errors.  I googled 
the lifecycle error and it said to edit all of the pom.xml files and add 
 tags around the plugin tags.  I tried in on a couple 
of the pom.xml files, and it did fix the errors (???).


I then did a build, and it added one more error, something about an 
invalid mojo tag in a pom descriptor.


Just for fun, I did a clean build, and that was a huge mistake. I now 
have 340 errors where it can't resolve DTOs in FlagsTest, 
EventSerializer in EventDispatcher, etc.  Apparently 'clean' wipes out 
source files as well.  Or it wipes out class files that are not part of 
the full build.


So that's where I am.  I can edit a bunch of pom.xml files and add 
tags.  I can hopefully figure out how to fix mojo.  And I can hope to 
remember to NEVER do a clean build again.  But this just doesn't seem 
right that I have to go in and modify a bunch of source files just to 
get a clean build from a ship-level source package.  I have zero 
confidence if I have to make all of these change that I really have an 
'official' 3.3.x James.


Suggestions?  Where did I stray from the correct path?  I'm beginning to 
feel like I belong in the class with the slow kids


On 9/2/2019 6:04 PM, Jerry Malcolm wrote:


On 9/2/2019 2:55 AM, Raphael OUAZANA wrote:

Hi Jerry,

Don't worry, Eclipse is still supported as a development environment 
and currently used by some developers (even if we have some issues in 
incoming 3.4 regarding compatibility between Eclipse and some Scala 
code).


The usual workflow to work in a dev environment is the following:
- clone the git repository
- checkout the branch / tag you want to work on
- import the project in Eclipse

This workflow should work perfectly well.

The issue you are encountering is because as you are taking the 
sources directly from the released version, you don't have any .git 
repository as you would have if you had cloned the project. This is 
not a big harm, but it seems to make failing the git-commit-id-plugin.
So if you remove this plugin from the main pom.xml, I guess your 
problem would be solved.


Regards,
Raphaël.

Le 2019-09-01 06:16, Jerry Malcolm a écrit :

Thanks for the info, Garry.  But I'm still confused.  Are you saying
that it is no longer possible to build from the source on Eclipse?  I
realize the team may be pushing docker.  But there are still
non-docker binaries that got built someway.  I just want to recreate
those binaries with my code additions.  But first I want to just build
with the official source untouched and verify that works. Then I'll
add my changes and rebuild.

You said the .git files are from the .git repository.  I don't doubt
that.  But I'm not a git guru.  I'm still not sure how to fix the
errors I'm getting (~400+ of these):

org.apache.maven.plugin.MojoExecutionException: .git directory is not
found! Please specify a valid [dotGitDirectory] in your pom.xml

I do not know anything about pom syntax.  I have no clue how/where to
"specify a valid [dotGitDirectory] in your pom.xml" (times 400)
Does this error mean that there isn't a gitDirectory defined in the
pom.xml and there should be? Or does it mean that one is defined
somewhere and the specified directory doesn't exist on my file
system?  I guess it'd be too much to ask for this error message to
include the directory it found and which of the 400 pom.xml files the
error refers to. (Sorry... I'm just frustrated at less-than-useful
error messages).

Did I download an invalid source zip?  Is there a different zip (or
additional zips that contain the correct pom files? ) I simply went to
github and downloaded the latest source zip file.

Where do I start?  I really don't want to have to learn how to build
on Linux unless there's an official word that says Eclipse is no
longer supported as a build platform.  I need to use Eclipse to debug
my code.  I just want to download the correct source, import it into
Eclipse, and build it.  I just can't understand why I can't get

Re: How to use environment variables in configuration files

2019-09-02 Thread Tellier Benoit
Hi Gualtiero,

This is natively supported by the commons-configuration library we use
for XML / properties parsing.

Try ${env:MY_ENV_VARIABLE}

You can read:
https://commons.apache.org/proper/commons-configuration/userguide/howto_basicfeatures.html
(Variable Interpolation)

Best regards,

Benoit

On 02/09/2019 21:05, Gualtiero Testa wrote:
> Hi,
> 
> I would like to use environment variables to partially change the James
> configuration.
> 
> My use case it to create a Docker image and use environment variable to
> influence some parameters in the config XML files, depending on the
> execution environment.
> 
> For example I would like to change the "postmaster" address in the
> mailet-container.xml file.
> 
> Is there a way to do it?
> 
> Thanks,
> 
> Gualtiero
> 

-
To unsubscribe, e-mail: server-user-unsubscr...@james.apache.org
For additional commands, e-mail: server-user-h...@james.apache.org



Re: Building James 3.3.0 in Eclipse

2019-09-02 Thread Jerry Malcolm



On 9/2/2019 2:55 AM, Raphael OUAZANA wrote:

Hi Jerry,

Don't worry, Eclipse is still supported as a development environment 
and currently used by some developers (even if we have some issues in 
incoming 3.4 regarding compatibility between Eclipse and some Scala 
code).


The usual workflow to work in a dev environment is the following:
- clone the git repository
- checkout the branch / tag you want to work on
- import the project in Eclipse

This workflow should work perfectly well.

The issue you are encountering is because as you are taking the 
sources directly from the released version, you don't have any .git 
repository as you would have if you had cloned the project. This is 
not a big harm, but it seems to make failing the git-commit-id-plugin.
So if you remove this plugin from the main pom.xml, I guess your 
problem would be solved.


Regards,
Raphaël.

Le 2019-09-01 06:16, Jerry Malcolm a écrit :

Thanks for the info, Garry.  But I'm still confused.  Are you saying
that it is no longer possible to build from the source on Eclipse?  I
realize the team may be pushing docker.  But there are still
non-docker binaries that got built someway.  I just want to recreate
those binaries with my code additions.  But first I want to just build
with the official source untouched and verify that works.  Then I'll
add my changes and rebuild.

You said the .git files are from the .git repository.  I don't doubt
that.  But I'm not a git guru.  I'm still not sure how to fix the
errors I'm getting (~400+ of these):

org.apache.maven.plugin.MojoExecutionException: .git directory is not
found! Please specify a valid [dotGitDirectory] in your pom.xml

I do not know anything about pom syntax.  I have no clue how/where to
"specify a valid [dotGitDirectory] in your pom.xml" (times 400)
Does this error mean that there isn't a gitDirectory defined in the
pom.xml and there should be? Or does it mean that one is defined
somewhere and the specified directory doesn't exist on my file
system?  I guess it'd be too much to ask for this error message to
include the directory it found and which of the 400 pom.xml files the
error refers to. (Sorry... I'm just frustrated at less-than-useful
error messages).

Did I download an invalid source zip?  Is there a different zip (or
additional zips that contain the correct pom files? ) I simply went to
github and downloaded the latest source zip file.

Where do I start?  I really don't want to have to learn how to build
on Linux unless there's an official word that says Eclipse is no
longer supported as a build platform.  I need to use Eclipse to debug
my code.  I just want to download the correct source, import it into
Eclipse, and build it.  I just can't understand why I can't get
anywhere near a successful build.  What am I doing wrong?

Jerry

On 8/31/2019 5:25 PM, Garry Hurley wrote:
Jerry, I had to download the source, run configure and make on a 
Linux system. The problem is that the source is made to build onto a 
docker system on Windows. Those of us who choose not to run docker 
and run a real operating system often have issues. Those .git files 
are from the .git repository. If you did a git clone, create your 
workspace from the local git repo or import existing maven projects 
into eclipse from the repo. This serves two purposes. 1, it allows 
you to keep your project up to date and 2, it allows you to commit 
if you have any changes to the existing code you want to push up for 
others.


I haven’t built anything after 3.3.0 was finalizedbecause the 
government finally approved 3.3.0 for use (ironically, they had been 
insisting that 3.0.4beta was safe to use in production and I 
outright refused to put that in place).


Sent from my iPhone

On Aug 31, 2019, at 6:02 PM, Jerry Malcolm  
wrote:


Something else I just found... the link to a tutorial at 
http://blog.bonnydoonmedia.com/post.cfm/walkthrough-tutorials-compiling-apache-james-v3-with-eclipse 
in the Eclipse build section is dead.  No DNS entry.




On 8/31/2019 4:54 PM, Jerry Malcolm wrote:
Correction... the build instructions page link should be: 
https://james.apache.org/server/3/dev-build.html




On 8/31/2019 4:52 PM, Jerry Malcolm wrote:
I'm trying to build the latest stable James 3.3.0 in Eclipse.

-- The link to the 3.3.0 source zip on the downloads page is dead 
(https://www.apache.org/dyn/closer.lua/james/server/3.3.0/james-server-sources-3.3.0.zip)


-- I figured out the correct link: 
http://mirrors.gigenet.com/apache/james/server/3.3.0/james-project-3.3.0-src.zip 
and downloaded the zip.  But the zip contains ONLY the primary 
source files and no pom.xml, etc files.


-- I finally went to git and downloaded a zip that contained 
everything.


-- But the fun just kept happening... I tried to import the 
project into Eclipse, but got over 500 errors.   A large chunk of 
these errors was that every pom file has an invalid or missing a 
"dotGit" folder name.


-- Also, I tried following the 

How to use environment variables in configuration files

2019-09-02 Thread Gualtiero Testa
Hi,

I would like to use environment variables to partially change the James
configuration.

My use case it to create a Docker image and use environment variable to
influence some parameters in the config XML files, depending on the
execution environment.

For example I would like to change the "postmaster" address in the
mailet-container.xml file.

Is there a way to do it?

Thanks,

Gualtiero