Merge branch 'master' into feature/SLING-10035
diff --git a/src/main/java/org/apache/sling/feature/maven/mojos/AbstractFeatureMojo.java b/src/main/java/org/apache/sling/feature/maven/mojos/AbstractFeatureMojo.java
index 5bb5a8e..e0e7aa4 100644
--- a/src/main/java/org/apache/sling/feature/maven/mojos/AbstractFeatureMojo.java
+++ b/src/main/java/org/apache/sling/feature/maven/mojos/AbstractFeatureMojo.java
@@ -246,14 +246,20 @@
             if (genDir.exists()) {
                 dir = genDir;
             } else {
-                dir = null;
+                if(genDir.mkdirs()) {
+                    dir = genDir;
+                } else {
+                    dir = null;
+                }
             }
         } else {
             dir = this.generatedFeatures;
         }
         if (dir != null) {
             if (!dir.exists()) {
-                throw new MojoExecutionException("Directory does not exists: " + dir);
+                if(!dir.mkdirs()) {
+                    throw new MojoExecutionException("Directory does not exists: " + dir);
+                }
             }
             if (!dir.isDirectory()) {
                 throw new MojoExecutionException(