GH-4107: jena-bom altered to include jena artifacts using flatten-maven-plugin - #4114
GH-4107: jena-bom altered to include jena artifacts using flatten-maven-plugin#4114Aklakan wants to merge 1 commit into
Conversation
2389357 to
7ff48da
Compare
|
My understand is that the issue is BOM-related.
It's also been around a very long time! |
7ff48da to
baa4363
Compare
|
Right, I removed the flatten plugin from |
|
Thanks. As I understand it, a regular Eclipse Jetty uses flatten-maven-plugin. Some other projects I looked at do not take any special actions for BOMs. |
|
According to the spring-boot-starter-parent documentation this is a legit way to kick start a spring boot project. I wasn't aware of this approach of using their parent pom (and the doc also mentions that there may be reasons to avoid it) - but getting all the versions of a spring/spring-boot based app right is frequently a pain - and if this flattened pom helps with it, then all the better. |
|
Let's put this into the codebase. I can't recreate a problem using |
|
I've removed the "GitHub issue resolved" - that's pending clarification of the use of |
|
The The best I have come up with so far is remove some POM elements (by looking at the source code for <configuration>
<flattenMode>bom</flattenMode>
<pomElements>
<properties>remove</properties>
<distributionManagement>remove</distributionManagement>
<mailingLists>remove</mailingLists>
<scm>remove</scm>
<issueManagement>remove</issueManagement>
</pomElements>
</configuration>(We should separately tidy up the top Jena POM.) |
|
The question is how the flattened pom behaves during release since it doesn't have a parent. Looking at spring-boot-starter-parent and its parent spring-boot-dependencies neither declares a So it seems ok to add those trim settings. A few further considerations:
|
Yeah that's a gotcha and if a single module fails validation Sonatype rejects the entire release, at least for stuff published directly to central. However not sure exactly how Apache releases get published and validated to Central these days, if they go to an Apache repository that central simply mirrors as-is without further validation it might be fine, may need to ask someone from Maven PMC on that point |
|
All I think we need to remove is We could do with updating the parent POM entries ... ("JIRA"??!!?) but that's a different matter. |
baa4363 to
b81e43d
Compare
If you mean add (double negations 😆), I agree - I updated the PR and included |
Nexus (repository.apache.org) has checking rules before you can release. (and the apache release plugin?) .. not sure what the complete set is (checksum, signatures, ...) and Jena's 6.2 release has dropped off the list now I thought it covered much the same as Sonatype but the path is central is direct with shorter polling times. There was a glitch a few months ago when ASF releases didn't get sync'ed as promptly as normal so likely it's direct. |
GitHub issue resolved #4107
Pull request Description: This proposal adds flatten-maven-plugin to
jena-bomin order to produce a parent-free "jena-only" pom.I think this should solve the reported issue that
jena-bomoverrides versions from a parent pom.Minimal downstream project pom:
Creating the effective pom with and without the jena dependency commented out, and then creating a diff shows that the only difference is the jena deps. This means that all non-jena dependency versions are taken from
spring-boot-starter-parent, and addingjena-bomdoes not alter any versions.[ ] Tests are included.[ ] Documentation change and updates are provided for the Apache Jena websiteBy submitting this pull request, I acknowledge that I am making a contribution to the Apache Software Foundation under the terms and conditions of the Contributor's Agreement.
See the Apache Jena "Contributing" guide.