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: [email protected] For additional commands, e-mail: [email protected]
