You are viewing a plain text version of this content. The canonical link for it is here.
Posted to rampart-dev@ws.apache.org by Andreas Veithen <an...@gmail.com> on 2010/07/08 23:29:59 UTC

Re: Difficulties with axis2-(a|m)ar-maven-plugin in the Axis2 trunk build

Some updates on these issues:

* Senaka discovered that the local repository corruption now causes
the Axis2 trunk build itself to fail. Therefore we can no longer use
the 1.5 plugins.

* I experimented with the unique version stuff, but that causes
massive issues in downstream projects (Rampart, Sandesha and Synapse).
It seems that there is some component in Maven that gets confused and
thinks that axis2-kernel-20100705.232043-1 is a release artifact and
not a snapshot (I've seen debug messages that indicate that at some
point, Maven expects that axis2-kernel-20100705.232043-1.pom is
located in a release repository and not a snapshot repository. Instead
of loading the POM, it builds a default POM without any dependencies.
This caused the "package does not exist" compilation failures in
Rampart that you may have seen).

Conclusion: we have to change the Axis2 trunk to use the SNAPSHOT
versions of the AAR/MAR plugins. Since uniqueVersion=true is not an
option, this will no longer cause the "Plugin's descriptor contains
the wrong version" error, but we still have an issue with the Hudson
builds (build jobs may fail to retrieve the latest snapshots from an
upstream build).

Andreas

On Tue, Jul 6, 2010 at 20:33, Andreas Veithen <an...@gmail.com> wrote:
> 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