axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andreas Veithen <andreas.veit...@gmail.com>
Subject Difficulties with axis2-(a|m)ar-maven-plugin in the Axis2 trunk build
Date Tue, 06 Jul 2010 18:33:37 GMT
All,

I'm having two issues related to the usage of
axis2-(a|m)ar-maven-plugin in the Axis2 trunk build, but I don't see
how to solve both issues in a satisfactory way. Maybe somebody has a
brilliant idea? The two issues are as follows:

1. When Maven loads a plugin, it uses the POM of that plugin to load
its dependencies. When using the 1.5.1 versions of
axis2-(a|m)ar-maven-plugin, this means that Maven may try to fetch
artifacts from the no longer existing java.net repository. Since the
corresponding java.net site replies with an HTML page without 40x
error, Maven will happily download the HTML file and put it into the
local repository (believing that it is a POM or JAR file). Conclusion:
when executing the Axis2 trunk build with the 1.5.1 plugins and an
empty local repository (and without tweaking the settings.xml file to
work around the java.net issue), the local Maven repository will be
corrupted. I think that this may be an explanation for some of the
mysterious build failures reported by some people (e.g. Dennis
Sosnoski).

An obvious solution is to use the SNAPSHOT versions of the plugins.
This brings back the chicken and egg problem, but otherwise works
quite well.

2. I've seen several Hudson builds failing because Maven didn't update
the snapshots of the dependencies of the project. A typical sequence
of events is as follows:

- SVN commit in Axiom.
- Hudson sees the change in SVN and starts a new Axiom build.
- Once the Axiom build completes, Hudson uploads the snapshots to
repository.apache.org and automatically triggers a new Axis2 build.
- The Axis2 starts on a different Hudson slave than the Axiom build.
This means that the new Axiom snapshots are not in the local Maven
repository. On the other hand, Maven doesn't necessarily refresh the
snapshots from repository.apache.org (depends on when the last build
ran). Result: the Axis2 build doesn't necessarily contain the changes
in Axiom.

I've seen the same issue between Axis2 and Rampart.

It seems that the best way to avoid this problem is to enable unique
versions (e.g. axis2-kernel-20100705.232043-1 instead of
axis2-kernel-SNAPSHOT) when deploying the snapshots in the upstream
project and to pass the -U option to Maven in the downstream project.
Except for the problem described in HUDSON-2593, this seems to solve
the issue, but when enabling unique versions in the Axis2 project, I
run into issues with axis2-(a|m)ar-maven-plugin (currently configured
as SNAPSHOT instead of 1.5.1 in the trunk). The build now fails with
the following error:

Internal error in the plugin manager getting plugin
'org.apache.axis2:axis2-mar-maven-plugin': Plugin
'org.apache.axis2:axis2-mar-maven-plugin:20100705.232043-1' has an
invalid descriptor:
1) Plugin's descriptor contains the wrong version: SNAPSHOT


Once 1.5.2 is released we may use this version of the plugins to solve
both issues, but I was wondering if somebody has a solution while
waiting for the 1.5.2 release?

Andreas

---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


Mime
View raw message