Author: veithen Date: Fri Jan 6 09:53:31 2012 New Revision: 1228046 URL: http://svn.apache.org/viewvc?rev=1228046&view=rev Log: Added a flag to the start-server mojo that makes it possible to run manual tests on the test server.
Modified: axis/axis1/java/trunk/axis-maven-plugin/src/main/java/org/apache/axis/maven/StartServerMojo.java Modified: axis/axis1/java/trunk/axis-maven-plugin/src/main/java/org/apache/axis/maven/StartServerMojo.java URL: http://svn.apache.org/viewvc/axis/axis1/java/trunk/axis-maven-plugin/src/main/java/org/apache/axis/maven/StartServerMojo.java?rev=1228046&r1=1228045&r2=1228046&view=diff ============================================================================== --- axis/axis1/java/trunk/axis-maven-plugin/src/main/java/org/apache/axis/maven/StartServerMojo.java (original) +++ axis/axis1/java/trunk/axis-maven-plugin/src/main/java/org/apache/axis/maven/StartServerMojo.java Fri Jan 6 09:53:31 2012 @@ -80,6 +80,20 @@ public class StartServerMojo extends Abs */ private WSDD[] wsdds; + /** + * If this flag is set to <code>true</code>, then the execution of the goal will block after the + * server has been started and the services are deployed. This is useful if one wants to + * manually test some services deployed on the server or if one wants to run the integration + * tests from an IDE. The flag can only be set using the command line, but not in the POM. + * <p> + * Note: this feature is implemented using a flag (instead of a distinct goal) to make sure that + * the server is configured in exactly the same way as in a normal integration test execution. + * + * @parameter expression="${axis.server.foreground}" default-value="false" + * @readonly + */ + private boolean foreground; + public void execute() throws MojoExecutionException, MojoFailureException { Log log = getLog(); @@ -151,5 +165,17 @@ public class StartServerMojo extends Abs } catch (Exception ex) { throw new MojoFailureException("Failed to start server", ex); } + + if (foreground) { + Object lock = new Object(); + synchronized (lock) { + try { + lock.wait(); + } catch (InterruptedException ex) { + // Set interrupt flag and continue + Thread.currentThread().interrupt(); + } + } + } } }