uima-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Marshall Schor (JIRA)" <uima-...@incubator.apache.org>
Subject [jira] Created: (UIMA-1262) Make changes to superPoms active before they are *installed*
Date Tue, 06 Jan 2009 16:54:44 GMT
Make changes to superPoms active before they are *installed*

                 Key: UIMA-1262
                 URL: https://issues.apache.org/jira/browse/UIMA-1262
             Project: UIMA
          Issue Type: Improvement
          Components: Build, Packaging and Test
    Affects Versions: 2.2.2
            Reporter: Marshall Schor
            Assignee: Marshall Schor
            Priority: Minor
             Fix For: 2.3, 2.3AS

The maven system allows refactoring things using an inheritance tree.  We use this capability
via a hierarchy starting with uimaj project's POM. We also have a "flat" layout for subprojects,
following Eclipse conventions.  

When running maven on a component, say, uimaj-ep-configurator, its POM has a parent POM. 
This parent is "looked up" using the maven system of identifying artifacts, in the maven repository
chain, starting with the local repository.  This means that if you change any of the super
POMs in the chain, those changes are *ignored* until you do a "mvn install" on those POMs.

The work-around was to do a "mvn -N install" in the directory where the changed POM was. 
The -N flag says just do the install on the POM, and skip any sub-processing of the aggregated
"modules" (if any) that the POM specified using the <modules> element.

Recently, while trying to improve the maven builds, I (again) forgot this fact, and wondered
why my changes to the superPom were not having any effect.  

To overcome this (for future maintainers so they won't suffer from this), add an optional
<relativePath> element to the <parent> element of all the POMs in the uimaj and
uimaj-as projects.  (Perhaps this should also be done, at some point, for the other projects
too, but that can be another Jira).

The <relativePath> is a relative path to the directory containing the parent POM, and
will be tried first before looking up the POM in the repositories.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message