You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by cz...@apache.org on 2015/03/06 16:50:11 UTC
svn commit: r1664665 -
/sling/trunk/tooling/maven/slingstart-maven-plugin/src/main/java/org/apache/sling/maven/slingstart/ModelUtils.java
Author: cziegeler
Date: Fri Mar 6 15:50:10 2015
New Revision: 1664665
URL: http://svn.apache.org/r1664665
Log:
SLING-4479 : Inherited models are processed in the wrong order
Modified:
sling/trunk/tooling/maven/slingstart-maven-plugin/src/main/java/org/apache/sling/maven/slingstart/ModelUtils.java
Modified: sling/trunk/tooling/maven/slingstart-maven-plugin/src/main/java/org/apache/sling/maven/slingstart/ModelUtils.java
URL: http://svn.apache.org/viewvc/sling/trunk/tooling/maven/slingstart-maven-plugin/src/main/java/org/apache/sling/maven/slingstart/ModelUtils.java?rev=1664665&r1=1664664&r2=1664665&view=diff
==============================================================================
--- sling/trunk/tooling/maven/slingstart-maven-plugin/src/main/java/org/apache/sling/maven/slingstart/ModelUtils.java (original)
+++ sling/trunk/tooling/maven/slingstart-maven-plugin/src/main/java/org/apache/sling/maven/slingstart/ModelUtils.java Fri Mar 6 15:50:10 2015
@@ -54,9 +54,13 @@ public abstract class ModelUtils {
* Read all model files from the directory in alphabetical order
* @param logger
*/
- private static Model readLocalModel(final File systemsDirectory, final MavenProject project, final MavenSession session, final Logger logger)
+ private static Model readLocalModel(final Model startingModel,
+ final File systemsDirectory,
+ final MavenProject project,
+ final MavenSession session,
+ final Logger logger)
throws MojoExecutionException {
- final Model result = new Model();
+ final Model result = (startingModel != null ? startingModel : new Model());
final List<String> candidates = new ArrayList<String>();
if ( systemsDirectory != null && systemsDirectory.exists() ) {
for(final File f : systemsDirectory.listFiles() ) {
@@ -107,8 +111,6 @@ public abstract class ModelUtils {
final Logger logger)
throws MojoExecutionException {
try {
- final Model localModel = readLocalModel(systemsDirectory, project, session, logger);
-
// check dependent models
Model depModel = null;
for(final File file : dependentModels) {
@@ -128,22 +130,15 @@ public abstract class ModelUtils {
IOUtils.closeQuietly(r);
}
}
- final Model result;
if ( depModel != null ) {
- Map<Traceable, String> errors = ModelUtility.validate(depModel);
- if (errors != null ) {
- throw new MojoExecutionException("Invalid model : " + errors);
- }
- ModelUtility.merge(depModel, localModel);
- errors = ModelUtility.validate(depModel);
+ final Map<Traceable, String> errors = ModelUtility.validate(depModel);
if (errors != null ) {
throw new MojoExecutionException("Invalid model : " + errors);
}
-
- result = depModel;
- } else {
- result = localModel;
}
+
+ final Model result = readLocalModel(depModel, systemsDirectory, project, session, logger);
+
return result;
} catch ( final IOException ioe) {
throw new MojoExecutionException("Unable to cache model", ioe);