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/02/08 01:02:33 UTC

svn commit: r1729055 - in /maven/doxia/doxia-sitetools/trunk: ./ doxia-site-renderer/ doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/ doxia-site-renderer/src/site/apt/ doxia-site-renderer/src/test/java/org/apache/maven/doxia/site...

Author: hboutemy
Date: Mon Feb  8 00:02:32 2016
New Revision: 1729055

URL: http://svn.apache.org/viewvc?rev=1729055&view=rev
Log:
[DOXIASITETOOLS-149] created a skin descriptor to contain meta-data about the skin

Added:
    maven/doxia/doxia-sitetools/trunk/doxia-skin-model/   (with props)
    maven/doxia/doxia-sitetools/trunk/doxia-skin-model/pom.xml   (with props)
    maven/doxia/doxia-sitetools/trunk/doxia-skin-model/src/
    maven/doxia/doxia-sitetools/trunk/doxia-skin-model/src/main/
    maven/doxia/doxia-sitetools/trunk/doxia-skin-model/src/main/mdo/
    maven/doxia/doxia-sitetools/trunk/doxia-skin-model/src/main/mdo/skin.mdo   (with props)
    maven/doxia/doxia-sitetools/trunk/doxia-skin-model/src/site/
    maven/doxia/doxia-sitetools/trunk/doxia-skin-model/src/site/apt/
    maven/doxia/doxia-sitetools/trunk/doxia-skin-model/src/site/apt/index.apt   (with props)
    maven/doxia/doxia-sitetools/trunk/doxia-skin-model/src/site/site.xml   (with props)
Modified:
    maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/pom.xml
    maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java
    maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/Renderer.java
    maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/SiteRenderingContext.java
    maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/site/apt/index.apt.vm
    maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/test/java/org/apache/maven/doxia/siterenderer/DefaultSiteRendererTest.java
    maven/doxia/doxia-sitetools/trunk/pom.xml
    maven/doxia/doxia-sitetools/trunk/src/site/resources/images/doxia-sitetools-deps.png
    maven/doxia/doxia-sitetools/trunk/src/site/xdoc/doxia-sitetools-deps.odg
    maven/doxia/doxia-sitetools/trunk/src/site/xdoc/index.xml

Modified: maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/pom.xml
URL: http://svn.apache.org/viewvc/maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/pom.xml?rev=1729055&r1=1729054&r2=1729055&view=diff
==============================================================================
--- maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/pom.xml (original)
+++ maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/pom.xml Mon Feb  8 00:02:32 2016
@@ -37,6 +37,12 @@ under the License.
 
 
   <dependencies>
+    <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-artifact</artifactId>
+      <version>3.0</version>
+    </dependency>
+  
     <!-- doxia -->
     <dependency>
       <groupId>org.apache.maven.doxia</groupId>
@@ -54,6 +60,10 @@ under the License.
       <groupId>org.apache.maven.doxia</groupId>
       <artifactId>doxia-decoration-model</artifactId>
     </dependency>
+    <dependency>
+      <groupId>org.apache.maven.doxia</groupId>
+      <artifactId>doxia-skin-model</artifactId>
+    </dependency>
     <!-- The modules are not in doxia core anymore so you have to state a dependency so that
          the component descriptor gets picked up. -->
     <dependency>

Modified: maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java
URL: http://svn.apache.org/viewvc/maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java?rev=1729055&r1=1729054&r2=1729055&view=diff
==============================================================================
--- maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java (original)
+++ maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java Mon Feb  8 00:02:32 2016
@@ -54,7 +54,11 @@ import java.util.zip.ZipException;
 import java.util.zip.ZipFile;
 
 import org.apache.commons.lang.ArrayUtils;
-
+import org.apache.maven.artifact.versioning.ArtifactVersion;
+import org.apache.maven.artifact.versioning.DefaultArtifactVersion;
+import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
+import org.apache.maven.artifact.versioning.Restriction;
+import org.apache.maven.artifact.versioning.VersionRange;
 import org.apache.maven.doxia.Doxia;
 import org.apache.maven.doxia.logging.PlexusLoggerWrapper;
 import org.apache.maven.doxia.parser.ParseException;
@@ -62,6 +66,8 @@ import org.apache.maven.doxia.parser.Par
 import org.apache.maven.doxia.parser.manager.ParserNotFoundException;
 import org.apache.maven.doxia.site.decoration.DecorationModel;
 import org.apache.maven.doxia.site.decoration.PublishDate;
