You are viewing a plain text version of this content. The canonical link for it is here.
Posted to doxia-commits@maven.apache.org by jv...@apache.org on 2007/03/18 06:12:28 UTC

svn commit: r519557 - in /maven/doxia/trunk: ./ doxia-decoration-model/ doxia-doc-renderer/ doxia-site-renderer/ doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/ doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterendere...

Author: jvanzyl
Date: Sat Mar 17 22:12:27 2007
New Revision: 519557

URL: http://svn.apache.org/viewvc?view=rev&rev=519557
Log: (empty)

Modified:
    maven/doxia/trunk/doxia-decoration-model/pom.xml
    maven/doxia/trunk/doxia-doc-renderer/pom.xml
    maven/doxia/trunk/doxia-site-renderer/pom.xml
    maven/doxia/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java
    maven/doxia/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/sink/SiteRendererSink.java
    maven/doxia/trunk/doxia-site-renderer/src/test/java/org/apache/maven/doxia/siterenderer/DefaultSiteRendererTest.java
    maven/doxia/trunk/doxia-site-renderer/src/test/site/xdoc/macro.xml
    maven/doxia/trunk/pom.xml

Modified: maven/doxia/trunk/doxia-decoration-model/pom.xml
URL: http://svn.apache.org/viewvc/maven/doxia/trunk/doxia-decoration-model/pom.xml?view=diff&rev=519557&r1=519556&r2=519557
==============================================================================
--- maven/doxia/trunk/doxia-decoration-model/pom.xml (original)
+++ maven/doxia/trunk/doxia-decoration-model/pom.xml Sat Mar 17 22:12:27 2007
@@ -66,15 +66,8 @@
   </build>
   <dependencies>
     <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <version>3.8.1</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
       <groupId>org.codehaus.plexus</groupId>
       <artifactId>plexus-utils</artifactId>
-      <version>1.0.4</version>
     </dependency>
   </dependencies>
 </project>

Modified: maven/doxia/trunk/doxia-doc-renderer/pom.xml
URL: http://svn.apache.org/viewvc/maven/doxia/trunk/doxia-doc-renderer/pom.xml?view=diff&rev=519557&r1=519556&r2=519557
==============================================================================
--- maven/doxia/trunk/doxia-doc-renderer/pom.xml (original)
+++ maven/doxia/trunk/doxia-doc-renderer/pom.xml Sat Mar 17 22:12:27 2007
@@ -72,13 +72,11 @@
     <dependency>
       <groupId>org.apache.maven.doxia</groupId>
       <artifactId>doxia-module-itext</artifactId>
-      <version>1.0-SNAPSHOT</version>
+      <version>${projectVersion}</version>
     </dependency>
-    <!--  plexus-container-default uses 1.0.4 -->
     <dependency>
       <groupId>org.codehaus.plexus</groupId>
       <artifactId>plexus-utils</artifactId>
-      <version>1.2</version>
     </dependency>
     <dependency>
       <groupId>xalan</groupId>

Modified: maven/doxia/trunk/doxia-site-renderer/pom.xml
URL: http://svn.apache.org/viewvc/maven/doxia/trunk/doxia-site-renderer/pom.xml?view=diff&rev=519557&r1=519556&r2=519557
==============================================================================
--- maven/doxia/trunk/doxia-site-renderer/pom.xml (original)
+++ maven/doxia/trunk/doxia-site-renderer/pom.xml Sat Mar 17 22:12:27 2007
@@ -43,7 +43,10 @@
     <dependency>
       <groupId>org.apache.maven.doxia</groupId>
       <artifactId>doxia-core</artifactId>
-      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.doxia</groupId>
+      <artifactId>doxia-sink-api</artifactId>
     </dependency>
     <dependency>
       <groupId>org.codehaus.plexus</groupId>
@@ -53,18 +56,39 @@
     <dependency>
       <groupId>org.codehaus.plexus</groupId>
       <artifactId>plexus-velocity</artifactId>
-      <version>1.1.3</version>
+      <version>1.1.5</version>
     </dependency>
     <dependency>
       <groupId>org.apache.maven.doxia</groupId>
       <artifactId>doxia-decoration-model</artifactId>
