re: Building maven packages
OK. I tried some more on this so have an update below.
> On Wed, 2 Nov 2016 14:21, Markus Koschany wrote:
> > On 02.11.2016 05:52, Wookey wrote:
> > > Having hacked about a bit it currenty fails with:
> > > The POM for org.codehaus.mojo:native-maven-plugin:jar:1.0-alpha-7 is missing,
> > > no dependency information available
> > Otherwise someone has to package maven-native-plugin.
> > https://bugs.debian.org/700679
> Well I don't mind doing this if it's not too hard, and I don't have too
> many more layers of java-package rabbit-hole to go :-).
If I run mh_make on the maven-native packages from:
http://www.mojohaus.org/maven-native/native-maven-plugin/
source here: https://github.com/mojohaus/maven-native/
then if I tell it to include the modules it gets as far as the first
sub-pom and complains that it can't find the dependency: <itself>
The command I ran was:
DEBLICENSE=MIT mh_make -t -d (and keep hitting return)
This project contains modules. Include all modules?
[Y/n] >
Analysing maven-native-api/pom.xml...
Dec 29, 2016 2:49:42 PM org.debian.maven.packager.DependenciesSolver resolveDependencies
SEVERE: Error while resolving ./maven-native-api/pom.xml: Dependency not found org.codehaus.mojo.natives:maven-native:pom:1.0-alpha-8
Dec 29, 2016 2:49:42 PM org.debian.maven.packager.DependenciesSolver resolveDependencies
SEVERE:
org.debian.maven.repo.DependencyNotFoundException: Dependency not found org.codehaus.mojo.natives:maven-native:pom:1.0-alpha-8
at org.debian.maven.repo.Repository.registerPom(Repository.java:414)
at org.debian.maven.packager.DependenciesSolver.resolveDependencies(DependenciesSolver.java:321)
at org.debian.maven.packager.DependenciesSolver.resolveDependencies(DependenciesSolver.java:421)
at org.debian.maven.packager.DependenciesSolver.solveDependencies(DependenciesSolver.java:261)
at org.debian.maven.packager.DependenciesSolver.main(DependenciesSolver.java:962)
I don't understand this. org.codehaus.mojo.natives:maven-native is the
package that I am trying to package, so why is it depending on itself
and yet also not being able to find itself?
Also, the file maven-native-api/pom.xml does not list maven-native as a dependency. It's a short file that has 3 stanzas of dependencies:
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-container-default</artifactId>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-utils</artifactId>
</dependency>
<dependency>
<groupId>backport-util-concurrent</groupId>
<artifactId>backport-util-concurrent</artifactId>
</dependency>
the only mention of maven-native is in the <parent> stanza,
<parent>
<groupId>org.codehaus.mojo.natives</groupId>
<artifactId>maven-native</artifactId>
<version>1.0-alpha-8</version>
</parent>
which seems correct, as this is a sub-module. So what's going on? Is
this in fact a bug in mh_make?
Or is this because the sub-module inherits from the top-level .pom and that does list some sefl-dependencies:
<dependency>
<groupId>org.codehaus.mojo.natives</groupId>
<artifactId>maven-native-api</artifactId>
<version>${project.version}</version>
</dependency>
So how is this supposed to work?
And why don't I get the opportunity to say 'ignore this dependency'?
second issue:
I also got the complaint that it can't find:
backport-util-concurrent
(which I think is this software:
http://mvnrepository.com/artifact/backport-util-concurrent/backport-util-concurrent/3.1
), a "Backport Of JSR 166 For Java 1.2 And 1.3"
Now I see that debian used to have such a package:
https://tracker.debian.org/pkg/backport-util-concurrent
but it's no longer in the archive. And we also have something called:
libconcurrent-java
Am I correct to think that libconcurrent-java should replace the
refernces to backport-util-concurrent? How do I tell mh_make or the
debian maven helper to do this?
Or is it actually an irrelevancy because the java on debian has this
concurrency stuff built-in these days? (Java's versioning is deeply
unhelpful to the casual visitor, and I forget how Java 1.2 and 1.3
relates to java 5,6,7,8,9, and unstable is java 8 now by default,
right?)
(I did try adding it to the
rules/mavenIgnore file but the build fails looking for classes that
seem to come from here so it's not that simple).
Again clues welcome. I did find the docs for the .pom file format,
which means this is all making a bit more sense now:
https://maven.apache.org/guides/introduction/introduction-to-the-pom.html
Wookey
--
Principal hats: Linaro, Debian, Wookware, ARM
http://wookware.org/
Reply to: