On Mon, Nov 16, 2020 at 8:30 PM Jerry James <loganjerry(a)gmail.com> wrote:
I would like to ask for some input from those of you with Java
packaging experience. The jsonp package has been orphaned, but the
antlr4-project package (which I maintain) still needs it. Since jsonp
has transitioned to the eclipse-ee4j project, I thought it best to let
the current jsonp package die, and replace it with a jakarta-jsonp
package.
The parent POM for jakarta-jsonp, org.eclipse.ee4j:project:pom:, has
not been packaged for Fedora. Other packages with that parent have
simply added %pom_remove_parent to their spec files. With
jakarta-jsonp, though, I'm running into some difficulties doing so.
The parent POM has default version numbers for various plugins. Those
version numbers are not duplicated in the jakarta-jsonp POM. This
leads to maven telling me that the missing version numbers invoke
deprecated functionality and that the project will stop building with
some future version of maven. I could:
This warning is relevant for upstream projects, but you can safely
ignore it when building RPM packages with XMvn - it always uses
packaged versions of Maven plugins, ignoring versions configured in
POM.
(1) add %pom_remove_parent and ignore maven until the project
actually breaks;
(2) add %pom_remove_parent and then do some XPath gymnastics to add
the missing version numbers into the jakarta-jsonp POM; or
(3) package the parent POM and stop worrying.
I've chosen to do (3). Tell me if you think this is wrong.
IMHO (1), (3), (2), in that order of preference.
(3) is the most elegant solution, but requires maintaining one more
package than (1), which also works. (2) doesn't make much sense - it
would only silence the warning at the cost of cluttering the spec
file, making it harder to maintain.
As for jakarta-jsonp itself, the latest version is 2.0.0, but it
fails
to build because it needs jakarta-ws-rs 3.x and jakarta-annotations
2.x. We have versions 2.1.6 and 1.3.5, respectively, in Rawhide right
now. Therefore, I have gone with version 1.1.6 of jakarta-jsonp for
now.
That should be fine. Packaging the latest available version is not
always the best choice.
Here's the next bit of input I need: why does
"%pom_remove_plugin -r
org.apache.maven.plugins:maven-javadoc-plugin" only remove the plugin
from the top-level POM, in spite of the -r flag? I have to manually
remove it from the subdirectory POMs.
It's hard to say without looking at the POM structure. I can check if
you give me a reference to the code (upstream, SRPM etc).
--
Mikolaj Izdebski