-      <version>1.0-alpha-8</version>
     </dependency>
     <dependency>
       <groupId>htmlunit</groupId>
       <artifactId>htmlunit</artifactId>
       <version>1.9</version>
       <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>commons-collections</groupId>
+      <artifactId>commons-collections</artifactId>
+      <version>3.2</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.doxia</groupId>
+      <artifactId>doxia-module-xhtml</artifactId>
+      <version>${projectVersion}</version>
+    </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>
+      <groupId>org.apache.maven.doxia</groupId>
+      <artifactId>doxia-module-apt</artifactId>
+      <version>${projectVersion}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.doxia</groupId>
+      <artifactId>doxia-module-xdoc</artifactId>
+      <version>${projectVersion}</version>
     </dependency>
   </dependencies>
 </project>

Modified: maven/doxia/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java
URL: http://svn.apache.org/viewvc/maven/doxia/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java?view=diff&rev=519557&r1=519556&r2=519557
==============================================================================
--- maven/doxia/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java (original)
+++ maven/doxia/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java Sat Mar 17 22:12:27 2007
@@ -19,6 +19,29 @@
  * under the License.
  */
 
+import org.apache.maven.doxia.Doxia;
+import org.apache.maven.doxia.module.xhtml.decoration.render.RenderingContext;
+import org.apache.maven.doxia.parser.ParseException;
+import org.apache.maven.doxia.parser.manager.ParserNotFoundException;
+import org.apache.maven.doxia.site.decoration.DecorationModel;
+import org.apache.maven.doxia.site.module.SiteModule;
+import org.apache.maven.doxia.site.module.manager.SiteModuleManager;
+import org.apache.maven.doxia.site.module.manager.SiteModuleNotFoundException;
+import org.apache.maven.doxia.siterenderer.sink.SiteRendererSink;
+import org.apache.velocity.Template;
+import org.apache.velocity.VelocityContext;
+import org.apache.velocity.context.Context;
+import org.codehaus.plexus.i18n.I18N;
+import org.codehaus.plexus.logging.AbstractLogEnabled;
+import org.codehaus.plexus.util.DirectoryScanner;
+import org.codehaus.plexus.util.FileUtils;
+import org.codehaus.plexus.util.IOUtil;
+import org.codehaus.plexus.util.Os;
+import org.codehaus.plexus.util.PathTool;
+import org.codehaus.plexus.util.StringUtils;
+import org.codehaus.plexus.velocity.VelocityComponent;
+import org.codehaus.plexus.velocity.SiteResourceLoader;
+
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.FileNotFoundException;
@@ -31,6 +54,8 @@
 import java.io.Reader;
 import java.io.UnsupportedEncodingException;
 import java.io.Writer;
+import java.io.StringWriter;
+import java.io.StringReader;
 import java.net.MalformedURLException;
 import java.net.URL;
 import java.net.URLClassLoader;
@@ -47,33 +72,11 @@
 import java.util.zip.ZipEntry;
 import java.util.zip.ZipFile;
 
-import org.apache.maven.doxia.Doxia;
-import org.apache.maven.doxia.module.xhtml.decoration.render.RenderingContext;
-import org.apache.maven.doxia.parser.ParseException;
-import org.apache.maven.doxia.parser.manager.ParserNotFoundException;
-import org.apache.maven.doxia.site.decoration.DecorationModel;
-import org.apache.maven.doxia.site.module.SiteModule;
-import org.apache.maven.doxia.site.module.manager.SiteModuleManager;
-import org.apache.maven.doxia.site.module.manager.SiteModuleNotFoundException;
-import org.apache.maven.doxia.siterenderer.sink.SiteRendererSink;
-import org.apache.velocity.Template;
-import org.apache.velocity.VelocityContext;
-import org.apache.velocity.context.Context;
-import org.codehaus.plexus.i18n.I18N;
-import org.codehaus.plexus.logging.AbstractLogEnabled;
-import org.codehaus.plexus.util.DirectoryScanner;
-import org.codehaus.plexus.util.FileUtils;
-import org.codehaus.plexus.util.IOUtil;
-import org.codehaus.plexus.util.Os;
-import org.codehaus.plexus.util.PathTool;
-import org.codehaus.plexus.util.StringUtils;
-import org.codehaus.plexus.velocity.VelocityComponent;
-
 /**
  * @author <a href="mailto:evenisse@codehaus.org">Emmanuel Venisse</a>
  * @author <a href="mailto:vincent.siveton@gmail.com">Vincent Siveton</a>
  * @version $Id:DefaultSiteRenderer.java 348612 2005-11-24 12:54:19 +1100 (Thu, 24 Nov 2005) brett $
- * @plexus.component role="org.apache.maven.doxia.siterenderer.Renderer"
+ * @plexus.component role-hint="default"
  */
 public class DefaultSiteRenderer
     extends AbstractLogEnabled
