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.