+import org.apache.maven.doxia.site.skin.SkinModel;
+import org.apache.maven.doxia.site.skin.io.xpp3.SkinXpp3Reader;
 import org.apache.maven.doxia.parser.module.ParserModule;
 import org.apache.maven.doxia.parser.module.ParserModuleManager;
 import org.apache.maven.doxia.parser.module.ParserModuleNotFoundException;
@@ -102,6 +108,7 @@ import org.codehaus.plexus.util.Property
 import org.codehaus.plexus.util.ReaderFactory;
 import org.codehaus.plexus.util.StringUtils;
 import org.codehaus.plexus.util.WriterFactory;
+import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
 import org.codehaus.plexus.velocity.SiteResourceLoader;
 import org.codehaus.plexus.velocity.VelocityComponent;
 
@@ -728,13 +735,14 @@ public class DefaultSiteRenderer
     public SiteRenderingContext createContextForSkin( File skinFile, Map<String, ?> attributes,
                                                       DecorationModel decoration, String defaultWindowTitle,
                                                       Locale locale )
-            throws IOException
+            throws IOException, RendererException
     {
         SiteRenderingContext context = createSiteRenderingContext( attributes, decoration, defaultWindowTitle, locale );
 
         context.setSkinJarFile( skinFile );
 
         ZipFile zipFile = getZipFile( skinFile );
+        InputStream in;
 
         try
         {
@@ -749,6 +757,33 @@ public class DefaultSiteRenderer
                 context.setTemplateClassLoader( getClass().getClassLoader() );
                 context.setUsingDefaultTemplate( true );
             }
+
+            ZipEntry skinDescriptorEntry = zipFile.getEntry( SkinModel.SKIN_DESCRIPTOR_LOCATION );
+            if ( skinDescriptorEntry != null )
+            {
+                in = zipFile.getInputStream( skinDescriptorEntry );
+
+                SkinModel skinModel = new SkinXpp3Reader().read( in );
+                context.setSkinModel( skinModel );
+
+                String toolsPrerequisite =
+                    skinModel.getPrerequisites() == null ? null : skinModel.getPrerequisites().getDoxiaSiteTools();
+
+                Package p = DefaultSiteRenderer.class.getPackage();
+                String current = ( p == null ) ? null : p.getSpecificationVersion();
+
+                if ( StringUtils.isNotBlank( toolsPrerequisite ) && ( current != null )
+                    && !matchVersion( current, toolsPrerequisite ) )
+                {
+                    throw new RendererException( "Cannot use skin: has " + toolsPrerequisite
+                        + " Doxia Site Tools prerequisite, but current is " + current );
+                }
+            }
+        }
+        catch ( XmlPullParserException e )
+        {
+            throw new RendererException( "Failed to parse " + SkinModel.SKIN_DESCRIPTOR_LOCATION
+                + " skin descriptor from " + skinFile, e );
         }
         finally
         {
@@ -758,6 +793,44 @@ public class DefaultSiteRenderer
         return context;
     }
 