@@ -83,24 +86,16 @@
     // Requirements
     // ----------------------------------------------------------------------
 
-    /**
-     * @plexus.requirement
-     */
+    /** @plexus.requirement */
     private VelocityComponent velocity;
 
-    /**
-     * @plexus.requirement
-     */
+    /** @plexus.requirement */
     private SiteModuleManager siteModuleManager;
 
-    /**
-     * @plexus.requirement
-     */
+    /** @plexus.requirement */
     private Doxia doxia;
 
-    /**
-     * @plexus.requirement
-     */
+    /** @plexus.requirement */
     private I18N i18n;
 
     private static final String RESOURCE_DIR = "org/apache/maven/doxia/siterenderer/resources";
@@ -113,7 +108,9 @@
     // Renderer implementation
     // ----------------------------------------------------------------------
 
-    public void render( Collection documents, SiteRenderingContext siteRenderingContext, File outputDirectory )
+    public void render( Collection documents,
+                        SiteRenderingContext siteRenderingContext,
+                        File outputDirectory )
         throws RendererException, IOException
     {
         renderModule( documents, siteRenderingContext, outputDirectory );
@@ -180,7 +177,10 @@
         return files;
     }
 
-    private void addModuleFiles( File moduleBasedir, SiteModule module, String excludes, Map files )
+    private void addModuleFiles( File moduleBasedir,
+                                 SiteModule module,
+                                 String excludes,
+                                 Map files )
         throws IOException, RendererException
     {
         if ( moduleBasedir.exists() )
@@ -215,8 +215,8 @@
                         File originalDoc = new File( originalContext.getBasedir(), originalContext.getInputName() );
                         if ( Os.isFamily( "windows" ) )
                         {
-                            throw new RendererException( "Files '" + doc + "' clashes with existing '" + originalDoc
-                                + "'." );
+                            throw new RendererException(
+                                "Files '" + doc + "' clashes with existing '" + originalDoc + "'." );
                         }
 
                         getLogger().warn( "Files '" + doc + "' could clashes with existing '" + originalDoc + "'." );
@@ -228,7 +228,9 @@
         }
     }
 
-    private void renderModule( Collection docs, SiteRenderingContext siteRenderingContext, File outputDirectory )
+    private void renderModule( Collection docs,
+                               SiteRenderingContext siteRenderingContext,
+                               File outputDirectory )
         throws IOException, RendererException
     {
         for ( Iterator i = docs.iterator(); i.hasNext(); )
@@ -255,6 +257,7 @@
                 }
 
                 getLogger().debug( "Generating " + outputFile );
+
                 OutputStreamWriter writer = new OutputStreamWriter( new FileOutputStream( outputFile ),
                                                                     siteRenderingContext.getOutputEncoding() );
 
@@ -274,7 +277,9 @@
         }
     }
 
-    public void renderDocument( Writer writer, RenderingContext renderingContext, SiteRenderingContext context )
+    public void renderDocument( Writer writer,
+                                RenderingContext renderingContext,
+                                SiteRenderingContext context )
         throws RendererException, FileNotFoundException, UnsupportedEncodingException
     {
         SiteRendererSink sink = new SiteRendererSink( renderingContext );
@@ -283,7 +288,36 @@
 
         try
         {
-            Reader reader = new InputStreamReader( new FileInputStream( fullPathDoc ), context.getInputEncoding() );
+            Reader reader;
+
+            String resource = new File( fullPathDoc ).getAbsolutePath();
+
+            try
+            {
+                SiteResourceLoader.setResource( resource );
+
+                Context vc = createContext( sink, context );
+
+                StringWriter sw = new StringWriter();
+
+                velocity.getEngine().mergeTemplate( resource, vc, sw );
+
+                reader = new StringReader( sw.toString() );
+            }
+            catch ( Exception e )
+            {
+                if ( getLogger().isDebugEnabled() )
+                {
+                    getLogger().error( "Error parsing " + resource + " as a velocity template, using as text.", e );
+                }
+                else
+                {
+                    getLogger().error( "Error parsing " + resource + " as a velocity template, using as text." );
+                }
+
+
+                reader = new InputStreamReader( new FileInputStream( fullPathDoc ), context.getInputEncoding() );
+            }
 
             doxia.parse( reader, renderingContext.getParserId(), sink );
 
@@ -306,8 +340,8 @@
         }
     }
 
