Author: bimargulies
Date: Fri Jun 20 17:17:27 2014
New Revision: 1604218

URL: http://svn.apache.org/r1604218
Log:
DOXIASITETOOLS-90: site inheritance controllable
* Added combine.self attribute to site descriptor, by analogy to plugin 
configuration.
* exempted some batik from the enforcer; otherwise won't build.

Added:
    
maven/doxia/doxia-sitetools/trunk/doxia-decoration-model/src/test/resources/child-no-inheritance.xml
      - copied, changed from r1604205, 
maven/doxia/doxia-sitetools/trunk/doxia-decoration-model/src/test/resources/child.xml
Modified:
    maven/doxia/doxia-sitetools/trunk/doxia-decoration-model/pom.xml
    
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/main/mdo/decoration.mdo
    
maven/doxia/doxia-sitetools/trunk/doxia-decoration-model/src/test/java/org/apache/maven/doxia/site/decoration/inheritance/DecorationModelInheritenceAssemblerTest.java
    maven/doxia/doxia-sitetools/trunk/pom.xml

Modified: maven/doxia/doxia-sitetools/trunk/doxia-decoration-model/pom.xml
URL: 
http://svn.apache.org/viewvc/maven/doxia/doxia-sitetools/trunk/doxia-decoration-model/pom.xml?rev=1604218&r1=1604217&r2=1604218&view=diff
==============================================================================
--- maven/doxia/doxia-sitetools/trunk/doxia-decoration-model/pom.xml (original)
+++ maven/doxia/doxia-sitetools/trunk/doxia-decoration-model/pom.xml Fri Jun 20 
17:17:27 2014
@@ -51,7 +51,7 @@ under the License.
           <models>
             <model>src/main/mdo/decoration.mdo</model>
           </models>
-          <version>1.4.0</version>
+          <version>1.6.0</version>
           <firstVersion>1.0.0</firstVersion>
         </configuration>
         <executions>

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=1604218&r1=1604217&r2=1604218&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
 Fri Jun 20 17:17:27 2014
@@ -54,6 +54,13 @@ public class DefaultDecorationModelInher
             return;
         }
 
+        // do not inherit if descriptor forbids.
+        // we may push this down the schema later.
+        if ( "override".equals( child.getCombineSelf() ) )
+        {
+            return;
+        }
+
         URLContainer urlContainer = new URLContainer( parentBaseUrl, 
childBaseUrl );
 
         if ( child.getBannerLeft() == null && parent.getBannerLeft() != null )

Modified: 
maven/doxia/doxia-sitetools/trunk/doxia-decoration-model/src/main/mdo/decoration.mdo
URL: 
http://svn.apache.org/viewvc/maven/doxia/doxia-sitetools/trunk/doxia-decoration-model/src/main/mdo/decoration.mdo?rev=1604218&r1=1604217&r2=1604218&view=diff
==============================================================================
--- 
maven/doxia/doxia-sitetools/trunk/doxia-decoration-model/src/main/mdo/decoration.mdo
 (original)
+++ 
maven/doxia/doxia-sitetools/trunk/doxia-decoration-model/src/main/mdo/decoration.mdo
 Fri Jun 20 17:17:27 2014
@@ -19,7 +19,7 @@ specific language governing permissions 
 under the License.
 -->
 
-<model xmlns="http://modello.codehaus.org/MODELLO/1.1.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://modello.codehaus.org/MODELLO/1.1.0 
http://modello.codehaus.org/xsd/modello-1.1.0.xsd";
+<model xmlns="http://modello.codehaus.org/MODELLO/1.4.1"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://modello.codehaus.org/MODELLO/1.4.1 
http://modello.codehaus.org/xsd/modello-1.4.1.xsd";
   xml.namespace="http://maven.apache.org/DECORATION/${version}";
   xml.schemaLocation="http://maven.apache.org/xsd/decoration-${version}.xsd";>
   <id>decoration</id>
@@ -55,6 +55,14 @@ under the License.
           <type>String</type>
           <identifier>true</identifier>
         </field>
+        <field xml.attribute="true" xml.tagName="combine.self">
+           <description>Whether to inherit configuration from a parent project 
site descriptor.</description>
+           <name>combineSelf</name>
+           <version>1.6.0+</version>
+           <type>String</type>
+           <defaultValue>merge</defaultValue>
+           <identifier>true</identifier>
+        </field>
         <field>
           <name>bannerLeft</name>
           <description>Banner logo on the masthead of the site to the 
left.</description>

