From d1b355ce915233aebf54a25e9f1fdbae7d5c583d Mon Sep 17 00:00:00 2001
From: Pierre Delagrave <pierre.delagrave@sunmedia.ca>
Date: Tue, 8 Jul 2014 11:10:43 -0400
Subject: [PATCH] Skipping embedmongo initialization when skipITs environment
 variable is set to true, so it play nicer with the failsafe plugin

---
 .../embedmongo/StartEmbeddedMongoMojo.java             | 10 ++++++++++
 .../embedmongo/StopEmbeddedMongoMojo.java              |  9 +++++++++
 2 files changed, 19 insertions(+)

diff --git a/src/main/java/com/github/joelittlejohn/embedmongo/StartEmbeddedMongoMojo.java b/src/main/java/com/github/joelittlejohn/embedmongo/StartEmbeddedMongoMojo.java
index 4049995..0a99b45 100644
--- a/src/main/java/com/github/joelittlejohn/embedmongo/StartEmbeddedMongoMojo.java
+++ b/src/main/java/com/github/joelittlejohn/embedmongo/StartEmbeddedMongoMojo.java
@@ -206,10 +206,20 @@ public class StartEmbeddedMongoMojo extends AbstractMojo {
      */
     private MavenProject project;
 
+    /**
+     * @parameter expression="${skipITs}" default-value="false"
+     */
+    private boolean skipITs;
+
     @Override
     @SuppressWarnings("unchecked")
     public void execute() throws MojoExecutionException, MojoFailureException {
 
+        if (skipITs) {
+            getLog().info("skipITs detected, not starting embedmongo");
+            return;
+        }
+        
         if (this.proxyHost != null && this.proxyHost.length() > 0) {
             this.addProxySelector();
         }
diff --git a/src/main/java/com/github/joelittlejohn/embedmongo/StopEmbeddedMongoMojo.java b/src/main/java/com/github/joelittlejohn/embedmongo/StopEmbeddedMongoMojo.java
index c786546..6f704da 100644
--- a/src/main/java/com/github/joelittlejohn/embedmongo/StopEmbeddedMongoMojo.java
+++ b/src/main/java/com/github/joelittlejohn/embedmongo/StopEmbeddedMongoMojo.java
@@ -30,8 +30,17 @@ import de.flapdoodle.embed.mongo.MongodProcess;
  */
 public class StopEmbeddedMongoMojo extends AbstractMojo {
 
+    /**
+     * @parameter expression="${skipITs}" default-value="false"
+     */
+    private boolean skipITs;
+
     @Override
     public void execute() throws MojoExecutionException, MojoFailureException {
+        if (skipITs) {
+            return;
+        }
+        
         MongodProcess mongod = (MongodProcess)getPluginContext().get(StartEmbeddedMongoMojo
             .MONGOD_CONTEXT_PROPERTY_NAME);
 
-- 
GitLab