-    public void generateDocument( Writer writer, SiteRendererSink sink, SiteRenderingContext siteRenderingContext )
-        throws RendererException
+    private Context createContext( SiteRendererSink sink,
+                                   SiteRenderingContext siteRenderingContext )
     {
         VelocityContext context = new VelocityContext();
 
@@ -357,6 +391,7 @@
 
         // Add user properties
         Map templateProperties = siteRenderingContext.getTemplateProperties();
+
         if ( templateProperties != null )
         {
             for ( Iterator i = templateProperties.keySet().iterator(); i.hasNext(); )
@@ -379,14 +414,22 @@
 
         context.put( "i18n", i18n );
 
-        // ----------------------------------------------------------------------
-        //
-        // ----------------------------------------------------------------------
+        return context;
+    }
+
+    public void generateDocument( Writer writer,
+                                  SiteRendererSink sink,
+                                  SiteRenderingContext siteRenderingContext )
+        throws RendererException
+    {
+        Context context = createContext( sink, siteRenderingContext );
 
         writeTemplate( writer, context, siteRenderingContext );
     }
 
-    private void writeTemplate( Writer writer, Context context, SiteRenderingContext siteContext )
+    private void writeTemplate( Writer writer,
+                                Context context,
+                                SiteRenderingContext siteContext )
         throws RendererException
     {
         ClassLoader old = null;
@@ -417,10 +460,10 @@
         }
     }
 
-    /**
-     * @noinspection OverlyBroadCatchBlock,UnusedCatchParameter
-     */
-    private void processTemplate( String templateName, Context context, Writer writer )
+    /** @noinspection OverlyBroadCatchBlock,UnusedCatchParameter */
+    private void processTemplate( String templateName,
+                                  Context context,
+                                  Writer writer )
         throws RendererException
     {
         Template template;
@@ -444,8 +487,11 @@
         }
     }
 
