SLING-7662 Do not try to load model files if none are there
diff --git a/src/main/java/org/apache/sling/maven/slingstart/ModelPreprocessor.java b/src/main/java/org/apache/sling/maven/slingstart/ModelPreprocessor.java
index 41b3475..3f56a13 100644
--- a/src/main/java/org/apache/sling/maven/slingstart/ModelPreprocessor.java
+++ b/src/main/java/org/apache/sling/maven/slingstart/ModelPreprocessor.java
@@ -124,21 +124,24 @@
                 // use multiple fallbacks here only in case the default model directory is not explicitly set
                 File defaultModelDirectory = new File(info.project.getBasedir(), "src/main/provisioning");
                 File defaultConvertedModelDirectory = new File(info.project.getBuild().getDirectory() + "/" + FeatureModelConverter.BUILD_DIR);
+                File defaultModelDirectoryInTest = new File(info.project.getBasedir(), "src/test/provisioning");
 
-                if (defaultModelDirectory.exists() && defaultConvertedModelDirectory.exists()) {
-                    // The model is partially converted, partially explicitly defined. Copy the defined ones in with the converted ones
-                    for (File f : defaultModelDirectory.listFiles()) {
-                        File targetFile = new File(defaultConvertedModelDirectory, f.getName());
-                        if (targetFile.exists()) {
-                            env.logger.debug("File already exists. Skipping: " + targetFile);
-                        } else {
-                            env.logger.debug("Copying " + f + " to " + targetFile);
-                            Files.copy(f.toPath(), targetFile.toPath());
+                if (defaultModelDirectory.exists()) {
+                    if (defaultConvertedModelDirectory.exists()) {
+                        // The model is partially converted, partially explicitly defined. Copy the defined ones in with the converted ones
+                        for (File f : defaultModelDirectory.listFiles()) {
+                            File targetFile = new File(defaultConvertedModelDirectory, f.getName());
+                            if (targetFile.exists()) {
+                                env.logger.debug("File already exists. Skipping: " + targetFile);
+                            } else {
+                                env.logger.debug("Copying " + f + " to " + targetFile);
+                                Files.copy(f.toPath(), targetFile.toPath());
+                            }
                         }
+                    } else {
+                        env.logger.debug("Try to extract model from default provisioning directory " + defaultModelDirectory.getAbsolutePath());
+                        info.localModel = readLocalModel(info.project, inlinedModel, defaultModelDirectory, pattern, env.logger);
                     }
-                } else {
-                    env.logger.debug("Try to extract model from default provisioning directory " + defaultModelDirectory.getAbsolutePath());
-                    info.localModel = readLocalModel(info.project, inlinedModel, defaultModelDirectory, pattern, env.logger);
                 }
 
                 if (defaultConvertedModelDirectory.exists()) {
@@ -146,12 +149,15 @@
                     info.localModel = readLocalModel(info.project, inlinedModel, defaultConvertedModelDirectory, pattern, env.logger);
                 }
 
-                if (info.localModel == null) {
-                    File defaultModelDirectoryInTest = new File(info.project.getBasedir(), "src/test/provisioning");
+                if (defaultModelDirectoryInTest.exists()) {
                     env.logger.debug("Try to extract model from default test provisioning directory " + defaultModelDirectoryInTest.getAbsolutePath());
                     info.localModel = readLocalModel(info.project, inlinedModel, defaultModelDirectoryInTest, pattern, env.logger);
                     scope = Artifact.SCOPE_TEST;
                 }
+
+                if (info.localModel == null) {
+                    info.localModel = new Model();
+                }
             }
         } catch ( final IOException ioe) {
             throw new MavenExecutionException(ioe.getMessage(), ioe);