Modified: 
maven/doxia/doxia-sitetools/trunk/doxia-decoration-model/src/test/java/org/apache/maven/doxia/site/decoration/inheritance/DecorationModelInheritenceAssemblerTest.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/DecorationModelInheritenceAssemblerTest.java?rev=1604218&r1=1604217&r2=1604218&view=diff
==============================================================================
--- 
maven/doxia/doxia-sitetools/trunk/doxia-decoration-model/src/test/java/org/apache/maven/doxia/site/decoration/inheritance/DecorationModelInheritenceAssemblerTest.java
 (original)
+++ 
maven/doxia/doxia-sitetools/trunk/doxia-decoration-model/src/test/java/org/apache/maven/doxia/site/decoration/inheritance/DecorationModelInheritenceAssemblerTest.java
 Fri Jun 20 17:17:27 2014
@@ -81,6 +81,22 @@ public class DecorationModelInheritenceA
      * @throws IOException
      * @throws XmlPullParserException
      */
+    public void testSuppressedInheritence()
+            throws IOException, XmlPullParserException
+    {
+        DecorationModel unassembledChildModel = readModel( 
"child-no-inheritance.xml" );
+        DecorationModel childModel = readModel( "child-no-inheritance.xml" );
+        DecorationModel parentModel = readModel( "parent.xml" );
+        assembler.assembleModelInheritance( NAME, childModel, parentModel, 
"http://maven.apache.org/doxia";,
+                "http://maven.apache.org"; );
+        assertEquals( "Check result", unassembledChildModel, childModel );
+    }
+
+    /**
+     *
+     * @throws IOException
+     * @throws XmlPullParserException
+     */
     public void testPathsResolvedWhenEmpty()
         throws IOException, XmlPullParserException
     {

Copied: 
maven/doxia/doxia-sitetools/trunk/doxia-decoration-model/src/test/resources/child-no-inheritance.xml
 (from r1604205, 
maven/doxia/doxia-sitetools/trunk/doxia-decoration-model/src/test/resources/child.xml)
URL: 
http://svn.apache.org/viewvc/maven/doxia/doxia-sitetools/trunk/doxia-decoration-model/src/test/resources/child-no-inheritance.xml?p2=maven/doxia/doxia-sitetools/trunk/doxia-decoration-model/src/test/resources/child-no-inheritance.xml&p1=maven/doxia/doxia-sitetools/trunk/doxia-decoration-model/src/test/resources/child.xml&r1=1604205&r2=1604218&rev=1604218&view=diff
==============================================================================
--- 
maven/doxia/doxia-sitetools/trunk/doxia-decoration-model/src/test/resources/child.xml
 (original)
+++ 
maven/doxia/doxia-sitetools/trunk/doxia-decoration-model/src/test/resources/child-no-inheritance.xml
 Fri Jun 20 17:17:27 2014
@@ -19,10 +19,11 @@ specific language governing permissions 
 under the License.
 -->
 
-<project xmlns="http://maven.apache.org/DECORATION/1.0.0";
+<project xmlns="http://maven.apache.org/DECORATION/1.6.0";
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
-  xsi:schemaLocation="http://maven.apache.org/DECORATION/1.0.0 
file:../../../target/generated-site/xsd/decoration-1.0.0.xsd"
-  name="Child">
+  xsi:schemaLocation="http://maven.apache.org/DECORATION/1.0.0 
file:../../../target/generated-site/xsd/decoration-1.6.0.xsd"
+  name="Child"
+  combine.self="override">
   <body>
     <links>
       <item name="Bouncy Castle" href="http://www.bouncycastle.org"/>

Modified: maven/doxia/doxia-sitetools/trunk/pom.xml
URL: 
http://svn.apache.org/viewvc/maven/doxia/doxia-sitetools/trunk/pom.xml?rev=1604218&r1=1604217&r2=1604218&view=diff
==============================================================================
--- maven/doxia/doxia-sitetools/trunk/pom.xml (original)
+++ maven/doxia/doxia-sitetools/trunk/pom.xml Fri Jun 20 17:17:27 2014
@@ -296,6 +296,28 @@ under the License.
     <pluginManagement>
       <plugins>
         <plugin>
+          <artifactId>maven-enforcer-plugin</artifactId>
+          <executions>
+            <execution>
+              <id>enforce-bytecode-version</id>
+              <goals>
+                <goal>enforce</goal>
+              </goals>
+              <configuration>
+                <rules>
+                  <enforceBytecodeVersion>
+                    <maxJdkVersion>1.5</maxJdkVersion>
+                    <excludes>
+                      <exclude>org.apache.xmlgraphics:*</exclude>
+                    </excludes>
+                  </enforceBytecodeVersion>
+                </rules>
+                <fail>true</fail>
+              </configuration>
+            </execution>
+          </executions>
+        </plugin>
+        <plugin>
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-release-plugin</artifactId>
           <configuration>


Reply via email to