-    public SiteRenderingContext createContextForSkin( File skinFile, Map attributes, DecorationModel decoration,
-                                                      String defaultWindowTitle, Locale locale )
+    public SiteRenderingContext createContextForSkin( File skinFile,
+                                                      Map attributes,
+                                                      DecorationModel decoration,
+                                                      String defaultWindowTitle,
+                                                      Locale locale )
         throws IOException
     {
         SiteRenderingContext context = new SiteRenderingContext();
@@ -457,7 +503,7 @@
             if ( zipFile.getEntry( SKIN_TEMPLATE_LOCATION ) != null )
             {
                 context.setTemplateName( SKIN_TEMPLATE_LOCATION );
-                context.setTemplateClassLoader( new URLClassLoader( new URL[] { skinFile.toURL() } ) );
+                context.setTemplateClassLoader( new URLClassLoader( new URL[]{skinFile.toURL()} ) );
             }
             else
             {
@@ -480,15 +526,18 @@
         return context;
     }
 
-    public SiteRenderingContext createContextForTemplate( File templateFile, File skinFile, Map attributes,
-                                                          DecorationModel decoration, String defaultWindowTitle,
+    public SiteRenderingContext createContextForTemplate( File templateFile,
+                                                          File skinFile,
+                                                          Map attributes,
+                                                          DecorationModel decoration,
+                                                          String defaultWindowTitle,
                                                           Locale locale )
         throws MalformedURLException
     {
         SiteRenderingContext context = new SiteRenderingContext();
 
         context.setTemplateName( templateFile.getName() );
-        context.setTemplateClassLoader( new URLClassLoader( new URL[] { templateFile.getParentFile().toURL() } ) );
+        context.setTemplateClassLoader( new URLClassLoader( new URL[]{templateFile.getParentFile().toURL()} ) );
 
         context.setTemplateProperties( attributes );
         context.setLocale( locale );
@@ -512,7 +561,9 @@
         }
     }
 
-    public void copyResources( SiteRenderingContext siteContext, File resourcesDirectory, File outputDirectory )
+    public void copyResources( SiteRenderingContext siteContext,
+                               File resourcesDirectory,
+                               File outputDirectory )
         throws IOException
     {
         if ( siteContext.getSkinJarFile() != null )
@@ -595,7 +646,9 @@
 
     }
 
-    private void copyFileFromZip( ZipFile file, ZipEntry entry, File destFile )
+    private void copyFileFromZip( ZipFile file,
+                                  ZipEntry entry,
+                                  File destFile )
         throws IOException
     {
         FileOutputStream fos = new FileOutputStream( destFile );
@@ -617,14 +670,15 @@
      * @param destination destination file
      * @throws java.io.IOException if any
      */
-    protected void copyDirectory( File source, File destination )
+    protected void copyDirectory( File source,
+                                  File destination )
         throws IOException
     {
         if ( source.exists() )
         {
             DirectoryScanner scanner = new DirectoryScanner();
 
-            String[] includedResources = { "**/**" };
+            String[] includedResources = {"**/**"};
 
             scanner.setIncludes( includedResources );
 

Modified: maven/doxia/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/sink/SiteRendererSink.java
URL: http://svn.apache.org/viewvc/maven/doxia/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/sink/SiteRendererSink.java?view=diff&rev=519557&r1=519556&r2=519557
==============================================================================
--- maven/doxia/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/sink/SiteRendererSink.java (original)
+++ maven/doxia/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/sink/SiteRendererSink.java Sat Mar 17 22:12:27 2007
@@ -21,6 +21,7 @@
 
 import org.apache.maven.doxia.module.xhtml.XhtmlSink;
 import org.apache.maven.doxia.module.xhtml.decoration.render.RenderingContext;
+import org.apache.velocity.io.VelocityWriter;
 
 import java.io.StringWriter;
 import java.io.Writer;

Modified: maven/doxia/trunk/doxia-site-renderer/src/test/java/org/apache/maven/doxia/siterenderer/DefaultSiteRendererTest.java
URL: http://svn.apache.org/viewvc/maven/doxia/trunk/doxia-site-renderer/src/test/java/org/apache/maven/doxia/siterenderer/DefaultSiteRendererTest.java?view=diff&rev=519557&r1=519556&r2=519557
==============================================================================
--- maven/doxia/trunk/doxia-site-renderer/src/test/java/org/apache/maven/doxia/siterenderer/DefaultSiteRendererTest.java (original)
+++ maven/doxia/trunk/doxia-site-renderer/src/test/java/org/apache/maven/doxia/siterenderer/DefaultSiteRendererTest.java Sat Mar 17 22:12:27 2007
@@ -19,18 +19,6 @@
  * under the License.
  */
 
-import java.io.File;
-import java.io.FileReader;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.apache.maven.doxia.site.decoration.DecorationModel;
-import org.apache.maven.doxia.site.decoration.io.xpp3.DecorationXpp3Reader;
-import org.codehaus.plexus.PlexusTestCase;
-import org.codehaus.plexus.util.FileUtils;
-import org.codehaus.plexus.util.IOUtil;
-
 import com.gargoylesoftware.htmlunit.WebClient;
 import com.gargoylesoftware.htmlunit.html.HtmlAnchor;
 import com.gargoylesoftware.htmlunit.html.HtmlDefinitionDescription;
@@ -45,6 +33,17 @@
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 import com.gargoylesoftware.htmlunit.html.HtmlParagraph;
 import com.gargoylesoftware.htmlunit.html.HtmlUnorderedList;
+import org.apache.maven.doxia.site.decoration.DecorationModel;
+import org.apache.maven.doxia.site.decoration.io.xpp3.DecorationXpp3Reader;
+import org.codehaus.plexus.PlexusTestCase;
+import org.codehaus.plexus.util.FileUtils;
+import org.codehaus.plexus.util.IOUtil;
+
+import java.io.File;
+import java.io.FileReader;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
 
 /**
  * @author <a href="mailto:vincent.siveton@gmail.com">Vincent Siveton</a>
@@ -65,6 +64,7 @@
         throws Exception
     {
         super.setUp();
+        
         renderer = (Renderer) lookup( Renderer.ROLE );
 
         // Safety

Modified: maven/doxia/trunk/doxia-site-renderer/src/test/site/xdoc/macro.xml
URL: http://svn.apache.org/viewvc/maven/doxia/trunk/doxia-site-renderer/src/test/site/xdoc/macro.xml?view=diff&rev=519557&r1=519556&r2=519557
==============================================================================
--- maven/doxia/trunk/doxia-site-renderer/src/test/site/xdoc/macro.xml (original)
+++ maven/doxia/trunk/doxia-site-renderer/src/test/site/xdoc/macro.xml Sat Mar 17 22:12:27 2007
@@ -25,7 +25,7 @@
   </properties>
   <body>
     <section name="section name">
-      <macro name="snippet" id="superpom" url="http://svn.apache.org/repos/asf/maven/components/trunk/maven-project/src/main/resources/org/apache/maven/project/pom-4.0.0.xml"/>
+      <macro name="echo" message="hello!"/>
     </section>
   </body>
 </document>

Modified: maven/doxia/trunk/pom.xml
URL: http://svn.apache.org/viewvc/maven/doxia/trunk/pom.xml?view=diff&rev=519557&r1=519556&r2=519557
==============================================================================
--- maven/doxia/trunk/pom.xml (original)
+++ maven/doxia/trunk/pom.xml Sat Mar 17 22:12:27 2007
@@ -19,7 +19,8 @@
 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/maven-v4_0_0.xsd">
+<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/maven-v4_0_0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <parent>
     <groupId>org.apache.maven</groupId>
@@ -37,6 +38,11 @@
     <system>jira</system>
     <url>http://jira.codehaus.org/browse/DOXIA</url>
   </issueManagement>
+  
+  <properties>
+    <projectVersion>1.0-alpha-9-SNAPSHOT</projectVersion>
+  </properties>
+  
   <mailingLists>
     <mailingList>
       <name>Doxia Developer List</name>
@@ -67,7 +73,7 @@
       <plugin>
         <groupId>org.codehaus.plexus</groupId>
         <artifactId>plexus-maven-plugin</artifactId>
-        <version>1.2</version>
+        <version>1.3.5</version>
         <executions>
           <execution>
             <goals>
@@ -77,7 +83,66 @@
         </executions>
       </plugin>
     </plugins>
+    <pluginManagement>
+      <plugins>
+        <plugin>
+          <artifactId>maven-surefire-plugin</artifactId>
+          <configuration>
+            <forkMode>never</forkMode>
+          </configuration>
+        </plugin>
+      </plugins>
+    </pluginManagement>
   </build>
+  <dependencyManagement>
+    <dependencies>
+      <dependency>
+        <groupId>org.apache.maven.doxia</groupId>
+        <artifactId>doxia-sink-api</artifactId>
+        <version>${projectVersion}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.maven.doxia</groupId>
+        <artifactId>doxia-decoration-model</artifactId>
+        <version>${projectVersion}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.maven.doxia</groupId>
+        <artifactId>doxia-core</artifactId>
+        <version>${projectVersion}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.maven.doxia</groupId>
+        <artifactId>doxia-core</artifactId>
+        <version>${projectVersion}</version>
+        <classifier>tests</classifier>
+      </dependency>
+      <!-- Plexus -->
+      <dependency>
+        <groupId>org.codehaus.plexus</groupId>
+        <artifactId>plexus-container-default</artifactId>
+        <version>1.0-alpha-20</version>
+      </dependency>
+      <dependency>
+        <groupId>org.codehaus.plexus</groupId>
+        <artifactId>plexus-component-api</artifactId>
+        <version>1.0-alpha-20</version>
+      </dependency>
+      <dependency>
+        <groupId>org.codehaus.plexus</groupId>
+        <artifactId>plexus-utils</artifactId>
+        <version>1.4.1</version>
+      </dependency>
+    </dependencies>
+  </dependencyManagement>
+  <dependencies>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>3.8.1</version>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
   <modules>
     <module>doxia-core</module>
     <module>doxia-sink-api</module>