For those of you who may try and build uimaj-ee in the sandbox, there is a 1-time maven startup problem.

We currently use a POM structure which has a common parent (in this case, it is uimaj-ee's POM). The common parent factors out some common settings, like release numbers and formats. Therefore, the child POMs require the common parent in order to be processed.

The common parent also specifies in its <modules> element the child POMs. When you do a mvn install on the parent - it builds the children.

So - the very first time you try this, the child POMs are read *before* the uimaj-ee's POM has been "installed" to your local repo (currently as a snapshot). The effect is that the mvn install of uimaj-ee fails because the child POMs can't be processed because their parent is "missing" (in the repository).

The work-around for now is to (1 time only) comment out the <module> elements in the <modules> section of uimaj-ee, then mvn install it (to your local repo). Then you can uncomment out the <module> elements. and build normally.

I'm not sure how to fix this in a better way. One idea would be to put in the settings / configuration needed to upload SNAPSHOTs to the /www/people.apache.org/repo/m2-snapshot-repository/ <http://people.apache.org/repo/m2-snapshot-repository/> on p.a.o (see http://www.apache.org/dev/repository-faq.html - it says, in part:

   The /incubating/ repositories are for releases from projects within
   the Apache Incubator - incubating snapshots still goto the
   /snapshot/ repositories.

Is this something we should do? My worry is that this would be an excessive load on p.a.o for every build anyone does. Perhaps the better idea would be to just "manually" upload it once? Anyone know the maven magic to do this (if so , please post)?

Of course, we would then need to configure the POMs or the local maven user settings to know about using the p.a.o's snapshot repo
--------------
Another idea would be to change our POM hierarchy to split these two functions. This seems like extra work/complexity, though. Is there a maven parameter to temporarily ignore the <module> part when doing mvn install?
--------------
Other ideas?

-Marshall


Reply via email to