If I understand correctly, we got into the chicken and egg problem because
* several Axis2 modules (in particular addressing) depend on the
transports implementations (not axis2-transport-base) for their unit tests;
* the unit tests for the transport implementations may depend on Axis2
modules other than axis2-kernel (in particular on addressing).
I think that the proper long term solution is as follows:
* leave the axis2-transport-testkit module as it is (or was before
moving the HTTP transport tests there);
* move all tests for the transport implementations to another module
axis2-transport-tests (I think the AXIOM sources are organized in the
same way).
One drawback I see is that it is no longer possible to easily get a unit
test coverage report (currently this is possible by using "mvn
cobertura:cobertura"). Therefore my question: is there somebody on the
list who has experience in setting up Cobertura or another test coverage
reporting tool in a multi-module Maven project?
Andreas
Davanum Srinivas wrote:
Folks,
Step #1: Checkout axis2 into say /home/myid/axis2 (
https://svn.apache.org/repos/asf/webservices/axis2/trunk/java)
Step #2: Checkout ws-commons transport into /home/myid/transport/
(https://svn.apache.org/repos/asf/webservices/commons/trunk/modules/transport)
Step #3: run "mvn clean" or "mvn install" from /home/myid/axis2
That's it. See sample output below.
[EMAIL PROTECTED] axis2]$mvn clean
[INFO] Scanning for projects...
[INFO] Reactor build order:
[INFO] Apache Axis2 - Parent
[INFO] Apache Axis2 - Kernel
[INFO] Apache Axis2 - Data Binding
[INFO] Apache Axis2 - Code Generation
[INFO] Apache Axis2 - ADB Codegen
[INFO] Apache Axis2 - Transport - Parent
[INFO] Apache Axis2 - Transport - Base
[INFO] Apache Axis2 - Transport - HTTP
[INFO] Apache Axis2 - Transport - TCP
[INFO] Apache Axis2 - Transport - Local
[INFO] Apache Axis2 - tool - MAR Maven Plugin
[INFO] Apache Axis2 - Addressing
[INFO] Apache Axis2 - Transport - Root
[INFO] Apache Axis2 - Java2WSDL
[INFO] Apache Axis2 - Fast Infoset
[INFO] Apache Axis2 - XMLBeans Data Binding
[INFO] Apache Axis2 - spring
[INFO] Apache Axis2 - JiBX Data Binding
[INFO] Apache Axis2 - JAXB-RI Data Binding
[INFO] Apache Axis2 - Scripting
[INFO] Apache Axis2 - SAAJ
[INFO] Apache Axis2 - Metadata
[INFO] Apache Axis2 - JAXWS
[INFO] Apache Axis2 - Clustering
[INFO] Apache Axis2 - JSON
[INFO] Apache Axis2 - JAXWS Integration Tests
[INFO] Apache Axis2 - MTOM Policy
[INFO] Apache Axis2 - OSGi Integration
[INFO] Apache Axis2 - Integration
[INFO] Apache Axis2 - MEX
[INFO] Apache Axis2 - Ping
[INFO] Apache Axis2 - tool - AAR Maven Plugin
[INFO] Apache Axis2 - Version Service
[INFO] Apache Axis2 - SOAP Monitor
[INFO] Apache Axis2 - tool - Ant Plugin
[INFO] Apache Axis2 - Root
[INFO] Apache Axis2 - tool - Eclipse Codegen Plugin
[INFO] Apache Axis2 - tool - Eclipse service Plugin
[INFO] Apache Axis2 - tool - Intellij IDEA Plugin
[INFO] Apache Axis2 - tool - Java2WSDL Maven Plugin
[INFO] Apache Axis2 - tool - WSDL2Code Maven Plugin
[INFO] Apache Axis2 - CORBA
[INFO] Apache Axis2 - Web Application module
[INFO] Apache Axis2 - Samples
[INFO] Apache Axis2 - Transport - XMPP
[INFO] Apache Axis2 - Transport - testkit
[INFO] Apache Axis2 - Transport - Mail
[INFO] Apache Axis2 - Transport - JMS
[INFO] ------------------------------------------------------------------------
[INFO] Building Apache Axis2 - Parent
[INFO] task-segment: [clean]
[INFO] ------------------------------------------------------------------------
[INFO] [clean:clean]
[INFO] ------------------------------------------------------------------------
[INFO] Building Apache Axis2 - Kernel
[INFO] task-segment: [clean]
[INFO] ------------------------------------------------------------------------
[INFO] [clean:clean]
[INFO] ------------------------------------------------------------------------
[INFO] Building Apache Axis2 - Data Binding
[INFO] task-segment: [clean]
[INFO] ------------------------------------------------------------------------
[INFO] [clean:clean]
[INFO] ------------------------------------------------------------------------
[INFO] Building Apache Axis2 - Code Generation
[INFO] task-segment: [clean]
[INFO] ------------------------------------------------------------------------
[INFO] [clean:clean]
[INFO] ------------------------------------------------------------------------
[INFO] Building Apache Axis2 - ADB Codegen
[INFO] task-segment: [clean]
[INFO] ------------------------------------------------------------------------
[INFO] [clean:clean]
[INFO] ------------------------------------------------------------------------
[INFO] Building Apache Axis2 - Transport - Parent
[INFO] task-segment: [clean]
[INFO] ------------------------------------------------------------------------
[INFO] [clean:clean]
[INFO] ------------------------------------------------------------------------
[INFO] Building Apache Axis2 - Transport - Base
[INFO] task-segment: [clean]
[INFO] ------------------------------------------------------------------------
[INFO] [clean:clean]
[INFO] ------------------------------------------------------------------------
[INFO] Building Apache Axis2 - Transport - HTTP
[INFO] task-segment: [clean]
[INFO] ------------------------------------------------------------------------
[INFO] [clean:clean]
[INFO] ------------------------------------------------------------------------
[INFO] Building Apache Axis2 - Transport - TCP
[INFO] task-segment: [clean]
[INFO] ------------------------------------------------------------------------
[INFO] [clean:clean]
[INFO] ------------------------------------------------------------------------
[INFO] Building Apache Axis2 - Transport - Local
[INFO] task-segment: [clean]
[INFO] ------------------------------------------------------------------------
[INFO] [clean:clean]
[INFO] ------------------------------------------------------------------------
[INFO] Building Apache Axis2 - tool - MAR Maven Plugin
[INFO] task-segment: [clean]
[INFO] ------------------------------------------------------------------------
[INFO] [clean:clean]
[INFO] ------------------------------------------------------------------------
[INFO] Building Apache Axis2 - Addressing
[INFO] task-segment: [clean]
[INFO] ------------------------------------------------------------------------
[INFO] [clean:clean]
[INFO] ------------------------------------------------------------------------
[INFO] Building Apache Axis2 - Transport - Root
[INFO] task-segment: [clean]
[INFO] ------------------------------------------------------------------------
[INFO] [clean:clean]
[INFO] ------------------------------------------------------------------------
[INFO] Building Apache Axis2 - Java2WSDL
[INFO] task-segment: [clean]
[INFO] ------------------------------------------------------------------------
[INFO] [clean:clean]
[INFO] ------------------------------------------------------------------------
[INFO] Building Apache Axis2 - Fast Infoset
[INFO] task-segment: [clean]
[INFO] ------------------------------------------------------------------------
[INFO] [clean:clean]
[INFO] ------------------------------------------------------------------------
[INFO] Building Apache Axis2 - XMLBeans Data Binding
[INFO] task-segment: [clean]
[INFO] ------------------------------------------------------------------------
[INFO] [clean:clean]
[INFO] ------------------------------------------------------------------------
[INFO] Building Apache Axis2 - spring
[INFO] task-segment: [clean]
[INFO] ------------------------------------------------------------------------
[INFO] [clean:clean]
[INFO] ------------------------------------------------------------------------
[INFO] Building Apache Axis2 - JiBX Data Binding
[INFO] task-segment: [clean]
[INFO] ------------------------------------------------------------------------
[INFO] [clean:clean]
[INFO] ------------------------------------------------------------------------
[INFO] Building Apache Axis2 - JAXB-RI Data Binding
[INFO] task-segment: [clean]
[INFO] ------------------------------------------------------------------------
[INFO] [clean:clean]
[INFO] ------------------------------------------------------------------------
[INFO] Building Apache Axis2 - Scripting
[INFO] task-segment: [clean]
[INFO] ------------------------------------------------------------------------
[INFO] [clean:clean]
[INFO] ------------------------------------------------------------------------
[INFO] Building Apache Axis2 - SAAJ
[INFO] task-segment: [clean]
[INFO] ------------------------------------------------------------------------
[INFO] [clean:clean]
[INFO] ------------------------------------------------------------------------
[INFO] Building Apache Axis2 - Metadata
[INFO] task-segment: [clean]
[INFO] ------------------------------------------------------------------------
[INFO] [clean:clean]
[INFO] ------------------------------------------------------------------------
[INFO] Building Apache Axis2 - JAXWS
[INFO] task-segment: [clean]
[INFO] ------------------------------------------------------------------------
[INFO] [clean:clean]
[INFO] ------------------------------------------------------------------------
[INFO] Building Apache Axis2 - Clustering
[INFO] task-segment: [clean]
[INFO] ------------------------------------------------------------------------
[INFO] [clean:clean]
[INFO] ------------------------------------------------------------------------
[INFO] Building Apache Axis2 - JSON
[INFO] task-segment: [clean]
[INFO] ------------------------------------------------------------------------
[INFO] [clean:clean]
[INFO] ------------------------------------------------------------------------
[INFO] Building Apache Axis2 - JAXWS Integration Tests
[INFO] task-segment: [clean]
[INFO] ------------------------------------------------------------------------
[INFO] [clean:clean]
[INFO] ------------------------------------------------------------------------
[INFO] Building Apache Axis2 - MTOM Policy
[INFO] task-segment: [clean]
[INFO] ------------------------------------------------------------------------
[INFO] [clean:clean]
[INFO] ------------------------------------------------------------------------
[INFO] Building Apache Axis2 - OSGi Integration
[INFO] task-segment: [clean]
[INFO] ------------------------------------------------------------------------
[INFO] [clean:clean]
[INFO] ------------------------------------------------------------------------
[INFO] Building Apache Axis2 - Integration
[INFO] task-segment: [clean]
[INFO] ------------------------------------------------------------------------
[INFO] [clean:clean]
[INFO] ------------------------------------------------------------------------
[INFO] Building Apache Axis2 - MEX
[INFO] task-segment: [clean]
[INFO] ------------------------------------------------------------------------
[INFO] [clean:clean]
[INFO] ------------------------------------------------------------------------
[INFO] Building Apache Axis2 - Ping
[INFO] task-segment: [clean]
[INFO] ------------------------------------------------------------------------
[INFO] [clean:clean]
[INFO] ------------------------------------------------------------------------
[INFO] Building Apache Axis2 - tool - AAR Maven Plugin
[INFO] task-segment: [clean]
[INFO] ------------------------------------------------------------------------
[INFO] [clean:clean]
[INFO] ------------------------------------------------------------------------
[INFO] Building Apache Axis2 - Version Service
[INFO] task-segment: [clean]
[INFO] ------------------------------------------------------------------------
[INFO] [clean:clean]
[INFO] ------------------------------------------------------------------------
[INFO] Building Apache Axis2 - SOAP Monitor
[INFO] task-segment: [clean]
[INFO] ------------------------------------------------------------------------
[INFO] [clean:clean]
[INFO] ------------------------------------------------------------------------
[INFO] Building Apache Axis2 - tool - Ant Plugin
[INFO] task-segment: [clean]
[INFO] ------------------------------------------------------------------------
[INFO] [clean:clean]
[INFO] ------------------------------------------------------------------------
[INFO] Building Apache Axis2 - Root
[INFO] task-segment: [clean]
[INFO] ------------------------------------------------------------------------
[INFO] [clean:clean]
[INFO] ------------------------------------------------------------------------
[INFO] Building Apache Axis2 - tool - Eclipse Codegen Plugin
[INFO] task-segment: [clean]
[INFO] ------------------------------------------------------------------------
[INFO] [clean:clean]
[INFO] ------------------------------------------------------------------------
[INFO] Building Apache Axis2 - tool - Eclipse service Plugin
[INFO] task-segment: [clean]
[INFO] ------------------------------------------------------------------------
[INFO] [clean:clean]
[INFO] ------------------------------------------------------------------------
[INFO] Building Apache Axis2 - tool - Intellij IDEA Plugin
[INFO] task-segment: [clean]
[INFO] ------------------------------------------------------------------------
[INFO] [clean:clean]
[INFO] ------------------------------------------------------------------------
[INFO] Building Apache Axis2 - tool - Java2WSDL Maven Plugin
[INFO] task-segment: [clean]
[INFO] ------------------------------------------------------------------------
[INFO] [clean:clean]
[INFO] ------------------------------------------------------------------------
[INFO] Building Apache Axis2 - tool - WSDL2Code Maven Plugin
[INFO] task-segment: [clean]
[INFO] ------------------------------------------------------------------------
[INFO] [clean:clean]
[INFO] ------------------------------------------------------------------------
[INFO] Building Apache Axis2 - CORBA
[INFO] task-segment: [clean]
[INFO] ------------------------------------------------------------------------
[INFO] [clean:clean]
[INFO] ------------------------------------------------------------------------
[INFO] Building Apache Axis2 - Web Application module
[INFO] task-segment: [clean]
[INFO] ------------------------------------------------------------------------
[INFO] [clean:clean]
[INFO] ------------------------------------------------------------------------
[INFO] Building Apache Axis2 - Samples
[INFO] task-segment: [clean]
[INFO] ------------------------------------------------------------------------
[INFO] [clean:clean]
[INFO] ------------------------------------------------------------------------
[INFO] Building Apache Axis2 - Transport - XMPP
[INFO] task-segment: [clean]
[INFO] ------------------------------------------------------------------------
[INFO] [clean:clean]
[INFO] ------------------------------------------------------------------------
[INFO] Building Apache Axis2 - Transport - testkit
[INFO] task-segment: [clean]
[INFO] ------------------------------------------------------------------------
[INFO] [clean:clean]
[INFO] ------------------------------------------------------------------------
[INFO] Building Apache Axis2 - Transport - Mail
[INFO] task-segment: [clean]
[INFO] ------------------------------------------------------------------------
[INFO] [clean:clean]
[INFO] ------------------------------------------------------------------------
[INFO] Building Apache Axis2 - Transport - JMS
[INFO] task-segment: [clean]
[INFO] ------------------------------------------------------------------------
[INFO] [clean:clean]
[INFO]
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO] ------------------------------------------------------------------------
[INFO] Apache Axis2 - Parent ................................. SUCCESS [0.431s]
[INFO] Apache Axis2 - Kernel ................................. SUCCESS [0.118s]
[INFO] Apache Axis2 - Data Binding ........................... SUCCESS [0.003s]
[INFO] Apache Axis2 - Code Generation ........................ SUCCESS [0.002s]
[INFO] Apache Axis2 - ADB Codegen ............................ SUCCESS [0.055s]
[INFO] Apache Axis2 - Transport - Parent ..................... SUCCESS [0.108s]
[INFO] Apache Axis2 - Transport - Base ....................... SUCCESS [0.002s]
[INFO] Apache Axis2 - Transport - HTTP ....................... SUCCESS [0.006s]
[INFO] Apache Axis2 - Transport - TCP ........................ SUCCESS [0.002s]
[INFO] Apache Axis2 - Transport - Local ...................... SUCCESS [0.002s]
[INFO] Apache Axis2 - tool - MAR Maven Plugin ................ SUCCESS [0.002s]
[INFO] Apache Axis2 - Addressing ............................. SUCCESS [0.006s]
[INFO] Apache Axis2 - Transport - Root ....................... SUCCESS [0.020s]
[INFO] Apache Axis2 - Java2WSDL .............................. SUCCESS [0.002s]
[INFO] Apache Axis2 - Fast Infoset ........................... SUCCESS [0.002s]
[INFO] Apache Axis2 - XMLBeans Data Binding .................. SUCCESS [0.002s]
[INFO] Apache Axis2 - spring ................................. SUCCESS [0.001s]
[INFO] Apache Axis2 - JiBX Data Binding ...................... SUCCESS [0.019s]
[INFO] Apache Axis2 - JAXB-RI Data Binding ................... SUCCESS [0.002s]
[INFO] Apache Axis2 - Scripting .............................. SUCCESS [0.004s]
[INFO] Apache Axis2 - SAAJ ................................... SUCCESS [0.041s]
[INFO] Apache Axis2 - Metadata ............................... SUCCESS [0.003s]
[INFO] Apache Axis2 - JAXWS .................................. SUCCESS [0.002s]
[INFO] Apache Axis2 - Clustering ............................. SUCCESS [0.002s]
[INFO] Apache Axis2 - JSON ................................... SUCCESS [0.005s]
[INFO] Apache Axis2 - JAXWS Integration Tests ................ SUCCESS [0.003s]
[INFO] Apache Axis2 - MTOM Policy ............................ SUCCESS [0.002s]
[INFO] Apache Axis2 - OSGi Integration ....................... SUCCESS [0.002s]
[INFO] Apache Axis2 - Integration ............................ SUCCESS [0.021s]
[INFO] Apache Axis2 - MEX .................................... SUCCESS [0.005s]
[INFO] Apache Axis2 - Ping ................................... SUCCESS [0.004s]
[INFO] Apache Axis2 - tool - AAR Maven Plugin ................ SUCCESS [0.019s]
[INFO] Apache Axis2 - Version Service ........................ SUCCESS [0.005s]
[INFO] Apache Axis2 - SOAP Monitor ........................... SUCCESS [0.024s]
[INFO] Apache Axis2 - tool - Ant Plugin ...................... SUCCESS [0.002s]
[INFO] Apache Axis2 - Root ................................... SUCCESS [0.002s]
[INFO] Apache Axis2 - tool - Eclipse Codegen Plugin .......... SUCCESS [0.028s]
[INFO] Apache Axis2 - tool - Eclipse service Plugin .......... SUCCESS [0.002s]
[INFO] Apache Axis2 - tool - Intellij IDEA Plugin ............ SUCCESS [0.002s]
[INFO] Apache Axis2 - tool - Java2WSDL Maven Plugin .......... SUCCESS [0.002s]
[INFO] Apache Axis2 - tool - WSDL2Code Maven Plugin .......... SUCCESS [0.019s]
[INFO] Apache Axis2 - CORBA .................................. SUCCESS [0.002s]
[INFO] Apache Axis2 - Web Application module ................. SUCCESS [0.060s]
[INFO] Apache Axis2 - Samples ................................ SUCCESS [0.002s]
[INFO] Apache Axis2 - Transport - XMPP ....................... SUCCESS [0.001s]
[INFO] Apache Axis2 - Transport - testkit .................... SUCCESS [0.110s]
[INFO] Apache Axis2 - Transport - Mail ....................... SUCCESS [0.002s]
[INFO] Apache Axis2 - Transport - JMS ........................ SUCCESS [0.001s]
[INFO] ------------------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 5 seconds
[INFO] Finished at: Thu Oct 02 08:27:21 EDT 2008
[INFO] Final Memory: 19M/47M
[INFO] ------------------------------------------------------------------------