package org.mockserver.maven; import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugins.annotations.LifecyclePhase; import org.apache.maven.plugins.annotations.Mojo; import org.apache.maven.plugins.annotations.ResolutionScope; import org.mockserver.configuration.ConfigurationProperties; /** * Start the MockServer in the initialize phase of the build and continue build so that tests can run that rely on the MockServer * * @author jamesdbloom */ @Mojo(name = "start", defaultPhase = LifecyclePhase.INITIALIZE, requiresDependencyCollection = ResolutionScope.COMPILE_PLUS_RUNTIME, requiresDependencyResolution = ResolutionScope.COMPILE_PLUS_RUNTIME, requiresProject = true, inheritByDefault = true) public class MockServerStartMojo extends MockServerAbstractMojo { /** * Holds reference to jetty across plugin execution */ private InstanceHolder embeddedJettyHolder; public void execute() throws MojoExecutionException { ConfigurationProperties.overrideLogLevel(logLevel); if (skip) { getLog().info("Skipping plugin execution"); } else { if (getLog().isInfoEnabled()) { getLog().info("mockserver:start about to start MockServer on: " + (serverPort != -1 ? " serverPort " + serverPort : "") + (proxyPort != -1 ? " proxyPort " + proxyPort : "") ); } getEmbeddedJettyHolder().start(serverPort, proxyPort, createInitializer()); } } }