You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by hb...@apache.org on 2016/03/27 17:07:29 UTC
svn commit: r1736756 - in
/maven/doxia/doxia-sitetools/trunk/doxia-decoration-model/src:
main/java/org/apache/maven/doxia/site/decoration/inheritance/
test/java/org/apache/maven/doxia/site/decoration/inheritance/
Author: hboutemy
Date: Sun Mar 27 15:07:29 2016
New Revision: 1736756
URL: http://svn.apache.org/viewvc?rev=1736756&view=rev
Log:
[DOXIASITETOOLS-158] added meaningful error message about late interpolation
Modified:
maven/doxia/doxia-sitetools/trunk/doxia-decoration-model/src/main/java/org/apache/maven/doxia/site/decoration/inheritance/DefaultDecorationModelInheritanceAssembler.java
maven/doxia/doxia-sitetools/trunk/doxia-decoration-model/src/test/java/org/apache/maven/doxia/site/decoration/inheritance/DecorationModelInheritanceAssemblerTest.java
Modified: maven/doxia/doxia-sitetools/trunk/doxia-decoration-model/src/main/java/org/apache/maven/doxia/site/decoration/inheritance/DefaultDecorationModelInheritanceAssembler.java
URL: http://svn.apache.org/viewvc/maven/doxia/doxia-sitetools/trunk/doxia-decoration-model/src/main/java/org/apache/maven/doxia/site/decoration/inheritance/DefaultDecorationModelInheritanceAssembler.java?rev=1736756&r1=1736755&r2=1736756&view=diff
==============================================================================
--- maven/doxia/doxia-sitetools/trunk/doxia-decoration-model/src/main/java/org/apache/maven/doxia/site/decoration/inheritance/DefaultDecorationModelInheritanceAssembler.java (original)
+++ maven/doxia/doxia-sitetools/trunk/doxia-decoration-model/src/main/java/org/apache/maven/doxia/site/decoration/inheritance/DefaultDecorationModelInheritanceAssembler.java Sun Mar 27 15:07:29 2016
@@ -451,6 +451,12 @@ public class DefaultDecorationModelInher
return link;
}
+ if ( link.contains( "${project." ) )
+ {
+ throw new IllegalArgumentException( "site.xml late interpolation ${project.*} expression found in link: '"
+ + link + "'. Use early interpolation ${this.*}" );
+ }
+
final URIPathDescriptor oldPath = new URIPathDescriptor( getOldPath(), link );
return oldPath.rebaseLink( getNewPath() ).toString();
Modified: maven/doxia/doxia-sitetools/trunk/doxia-decoration-model/src/test/java/org/apache/maven/doxia/site/decoration/inheritance/DecorationModelInheritanceAssemblerTest.java
URL: http://svn.apache.org/viewvc/maven/doxia/doxia-sitetools/trunk/doxia-decoration-model/src/test/java/org/apache/maven/doxia/site/decoration/inheritance/DecorationModelInheritanceAssemblerTest.java?rev=1736756&r1=1736755&r2=1736756&view=diff
==============================================================================
--- maven/doxia/doxia-sitetools/trunk/doxia-decoration-model/src/test/java/org/apache/maven/doxia/site/decoration/inheritance/DecorationModelInheritanceAssemblerTest.java (original)
+++ maven/doxia/doxia-sitetools/trunk/doxia-decoration-model/src/test/java/org/apache/maven/doxia/site/decoration/inheritance/DecorationModelInheritanceAssemblerTest.java Sun Mar 27 15:07:29 2016
@@ -74,6 +74,20 @@ public class DecorationModelInheritanceA
assertEquals( "Check scp result", expectedModel, childModel );
assertEquals( "Modified parent!", readModel( "inheritance-parent.xml" ), parentModel );
+
+ // late inheritance in links can't be rebased: check friendly message
+ parentModel.getBannerLeft().setHref( "${project.url}" );
+ childModel = readModel( "inheritance-child.xml" );
+ try
+ {
+ assembler.assembleModelInheritance( NAME, childModel, parentModel, "scp://people.apache.org/doxia",
+ "scp://people.apache.org" );
+ fail( "late interpolation in link should cause IllegalArgumentException" );
+ }
+ catch ( IllegalArgumentException iae )
+ {
+ assertTrue( iae.getMessage().startsWith( "site.xml late interpolation" ) );
+ }
}
/**