SLING-10423 Add support to skip a launch (#2)

diff --git a/README.md b/README.md
index 6123aee..26ea191 100644
--- a/README.md
+++ b/README.md
@@ -19,6 +19,10 @@
         <launches>
             <launch>
                 <id>model</id>
+                <!-- optionally uncomment to skip this launch if the skip property resolves to false -->
+                <!--
+                <skip>${prop1.skip}</skip>
+                -->
                 <feature>
                     <groupId>org.apache.sling</groupId>
                     <artifactId>org.apache.sling.starter</artifactId>
diff --git a/src/main/java/org/apache/sling/maven/feature/launcher/Launch.java b/src/main/java/org/apache/sling/maven/feature/launcher/Launch.java
index a801ad5..676732d 100644
--- a/src/main/java/org/apache/sling/maven/feature/launcher/Launch.java
+++ b/src/main/java/org/apache/sling/maven/feature/launcher/Launch.java
@@ -30,6 +30,7 @@
     private Dependency feature;
     private LauncherArguments launcherArguments;
     private int startTimeoutSeconds = 30;
+    private boolean skip = false;
 
     public String getId() {
         return id;
@@ -63,6 +64,14 @@
         this.startTimeoutSeconds = startTimeoutSeconds;
     }
 
+    public boolean isSkip() {
+        return skip;
+    }
+
+    public void setSkip(boolean skip) {
+        this.skip = skip;
+    }
+
     public void validate() {
         if ( id == null || id.trim().isEmpty() ) 
             throw new IllegalArgumentException("Missing id");
diff --git a/src/main/java/org/apache/sling/maven/feature/launcher/StartMojo.java b/src/main/java/org/apache/sling/maven/feature/launcher/StartMojo.java
index 8706735..48df086 100644
--- a/src/main/java/org/apache/sling/maven/feature/launcher/StartMojo.java
+++ b/src/main/java/org/apache/sling/maven/feature/launcher/StartMojo.java
@@ -108,6 +108,11 @@
             workDir.mkdirs();
             
             for ( Launch launch : launches ) {
+                if (launch.isSkip()) {
+                    getLog().info("Skipping starting launch with id " + launch.getId());
+                    continue; // skip it
+                }
+
                 launch.validate();
 
                 Artifact artifact = toArtifact(launch.getFeature());
diff --git a/src/main/java/org/apache/sling/maven/feature/launcher/StopMojo.java b/src/main/java/org/apache/sling/maven/feature/launcher/StopMojo.java
index 7be70f9..6087c5c 100644
--- a/src/main/java/org/apache/sling/maven/feature/launcher/StopMojo.java
+++ b/src/main/java/org/apache/sling/maven/feature/launcher/StopMojo.java
@@ -64,6 +64,11 @@
         }
         try {
             for ( Launch launch : launches ) {
+                if (launch.isSkip()) {
+                    getLog().info("Skipping stopping launch with id " + launch.getId());
+                    continue; // skip it
+                }
+
                 getLog().info("Stopping launch with id " + launch.getId());
                 processes.stop(launch.getId());
             }