Bugs in ant-contrib's POM?
Hi,
I think that the pom shipped with ant-contrib is broken such that
mh_make will be unhappy when trying to build anything that depends upon it.
mh_make is bombing out thus:
[INFO] Scanning for projects...
[INFO]
------------------------------------------------------------------------
[INFO] Building Shibboleth Common Library
[INFO] task-segment:
[org.debian.maven:maven-packager-utils:1.6.6:generate] (aggregator-style)
[INFO]
------------------------------------------------------------------------
[INFO]
------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO]
------------------------------------------------------------------------
[INFO] Failed to resolve artifact.
2) jayasoft:ivy:jar:debian
Try downloading the file manually from the project website.
Then, install it using the command:
mvn install:install-file -DgroupId=jayasoft -DartifactId=ivy
-Dversion=debian -Dpackaging=jar -Dfile=/path/to/file
Alternatively, if you host your own repository you can deploy the file
there:
mvn deploy:deploy-file -DgroupId=jayasoft -DartifactId=ivy
-Dversion=debian -Dpackaging=jar -Dfile=/path/to/file -Durl=[url]
-DrepositoryId=[id]
Path to dependency:
1) edu.internet2.middleware:shibboleth-common:jar:1.4.1-SNAPSHOT
2) ant-contrib:ant-contrib:jar:debian
3) jayasoft:ivy:jar:debian
3) bcel:bcel:jar:debian
Try downloading the file manually from the project website.
Then, install it using the command:
mvn install:install-file -DgroupId=bcel -DartifactId=bcel
-Dversion=debian -Dpackaging=jar -Dfile=/path/to/file
Alternatively, if you host your own repository you can deploy the file
there:
mvn deploy:deploy-file -DgroupId=bcel -DartifactId=bcel
-Dversion=debian -Dpackaging=jar -Dfile=/path/to/file -Durl=[url]
-DrepositoryId=[id]
Path to dependency:
1) edu.internet2.middleware:shibboleth-common:jar:1.4.1-SNAPSHOT
2) ant-contrib:ant-contrib:jar:debian
3) bcel:bcel:jar:debian
My POM (in shibboleth-common) has the following:
<dependency>
<groupId>ant-contrib</groupId>
<artifactId>ant-contrib</artifactId>
<version>1.0b2</version>
<scope>runtime</scope>
<exclusions>
<exclusion>
<groupId>ant</groupId>
<artifactId>ant</artifactId>
</exclusion>
</exclusions>
</dependency>
which mh_make has tidied up to be the debian version
...and no dependencies on bcel or ivy directly.
/usr/share/maven-repo/ant-contrib/ant-contrib/debian/ant-contrib-debian.pom
contains:
[inside <properties>]
<debian.bcel.bcel.originalVersion>5.1</debian.bcel.bcel.originalVersion>
<debian.jayasoft.ivy.originalVersion>1.4.1</debian.jayasoft.ivy.originalVersion>
and the dependencies
<dependency>
<groupId>bcel</groupId>
<artifactId>bcel</artifactId>
<version>debian</version>
</dependency>
<!-- could not find a copy of Ivy in M2's repository,
download
http://www.jayasoft.org/downloads/ivy/1.4.1/ivy-1.4.1.jar
and then mvn install:install-file -DgroupId=jayasoft
-DartifactId=ivy -Dpackaging=jar -Dversion=1.4.1 -Dfile=ivy-1.4.1.jar
-->
<dependency>
<groupId>jayasoft</groupId>
<artifactId>ivy</artifactId>
<version>debian</version>
</dependency>
I have "ivy" installed, which provides
/usr/share/maven-repo/org/apache/ivy/ivy/debian/ivy-debian.pom
and "libbcel-java", which provides
/usr/share/maven-repo/org/apache/bcel/bcel/5.x/bcel-5.x.pom
So should ant-contrib's POM in fact ask for org-apache-bcel:bcel 5.x and
org-apache-ivy:ivy debian? and possibly depend on those two packages?
Alternatively, can I tell mh_make to adjust these dependencies? Adding
s/bcel/org-apache-bcel/ bcel jar s/debian/5.x/ * *
to debian/maven.rules doesn't make any difference.
Thanks,
Matthew
Reply to: