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);