reckart opened a new issue, #459:
URL: https://github.com/apache/uima-uimaj/issues/459
**Describe the bug**
The published `uimaj-parent` POM declares an Eclipse P2 repository whose
`<id>` is the property reference `${eclipseP2RepoId}`:
```xml
<repository>
<id>${eclipseP2RepoId}</id>
<url>https://download.eclipse.org/releases/2023-06/</url>
<layout>p2</layout>
</repository>
```
The `eclipseP2RepoId` property is defined in `uimaj-parent-internal`, which
is a child of `uimaj-parent` rather than an ancestor of it. Downstream projects
inherit `uimaj-parent` and therefore never see that property, so the repository
id remains the literal, uninterpolated string `${eclipseP2RepoId}` in their
effective model.
Maven 3 tolerated this. Maven 4 validates remote repositories and rejects
the uninterpolated id, so any project inheriting `uimaj-parent` fails before it
can build:
```
[ERROR] Internal error: java.lang.IllegalArgumentException: Invalid
RemoteRepositories: [..., ${eclipseP2RepoId}
(https://download.eclipse.org/releases/2023-06/, p2, releases+snapshots)]
Caused by: java.lang.IllegalArgumentException: Not fully interpolated remote
repository ${eclipseP2RepoId} (https://download.eclipse.org/releases/2023-06/,
p2, releases+snapshots)
at
org.apache.maven.impl.resolver.validator.MavenValidator.validateRemoteRepository(MavenValidator.java:90)
```
The P2 repository is only needed to resolve the `org.eclipse.*` bundles that
the `uimaj-ep-*` modules build against. Downstream consumers do not need it, so
it should not be part of the parent POM they inherit.
**To Reproduce**
Build any project that declares `org.apache.uima:uimaj-parent` as its parent
using Maven 4, or inspect the published POM at
https://repo1.maven.org/maven2/org/apache/uima/uimaj-parent/3.6.0/uimaj-parent-3.6.0.pom
and note that the repository id is `${eclipseP2RepoId}` while no such property
is defined in that POM or any of its ancestors.
**Expected behavior**
Projects inheriting `uimaj-parent` build successfully under Maven 4. The
parent POM contains no repository declaration with an unresolvable property
reference in its id, and does not expose the Eclipse P2 repository, which is an
internal build concern.
**Please complete the following information:**
- Version: 3.6.0
- Maven version: 4.0.0-rc-5
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]