+    boolean matchVersion( String current, String prerequisite )
+        throws RendererException
+    {
+        try
+        {
+            ArtifactVersion v = new DefaultArtifactVersion( current );
+            VersionRange vr = VersionRange.createFromVersionSpec( prerequisite );
+
+            boolean matched = false;
+            ArtifactVersion recommendedVersion = vr.getRecommendedVersion();
+            if ( recommendedVersion == null )
+            {
+                List<Restriction> restrictions = vr.getRestrictions();
+                for ( Restriction restriction : restrictions )
+                {
+                    if ( restriction.containsVersion( v ) )
+                    {
+                        matched = true;
+                        break;
+                    }
+                }
+            }
+            else
+            {
+                // only singular versions ever have a recommendedVersion
+                @SuppressWarnings( "unchecked" )
+                int compareTo = recommendedVersion.compareTo( v );
+                matched = ( compareTo <= 0 );
+            }
+
+            return matched;
+        }
+        catch ( InvalidVersionSpecificationException e )
+        {
+            throw new RendererException( "Invalid skin doxia-site-tools prerequisite: " + prerequisite, e );
+        }
+    }
+
     /** {@inheritDoc} */
     public SiteRenderingContext createContextForTemplate( File templateFile, Map<String, ?> attributes,
                                                           DecorationModel decoration, String defaultWindowTitle,

Modified: maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/Renderer.java
URL: http://svn.apache.org/viewvc/maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/Renderer.java?rev=1729055&r1=1729054&r2=1729055&view=diff
==============================================================================
--- maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/Renderer.java (original)
+++ maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/Renderer.java Mon Feb  8 00:02:32 2016
@@ -83,7 +83,7 @@ public interface Renderer
      */
     SiteRenderingContext createContextForSkin( File skinFile, Map<String, ?> attributes, DecorationModel decoration,
                                                String defaultWindowTitle, Locale locale )
-        throws IOException;
+        throws RendererException, IOException;
 
     /**
      * Create a Site Rendering Context for a site using a local template.

Modified: maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/SiteRenderingContext.java
URL: http://svn.apache.org/viewvc/maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/SiteRenderingContext.java?rev=1729055&r1=1729054&r2=1729055&view=diff
==============================================================================
--- maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/SiteRenderingContext.java (original)
+++ maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/SiteRenderingContext.java Mon Feb  8 00:02:32 2016
@@ -28,6 +28,7 @@ import java.util.Locale;
 import java.util.Map;
 
 import org.apache.maven.doxia.site.decoration.DecorationModel;
+import org.apache.maven.doxia.site.skin.SkinModel;
 import org.codehaus.plexus.util.ReaderFactory;
 import org.codehaus.plexus.util.WriterFactory;
 
@@ -59,6 +60,8 @@ public class SiteRenderingContext
 
     private File skinJarFile;
 
+    private SkinModel skinModel;
+
     private boolean usingDefaultTemplate;
 
     private List<File> siteDirectories = new ArrayList<File>();
@@ -248,6 +251,26 @@ public class SiteRenderingContext
     }
 
     /**
+     * <p>Getter for the field <code>skinModel</code>.</p>
+     *
+     * @return a {@link SkinModel} object.
+     */
+    public SkinModel getSkinModel()
+    {
+        return skinModel;
+    }
+
+    /**
+     * <p>Setter for the field <code>skinModel</code>.</p>
+     *
+     * @param skinModel a {@link SkinModel} object.
+     */
+    public void setSkinModel( SkinModel skinModel )
+    {
+        this.skinModel = skinModel;
+    }
+
+    /**
      * <p>Setter for the field <code>templateName</code>.</p>
      *
      * @param templateName a {@link java.lang.String} object.

Modified: maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/site/apt/index.apt.vm
URL: http://svn.apache.org/viewvc/maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/site/apt/index.apt.vm?rev=1729055&r1=1729054&r2=1729055&view=diff
==============================================================================
--- maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/site/apt/index.apt.vm (original)
+++ maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/site/apt/index.apt.vm Mon Feb  8 00:02:32 2016
@@ -42,7 +42,7 @@ Doxia Site Tools - Site Renderer
 * Doxia Site Skins
 
   A default site decoration is included (see <<<default-site.vm>>>), but other decorations can be used at will, either
-  as a standalone template or packaged in a <<skin>> artifact (containing a <<<META-INF/maven/site.vm>>> template).
+  as a standalone template or packaged in a {{{../doxia-skin-descriptor}<<skin>> artifact}}.
 
   Maven team provides {{{/skins/}a collection of skins}} for projects use.
 

Modified: maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/test/java/org/apache/maven/doxia/siterenderer/DefaultSiteRendererTest.java
URL: http://svn.apache.org/viewvc/maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/test/java/org/apache/maven/doxia/siterenderer/DefaultSiteRendererTest.java?rev=1729055&r1=1729054&r2=1729055&view=diff
==============================================================================
--- maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/test/java/org/apache/maven/doxia/siterenderer/DefaultSiteRendererTest.java (original)
+++ maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/test/java/org/apache/maven/doxia/siterenderer/DefaultSiteRendererTest.java Mon Feb  8 00:02:32 2016
@@ -280,6 +280,14 @@ public class DefaultSiteRendererTest
         assertEquals( expectedResult, renderResult );
     }
 
+    public void testMatchVersion()
+        throws Exception
+    {
+        DefaultSiteRenderer r = (DefaultSiteRenderer) renderer;
+        assertTrue( r.matchVersion( "1.7", "1.7" ) );
+        assertFalse( r.matchVersion( "1.7", "1.8" ) );
+    }
+
     private SiteRenderingContext getSiteRenderingContext( DecorationModel decoration, String siteDir, boolean validate )
     {
         SiteRenderingContext ctxt = new SiteRenderingContext();

Propchange: maven/doxia/doxia-sitetools/trunk/doxia-skin-model/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Mon Feb  8 00:02:32 2016
@@ -0,0 +1,10 @@
+target
+.classpath
+.project
+maven-doxia-tools.iml
+maven-doxia-tools.ipr
+maven-doxia-tools.iws
+.settings
+bin
+*.iml
+.idea

Added: maven/doxia/doxia-sitetools/trunk/doxia-skin-model/pom.xml
URL: http://svn.apache.org/viewvc/maven/doxia/doxia-sitetools/trunk/doxia-skin-model/pom.xml?rev=1729055&view=auto
==============================================================================
--- maven/doxia/doxia-sitetools/trunk/doxia-skin-model/pom.xml (added)
+++ maven/doxia/doxia-sitetools/trunk/doxia-skin-model/pom.xml Mon Feb  8 00:02:32 2016
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
+  <parent>
+    <groupId>org.apache.maven.doxia</groupId>
+    <artifactId>doxia-sitetools</artifactId>
+    <version>1.7-SNAPSHOT</version>
+    <relativePath>../pom.xml</relativePath>
+  </parent>
+
+  <artifactId>doxia-skin-model</artifactId>
+
+  <name>Doxia :: Skin Model</name>
+  <description>The Skin Model defines meta-data for Doxia Site Tools skins.</description>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.codehaus.plexus</groupId>
+      <artifactId>plexus-utils</artifactId>
+    </dependency>
+  </dependencies>
+
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.codehaus.modello</groupId>
+        <artifactId>modello-maven-plugin</artifactId>
+        <configuration>
+          <models>
+            <model>src/main/mdo/skin.mdo</model>
+          </models>
+          <!-- TODO Do not forget to update the version in the decoration description. See DOXIASITETOOLS-98. -->
+          <version>1.7.0</version>
+          <firstVersion>1.0.0</firstVersion>
+        </configuration>
+        <executions>
+          <execution>
+            <id>descriptor</id>
+            <phase>generate-sources</phase>
+            <goals>
+              <goal>java</goal>
+              <goal>xpp3-reader</goal>
+              <goal>xsd</goal>
+            </goals>
+          </execution>
+          <execution>
+            <id>descriptor-xdoc</id>
+            <phase>pre-site</phase>
+            <goals>
+              <goal>xdoc</goal>
+            </goals>
+          </execution>
+          <execution>
+            <id>descriptor-xsd</id>
+            <phase>pre-site</phase>
+            <goals>
+              <goal>xsd</goal>
+            </goals>
+            <configuration>
+              <outputDirectory>${project.build.directory}/generated-site/resources/xsd</outputDirectory>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+</project>

Propchange: maven/doxia/doxia-sitetools/trunk/doxia-skin-model/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/doxia/doxia-sitetools/trunk/doxia-skin-model/pom.xml
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Propchange: maven/doxia/doxia-sitetools/trunk/doxia-skin-model/pom.xml
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: maven/doxia/doxia-sitetools/trunk/doxia-skin-model/src/main/mdo/skin.mdo
URL: http://svn.apache.org/viewvc/maven/doxia/doxia-sitetools/trunk/doxia-skin-model/src/main/mdo/skin.mdo?rev=1729055&view=auto
==============================================================================
--- maven/doxia/doxia-sitetools/trunk/doxia-skin-model/src/main/mdo/skin.mdo (added)
+++ maven/doxia/doxia-sitetools/trunk/doxia-skin-model/src/main/mdo/skin.mdo Mon Feb  8 00:02:32 2016
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<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/SKIN/${version}"
+  xml.schemaLocation="http://maven.apache.org/xsd/skin-${version}.xsd">
+  <id>skin</id>
+  <name>Skin</name>
+  <description><![CDATA[
+    <p>This is a reference for the skin descriptor used in Doxia Site Tools, stored as <code>META-INF/maven/skin.xml</code>.</p>
+    <p>An XSD is available at:</p>
+    <ul>
+      <!-- There is no property filtering in Modello, this has to be updated manually. See DOXIASITETOOLS-98. -->
+      <li><a href="http://maven.apache.org/xsd/skin-1.7.0.xsd">http://maven.apache.org/xsd/skin-1.7.0.xsd</a></li>
+    </ul>
+    ]]></description>
+
+  <defaults>
+    <default>
+      <key>package</key>
+      <value>org.apache.maven.doxia.site.skin</value>
+    </default>
+  </defaults>
+
+  <classes>
+    <class rootElement="true" xml.tagName="skin" java.clone="deep">
+      <name>SkinModel</name>
+      <description><![CDATA[
+         The <code>&lt;skin&gt;</code> element is the root of the skin descriptor.
+      ]]></description>
+      <version>1.0.0+</version>
+      <fields>
+        <!-- ====================================================================== -->
+        <!-- Build prerequisites                                                    -->
+        <!-- ====================================================================== -->
+
+        <field xdoc.separator="blank">
+          <name>prerequisites</name>
+          <version>1.7.0+</version>
+          <description>Describes the prerequisites in the build environment for using this skin.</description>
+          <association>
+            <type>Prerequisites</type>
+          </association>
+        </field>
+      </fields>
+      <codeSegments>
+        <codeSegment>
+          <version>1.7.0+</version>
+          <code>
+            <![CDATA[
+    public static final String SKIN_DESCRIPTOR_LOCATION = "META-INF/maven/skin.xml";
+            ]]>
+          </code>
+        </codeSegment>
+      </codeSegments>
+    </class>
+    <class java.clone="deep">
+      <name>Prerequisites</name>
+      <version>1.7.0+</version>
+      <description>Describes the prerequisites a skin can have.</description>
+      <fields>
+        <field xml.tagName="doxia-site-tools">
+          <name>doxiaSiteTools</name>
+          <version>1.7.0+</version>
+          <type>String</type>
+          <defaultValue>1.7.0</defaultValue>
+          <description><![CDATA[
+            The minimum version of Doxia Site Tools required to use the resulting skin.
+            ]]>
+          </description>
+          <required>false</required>
+        </field>
+      </fields>
+    </class>
+  </classes>
+</model>

Propchange: maven/doxia/doxia-sitetools/trunk/doxia-skin-model/src/main/mdo/skin.mdo
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/doxia/doxia-sitetools/trunk/doxia-skin-model/src/main/mdo/skin.mdo
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Added: maven/doxia/doxia-sitetools/trunk/doxia-skin-model/src/site/apt/index.apt
URL: http://svn.apache.org/viewvc/maven/doxia/doxia-sitetools/trunk/doxia-skin-model/src/site/apt/index.apt?rev=1729055&view=auto
==============================================================================
--- maven/doxia/doxia-sitetools/trunk/doxia-skin-model/src/site/apt/index.apt (added)
+++ maven/doxia/doxia-sitetools/trunk/doxia-skin-model/src/site/apt/index.apt Mon Feb  8 00:02:32 2016
@@ -0,0 +1,54 @@
+ -----
+ Doxia Site Tools Skin Model
+ -----
+ Hervé Boutemy
+ -----
+ 2016-02-07
+ -----
+
+ ~~ Licensed to the Apache Software Foundation (ASF) under one
+ ~~ or more contributor license agreements.  See the NOTICE file
+ ~~ distributed with this work for additional information
+ ~~ regarding copyright ownership.  The ASF licenses this file
+ ~~ to you under the Apache License, Version 2.0 (the
+ ~~ "License"); you may not use this file except in compliance
+ ~~ with the License.  You may obtain a copy of the License at
+ ~~
+ ~~   http://www.apache.org/licenses/LICENSE-2.0
+ ~~
+ ~~ Unless required by applicable law or agreed to in writing,
+ ~~ software distributed under the License is distributed on an
+ ~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ~~ KIND, either express or implied.  See the License for the
+ ~~ specific language governing permissions and limitations
+ ~~ under the License.
+
+ ~~ NOTE: For help with the syntax of this file, see:
+ ~~ http://maven.apache.org/doxia/references/apt-format.html
+
+Doxia Site Tools Skin Model
+
+ This is strictly the model for Doxia Site Tools Skin Model, used in skins in <<<META-INF/maven/skin.xml>>>.
+
+ The following are generated from this model:
+
+   * {{{./apidocs/index.html}Java sources}} with Reader for the Xpp3 XML parser
+
+   * A {{{./skin.html}Descriptor Reference}}
+
+   * An XSD referenced in the {{{./skin.html}Descriptor Reference}}.
+
+* Doxia Site Tools Skin
+
+  A Doxia Site Tools skin must contain a Velocity template named <<<META-INF/maven/site.vm>>>: it will be called
+  by {{{../doxia-site-renderer/index.html}Doxia Site Tools - Site Renderer}} with additional variables about the
+  rendered document as documented {{{../doxia-site-renderer/index.html#Site_Template}Site Template section}},
+  the main variable being <<<bodyContent>>>.
+
+  Maven team provides {{{/skins/}a collection of skins}} for projects use.
+
+  Some documentation is available on {{{/plugins/maven-site-plugin/examples/creatingskins.html}how to create a new skin}},
+  by copying other skins to benefit from examples of breadcrumbs or menu generation from
+  {{{../doxia-decoration-model/index.html}decoration model}}.
+
+  Since Doxia Site Tools 1.7, a skin descriptor can be added in <<<META-INF/maven/skin.xml>>>.

Propchange: maven/doxia/doxia-sitetools/trunk/doxia-skin-model/src/site/apt/index.apt
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/doxia/doxia-sitetools/trunk/doxia-skin-model/src/site/apt/index.apt
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Added: maven/doxia/doxia-sitetools/trunk/doxia-skin-model/src/site/site.xml
URL: http://svn.apache.org/viewvc/maven/doxia/doxia-sitetools/trunk/doxia-skin-model/src/site/site.xml?rev=1729055&view=auto
==============================================================================
--- maven/doxia/doxia-sitetools/trunk/doxia-skin-model/src/site/site.xml (added)
+++ maven/doxia/doxia-sitetools/trunk/doxia-skin-model/src/site/site.xml Mon Feb  8 00:02:32 2016
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+ -->
+
+<project name="Decoration Model" xmlns="http://maven.apache.org/DECORATION/1.0.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">
+
+  <body>
+
+    <menu ref="parent"/>
+
+    <menu name="Overview">
+      <item name="Introduction" href="index.html"/>
+      <item name="Skin Model Reference" href="skin.html"/>
+      <item name="JavaDocs" href="apidocs/index.html"/>
+      <item name="Source Xref" href="xref/index.html"/>
+      <!--item name="FAQ" href="faq.html"/-->
+    </menu>
+
+    <menu ref="reports"/>
+
+  </body>
+
+</project>

Propchange: maven/doxia/doxia-sitetools/trunk/doxia-skin-model/src/site/site.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/doxia/doxia-sitetools/trunk/doxia-skin-model/src/site/site.xml
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Propchange: maven/doxia/doxia-sitetools/trunk/doxia-skin-model/src/site/site.xml
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: maven/doxia/doxia-sitetools/trunk/pom.xml
URL: http://svn.apache.org/viewvc/maven/doxia/doxia-sitetools/trunk/pom.xml?rev=1729055&r1=1729054&r2=1729055&view=diff
==============================================================================
--- maven/doxia/doxia-sitetools/trunk/pom.xml (original)
+++ maven/doxia/doxia-sitetools/trunk/pom.xml Mon Feb  8 00:02:32 2016
@@ -45,9 +45,10 @@ under the License.
 
   <modules>
     <module>doxia-decoration-model</module>
-    <module>doxia-doc-renderer</module>
+    <module>doxia-skin-model</module>
     <module>doxia-integration-tools</module>
     <module>doxia-site-renderer</module>
+    <module>doxia-doc-renderer</module>
   </modules>
 
   <scm>
@@ -133,6 +134,11 @@ under the License.
         <artifactId>doxia-decoration-model</artifactId>
         <version>${project.version}</version>
       </dependency>
+      <dependency>
+        <groupId>org.apache.maven.doxia</groupId>
+        <artifactId>doxia-skin-model</artifactId>
+        <version>${project.version}</version>
+      </dependency>
       <!-- Plexus -->
       <dependency>
         <groupId>org.codehaus.plexus</groupId>

Modified: maven/doxia/doxia-sitetools/trunk/src/site/resources/images/doxia-sitetools-deps.png
URL: http://svn.apache.org/viewvc/maven/doxia/doxia-sitetools/trunk/src/site/resources/images/doxia-sitetools-deps.png?rev=1729055&r1=1729054&r2=1729055&view=diff
==============================================================================
Binary files - no diff available.

Modified: maven/doxia/doxia-sitetools/trunk/src/site/xdoc/doxia-sitetools-deps.odg
URL: http://svn.apache.org/viewvc/maven/doxia/doxia-sitetools/trunk/src/site/xdoc/doxia-sitetools-deps.odg?rev=1729055&r1=1729054&r2=1729055&view=diff
==============================================================================
Binary files - no diff available.

Modified: maven/doxia/doxia-sitetools/trunk/src/site/xdoc/index.xml
URL: http://svn.apache.org/viewvc/maven/doxia/doxia-sitetools/trunk/src/site/xdoc/index.xml?rev=1729055&r1=1729054&r2=1729055&view=diff
==============================================================================
--- maven/doxia/doxia-sitetools/trunk/src/site/xdoc/index.xml (original)
+++ maven/doxia/doxia-sitetools/trunk/src/site/xdoc/index.xml Mon Feb  8 00:02:32 2016
@@ -39,16 +39,17 @@
       <p>
         <img src="images/doxia-sitetools-deps.png" width="599" height="250" border="0" usemap="#Doxia_sitetools_dependencies" alt="Doxia Sitetools Dependencies"/>
         <map name="Doxia_sitetools_dependencies" id="Doxia_sitetools_dependencies">
-          <area shape="rect" coords="0,0,160,34"      href="doxia-integration-tools/"   alt="Doxia Integration Tools"/>
-          <area shape="rect" coords="166,0,306,34"    href="doxia-site-renderer/"       alt="Doxia Site Renderer"/>
-          <area shape="rect" coords="66,76,231,110"   href="doxia-decoration-model/"    alt="Doxia Decoration Model"/>
-          <area shape="rect" coords="392,0,529,34"    href="doxia-doc-renderer/"        alt="Doxia Document Renderer"/>
-          <area shape="rect" coords="267,76,423,111"  href="http://codehaus-plexus.github.io/plexus-velocity/" alt="Plexus Velocity"/>
-          <area shape="rect" coords="297,133,393,168" href="http://velocity.apache.org" alt="Velocity"/>
-          <area shape="rect" coords="166,182,306,217" href="/doxia/doxia/doxia-modules/doxia-module-xhtml/" alt="Doxia Module XHTML"/>
-          <area shape="rect" coords="339,183,453,217" href="/doxia/doxia/doxia-modules/doxia-module-fo/"    alt="Doxia Module FO"/>
-          <area shape="rect" coords="456,183,590,217" href="/doxia/doxia/doxia-modules/doxia-module-itext/" alt="Doxia Module iText"/>
-          <area shape="rect" coords="158,178,598,249" href="/doxia/doxia/doxia-modules/" alt="Doxia Modules"/>
+          <area shape="rect" coords="0,0,160,34"      href="doxia-integration-tools/index.html"   alt="Doxia Integration Tools"/>
+          <area shape="rect" coords="166,0,306,34"    href="doxia-site-renderer/index.html"       alt="Doxia Site Renderer"/>
+          <area shape="rect" coords="0,77,164,111"    href="doxia-decoration-model/index.html"    alt="Doxia Decoration Model"/>
+          <area shape="rect" coords="115,121,231,154" href="doxia-skin-model/index.html"          alt="Doxia Skin Model"/>
+          <area shape="rect" coords="392,0,529,34"    href="doxia-doc-renderer/index.html"        alt="Doxia Document Renderer"/>
+          <area shape="rect" coords="267,76,423,111"  href="http://codehaus-plexus.github.io/plexus-velocity/"        alt="Plexus Velocity"/>
+          <area shape="rect" coords="297,133,393,168" href="http://velocity.apache.org"           alt="Velocity"/>
+          <area shape="rect" coords="166,182,306,217" href="/doxia/doxia/doxia-modules/doxia-module-xhtml/index.html" alt="Doxia Module XHTML"/>
+          <area shape="rect" coords="339,183,453,217" href="/doxia/doxia/doxia-modules/doxia-module-fo/index.html"    alt="Doxia Module FO"/>
+          <area shape="rect" coords="456,183,590,217" href="/doxia/doxia/doxia-modules/doxia-module-itext/index.html" alt="Doxia Module iText"/>
+          <area shape="rect" coords="158,178,598,249" href="/doxia/doxia/doxia-modules/index.html" alt="Doxia Modules"/>
         </map>
       </p>