You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by jv...@apache.org on 2009/04/23 01:04:18 UTC

svn commit: r767707 [6/6] - in /maven/components/branches/MNG-2766: ./ apache-maven/ maven-compat/ maven-compat/src/main/java/org/apache/maven/artifact/ maven-compat/src/main/java/org/apache/maven/artifact/manager/ maven-compat/src/main/java/org/apache...

Modified: maven/components/branches/MNG-2766/maven-toolchain/src/main/java/org/apache/maven/toolchain/DefaultToolchainManager.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-2766/maven-toolchain/src/main/java/org/apache/maven/toolchain/DefaultToolchainManager.java?rev=767707&r1=767706&r2=767707&view=diff
==============================================================================
--- maven/components/branches/MNG-2766/maven-toolchain/src/main/java/org/apache/maven/toolchain/DefaultToolchainManager.java (original)
+++ maven/components/branches/MNG-2766/maven-toolchain/src/main/java/org/apache/maven/toolchain/DefaultToolchainManager.java Wed Apr 22 23:04:06 2009
@@ -1,216 +1,102 @@
+package org.apache.maven.toolchain;
+
 /*
- * 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.
+ * 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.
  */
 
-package org.apache.maven.toolchain;
-
-import java.io.BufferedInputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.lang.reflect.Method;
-import java.util.ArrayList;
 import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
 import java.util.Map;
-
 import org.apache.maven.execution.MavenSession;
 import org.apache.maven.plugin.descriptor.PluginDescriptor;
 import org.apache.maven.project.MavenProject;
-import org.apache.maven.toolchain.model.PersistedToolchains;
 import org.apache.maven.toolchain.model.ToolchainModel;
-import org.apache.maven.toolchain.model.io.xpp3.MavenToolchainsXpp3Reader;
-import org.codehaus.plexus.PlexusContainer;
 import org.codehaus.plexus.component.annotations.Component;
 import org.codehaus.plexus.component.annotations.Requirement;
-import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
 import org.codehaus.plexus.logging.Logger;
 
 /**
- * 
  * @author mkleint
  */
-@Component(role = ToolchainManager.class)
+@Component( role = ToolchainManager.class )
 public class DefaultToolchainManager
-    implements ToolchainManager, ToolchainManagerPrivate
+    implements ToolchainManager
+
 {
+
     @Requirement
-    private Logger logger;
-    
-    @Requirement
-    private PlexusContainer container;
+    Logger logger;
 
-    public ToolchainPrivate[] getToolchainsForType( String type )
-        throws MisconfiguredToolchainException
-    {
-        try
-        {
-            PersistedToolchains pers = readToolchainSettings();
-            Map<String, ToolchainFactory> factories = container.lookupMap( ToolchainFactory.class );
-            List toRet = new ArrayList();
-            if ( pers != null )
-            {
-                List lst = pers.getToolchains();
-                if ( lst != null )
-                {
-                    Iterator it = lst.iterator();
-                    while ( it.hasNext() )
-                    {
-                        ToolchainModel toolchainModel = (ToolchainModel) it.next();
-                        ToolchainFactory fact = factories.get( toolchainModel.getType() );
-                        if ( fact != null )
-                        {
-                            toRet.add( fact.createToolchain( toolchainModel ) );
-                        }
-                        else
-                        {
-                            logger.error( "Missing toolchain factory for type:" + toolchainModel.getType() + ". Possibly caused by misconfigured project." );
-                        }
-                    }
-                }
-            }
-            for ( ToolchainFactory toolchainFactory : factories.values() )
-            {
-                ToolchainPrivate tool = toolchainFactory.createDefaultToolchain();
-                if ( tool != null )
-                {
-                    toRet.add( tool );
-                }
-            }
-            ToolchainPrivate[] tc = new ToolchainPrivate[toRet.size()];
-            return (ToolchainPrivate[]) toRet.toArray( tc );
-        }
-        catch ( ComponentLookupException ex )
-        {
-            logger.fatalError( "Error in component lookup", ex );
-        }
-        return new ToolchainPrivate[0];
-    }
+    @Requirement( role = ToolchainFactory.class )
+    Map<String, ToolchainFactory> factories;
 
     public Toolchain getToolchainFromBuildContext( String type, MavenSession session )
     {
         Map context = retrieveContext( session );
-        if ( "javac".equals( type ) )
-        {
-            //HACK to make compiler plugin happy
-            type = "jdk";
-        }
-        Object obj = context.get( getStorageKey( type ) );
-        ToolchainModel model = (ToolchainModel) obj;
+
+        ToolchainModel model = (ToolchainModel) context.get( getStorageKey( type ) );
 
         if ( model != null )
         {
             try
             {
-                ToolchainFactory fact = container.lookup( ToolchainFactory.class, type );
-                return fact.createToolchain( model );
-            }
-            catch ( ComponentLookupException ex )
-            {
-                logger.fatalError( "Error in component lookup", ex );
+                ToolchainFactory fact = factories.get( type );
+                if ( fact != null )
+                {
+                    return fact.createToolchain( model );
+                }
+                else
+                {
+                    logger.error( "Missing toolchain factory for type: " + type
+                        + ". Possibly caused by misconfigured project." );
+                }
             }
             catch ( MisconfiguredToolchainException ex )
             {
                 logger.error( "Misconfigured toolchain.", ex );
             }
         }
-        return null;
-    }
 
-    private MavenProject getCurrentProject( MavenSession session )
-    {
-        //use reflection since MavenSession.getCurrentProject() is not part of 2.0.8
-        try
-        {
-            Method meth = session.getClass().getMethod( "getCurrentProject", new Class[0] );
-            return (MavenProject) meth.invoke( session );
-        }
-        catch ( Exception ex )
-        {
-            //just ignore, we're running in pre- 2.0.9
-        }
         return null;
     }
 
-    private Map retrieveContext( MavenSession session )
+    Map retrieveContext( MavenSession session )
     {
-        if ( session == null )
-        {
-            return new HashMap();
-        }
-        PluginDescriptor desc = new PluginDescriptor();
-        desc.setGroupId( PluginDescriptor.getDefaultPluginGroupId() );
-        desc.setArtifactId( PluginDescriptor.getDefaultPluginArtifactId( "toolchains" ) );
-        MavenProject current = getCurrentProject( session );
-        if ( current != null )
+        Map context = null;
+
+        if ( session != null )
         {
-            return session.getPluginContext( desc, current );
+            PluginDescriptor desc = new PluginDescriptor();
+            desc.setGroupId( PluginDescriptor.getDefaultPluginGroupId() );
+            desc.setArtifactId( PluginDescriptor.getDefaultPluginArtifactId( "toolchains" ) );
 
+            MavenProject current = session.getCurrentProject();
+            if ( current != null )
+            {
+                context = session.getPluginContext( desc, current );
+            }
         }
-        return new HashMap();
-    }
 
-    public void storeToolchainToBuildContext( ToolchainPrivate toolchain, MavenSession session )
-    {
-        Map context = retrieveContext( session );
-        context.put( getStorageKey( toolchain.getType() ), toolchain.getModel() );
+        return ( context != null ) ? context : new HashMap();
     }
 
     public static final String getStorageKey( String type )
     {
-        return "toolchain-" + type; //NOI18N
+        return "toolchain-" + type; // NOI18N
     }
 
-    private PersistedToolchains readToolchainSettings()
-        throws MisconfiguredToolchainException
-    {
-        //TODO how to point to the local path?
-        File tch = new File( System.getProperty( "user.home" ), ".m2/toolchains.xml" );
-        if ( tch.exists() )
-        {
-            MavenToolchainsXpp3Reader reader = new MavenToolchainsXpp3Reader();
-            InputStreamReader in = null;
-            try
-            {
-                in = new InputStreamReader( new BufferedInputStream( new FileInputStream( tch ) ) );
-                return reader.read( in );
-            }
-            catch ( Exception ex )
-            {
-                throw new MisconfiguredToolchainException( "Cannot read toolchains file at " + tch.getAbsolutePath(), ex );
-            }
-            finally
-            {
-                if ( in != null )
-                {
-                    try
-                    {
-                        in.close();
-                    }
-                    catch ( IOException ex )
-                    {
-                    }
-                }
-                //                IOUtil.close( in );
-            }
-        }
-        else
-        {
-            //TODO log the fact that no toolchains file was found.
-        }
-        return null;
-    }
-}
\ No newline at end of file
+}

Modified: maven/components/branches/MNG-2766/maven-toolchain/src/main/java/org/apache/maven/toolchain/java/DefaultJavaToolchainFactory.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-2766/maven-toolchain/src/main/java/org/apache/maven/toolchain/java/DefaultJavaToolchainFactory.java?rev=767707&r1=767706&r2=767707&view=diff
==============================================================================
--- maven/components/branches/MNG-2766/maven-toolchain/src/main/java/org/apache/maven/toolchain/java/DefaultJavaToolchainFactory.java (original)
+++ maven/components/branches/MNG-2766/maven-toolchain/src/main/java/org/apache/maven/toolchain/java/DefaultJavaToolchainFactory.java Wed Apr 22 23:04:06 2009
@@ -35,7 +35,7 @@
  *
  * @author mkleint
  */
-@Component(role=ToolchainFactory.class)
+@Component( role = ToolchainFactory.class, hint = "jdk" )
 public class DefaultJavaToolchainFactory
     implements ToolchainFactory, LogEnabled
 {

Modified: maven/components/branches/MNG-2766/mercury-ant-tasks-1.0-alpha-6-SNAPSHOT.jar
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-2766/mercury-ant-tasks-1.0-alpha-6-SNAPSHOT.jar?rev=767707&r1=767706&r2=767707&view=diff
==============================================================================
Binary files - no diff available.

Modified: maven/components/branches/MNG-2766/pom.xml
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-2766/pom.xml?rev=767707&r1=767706&r2=767707&view=diff
==============================================================================
--- maven/components/branches/MNG-2766/pom.xml (original)
+++ maven/components/branches/MNG-2766/pom.xml Wed Apr 22 23:04:06 2009
@@ -21,16 +21,18 @@
 
 <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</groupId>
     <artifactId>maven-parent</artifactId>
     <version>11</version>
     <relativePath>../pom/maven/pom.xml</relativePath>
   </parent>
-  <groupId>org.apache.maven</groupId>
+
   <artifactId>maven</artifactId>
   <version>3.0-SNAPSHOT</version>
   <packaging>pom</packaging>
+
   <name>Apache Maven</name>
   <description>Maven is a project development management and
     comprehension tool. Based on the concept of a project object model:
@@ -42,31 +44,36 @@
   </description>
   <url>http://maven.apache.org/</url>
   <inceptionYear>2001</inceptionYear>
+
   <properties>
     <classWorldsVersion>1.3</classWorldsVersion>
     <commonsCliVersion>1.0</commonsCliVersion>
+    <!--
+
+    Do not update this, Doxia will be decoupled completely from 3.x and someone can
+    create a rendering engine for it if they like when the release stabilizes. JVZ
+
+    -->
+    <doxiaVersion>1.0-alpha-9</doxiaVersion>
     <easyMockVersion>1.2_Java1.3</easyMockVersion>
-    <junitVersion>3.8.1</junitVersion>    
+    <junitVersion>3.8.1</junitVersion>
     <plexusVersion>1.0-beta-4-SNAPSHOT</plexusVersion>
     <plexusInteractivityVersion>1.0-alpha-6</plexusInteractivityVersion>
-    <plexusInterpolationVersion>1.7</plexusInterpolationVersion>
+    <plexusInterpolationVersion>1.1</plexusInterpolationVersion>
     <plexusPluginManagerVersion>1.0-alpha-1</plexusPluginManagerVersion>
     <plexusUtilsVersion>1.5.8</plexusUtilsVersion>
     <plexusJetty6Version>1.6</plexusJetty6Version>
-    <plexusWebdavVersion>1.0</plexusWebdavVersion>    
-    <wagonVersion>1.0-beta-4</wagonVersion>
-    <modelBuilderVersion>1.7-SNAPSHOT</modelBuilderVersion>
-    <mercuryVersion>1.0-alpha-6-SNAPSHOT</mercuryVersion>
+    <plexusWebdavVersion>1.0</plexusWebdavVersion>
+    <wagonVersion>1.0-beta-5</wagonVersion>
+    <modelBuilderVersion>1.8</modelBuilderVersion>
+    <mercuryVersion>1.0-alpha-7-SNAPSHOT</mercuryVersion>
     <mercuryMp3Version>1.0-alpha-1</mercuryMp3Version>
     <securityDispatcherVersion>1.2</securityDispatcherVersion>
     <woodstoxVersion>3.2.6</woodstoxVersion>
     <modelloVersion>1.0.1</modelloVersion>
     <jxpathVersion>1.3</jxpathVersion>
+    <staxVersion>1.0.1</staxVersion>
   </properties>
-  <issueManagement>
-    <system>jira</system>
-    <url>http://jira.codehaus.org/browse/MNG</url>
-  </issueManagement>
   <mailingLists>
     <mailingList>
       <name>Maven Developer List</name>
@@ -142,129 +149,43 @@
       </otherArchives>
     </mailingList>
   </mailingLists>
-  <scm>
-    <connection>scm:svn:http://svn.apache.org/repos/asf/maven/components/trunk</connection>
-    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/components/trunk</developerConnection>
-    <url>http://svn.apache.org/viewcvs.cgi/maven/components/trunk</url>
-  </scm>
-  <build>
-    <pluginManagement>
-      <plugins>
-        <plugin>
-          <groupId>org.codehaus.plexus</groupId>
-          <artifactId>plexus-component-metadata</artifactId>
-          <version>${plexusVersion}</version>
-          <executions>
-            <execution>
-              <goals>
-                <goal>generate-metadata</goal>
-                <goal>generate-test-metadata</goal>
-              </goals>
-            </execution>
-          </executions>
-        </plugin>
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-compiler-plugin</artifactId>
-          <version>2.0.2</version>
-          <configuration>
-            <source>1.5</source>
-            <target>1.5</target>
-          </configuration>
-        </plugin>
-        <plugin>
-          <artifactId>maven-release-plugin</artifactId>
-          <configuration>
-            <tagBase>https://svn.apache.org/repos/asf/maven/components/tags</tagBase>
-          </configuration>
-        </plugin>
-        <plugin>
-          <groupId>org.codehaus.modello</groupId>
-          <artifactId>modello-maven-plugin</artifactId>
-          <version>${modelloVersion}</version>
-          <configuration>
-            <useJava5>true</useJava5>
-          </configuration>
-          <executions>
-            <execution>
-              <id>site-docs</id>
-              <phase>pre-site</phase>
-              <goals>
-                <goal>xdoc</goal>
-                <goal>xsd</goal>
-              </goals>
-            </execution>
-            <execution>
-              <id>standard</id>
-              <goals>
-                <goal>java</goal>
-                <goal>xpp3-reader</goal>
-                <goal>xpp3-writer</goal>
-              </goals>
-            </execution>
-          </executions>
-        </plugin>
-        <plugin>
-          <groupId>org.apache.felix</groupId>
-          <artifactId>maven-bundle-plugin</artifactId>
-          <version>1.0.0</version>
-        </plugin>
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-surefire-plugin</artifactId>
-          <version>2.4.3</version>
-        </plugin>
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-assembly-plugin</artifactId>
-          <version>2.2-beta-2</version>
-        </plugin>
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-resources-plugin</artifactId>
-          <version>2.4-SNAPSHOT</version>
-        </plugin>
-      </plugins>
-    </pluginManagement>
-  </build>
+
   <modules>
     <module>maven-core</module>
     <module>apache-maven</module>
     <module>maven-model</module>
     <module>maven-plugin-api</module>
     <module>maven-project</module>
-    <module>maven-project-builder</module>
+    <module>maven-model-builder</module>
     <module>maven-mercury</module>
     <module>maven-embedder</module>
     <module>maven-toolchain</module>
     <module>maven-compat</module>
     <module>maven-repository</module>
-    <module>maven-repository-mercury</module>    
   </modules>
-  <!-- FIXME: Remove once model-builder is released -->
-  <repositories>
-    <repository>
-      <id>spice.snapshots</id>
-      <url>http://repository.sonatype.org/content/repositories/snapshots</url>
-      <releases>
-        <enabled>false</enabled>
-      </releases>
-    </repository>
-  </repositories>
-  <!--start-->
-  <dependencies>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <version>${junitVersion}</version>
-      <scope>test</scope>
-    </dependency>
-  </dependencies>
+
+  <scm>
+    <connection>scm:svn:http://svn.apache.org/repos/asf/maven/components/trunk</connection>
+    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/components/trunk</developerConnection>
+    <url>http://svn.apache.org/viewcvs.cgi/maven/components/trunk</url>
+  </scm>
+  <issueManagement>
+    <system>jira</system>
+    <url>http://jira.codehaus.org/browse/MNG</url>
+  </issueManagement>
+  <distributionManagement>
+    <site>
+      <id>apache.website</id>
+      <url>scp://people.apache.org/www/maven.apache.org/ref/${project.version}/</url>
+    </site>
+  </distributionManagement>
+
+  <!--bootstrap-start-comment-->
   <dependencyManagement>
-    <!--end-->
+  <!--bootstrap-end-comment-->
     <dependencies>
       <!--  Maven Modules -->
-      <!--start-->
+      <!--bootstrap-start-comment-->
       <dependency>
         <groupId>org.apache.maven</groupId>
         <artifactId>maven-mercury</artifactId>
@@ -272,6 +193,11 @@
       </dependency>
       <dependency>
         <groupId>org.apache.maven</groupId>
+        <artifactId>maven-lifecycle</artifactId>
+        <version>${project.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.maven</groupId>
         <artifactId>maven-reporting-api</artifactId>
         <version>${project.version}</version>
       </dependency>
@@ -312,7 +238,7 @@
       </dependency>
       <dependency>
         <groupId>org.apache.maven</groupId>
-        <artifactId>maven-project-builder</artifactId>
+        <artifactId>maven-model-builder</artifactId>
         <version>${project.version}</version>
       </dependency>
       <dependency>
@@ -325,7 +251,7 @@
         <artifactId>maven-compat</artifactId>
         <version>${project.version}</version>
       </dependency>
-      <!--end-->
+      <!--bootstrap-end-comment-->
       <!--  Plexus -->
       <dependency>
         <groupId>org.codehaus.plexus</groupId>
@@ -363,11 +289,11 @@
           </exclusion>
         </exclusions>
       </dependency>
-      
+
       <!--  Plexus test dependencies -->
       <dependency>
-        <groupId>org.sonatype.plexus</groupId>                                                                                
-        <artifactId>plexus-jetty6</artifactId>                                                                                
+        <groupId>org.sonatype.plexus</groupId>
+        <artifactId>plexus-jetty6</artifactId>
         <version>${plexusJetty6Version}</version>
         <scope>test</scope>
       </dependency>
@@ -377,7 +303,7 @@
         <version>${plexusWebdavVersion}</version>
         <scope>test</scope>
       </dependency>
-      
+
       <!--  Wagon -->
       <dependency>
         <groupId>org.apache.maven.wagon</groupId>
@@ -404,6 +330,12 @@
         <artifactId>wagon-ssh-external</artifactId>
         <version>${wagonVersion}</version>
       </dependency>
+      <!--  Doxia -->
+      <dependency>
+        <groupId>org.apache.maven.doxia</groupId>
+        <artifactId>doxia-sink-api</artifactId>
+        <version>${doxiaVersion}</version>
+      </dependency>
       <!--  Maven Shared -->
       <dependency>
         <groupId>org.sonatype.spice</groupId>
@@ -415,6 +347,11 @@
         <artifactId>wstx-asl</artifactId>
         <version>${woodstoxVersion}</version>
       </dependency>
+      <dependency>
+        <groupId>stax</groupId>
+        <artifactId>stax-api</artifactId>
+        <version>${staxVersion}</version>
+      </dependency>
       <!--  Commons -->
       <dependency>
         <groupId>commons-cli</groupId>
@@ -422,20 +359,20 @@
         <version>${commonsCliVersion}</version>
         <exclusions>
           <exclusion>
-            <artifactId>commons-lang</artifactId>
             <groupId>commons-lang</groupId>
+            <artifactId>commons-lang</artifactId>
           </exclusion>
           <exclusion>
-            <artifactId>commons-logging</artifactId>
             <groupId>commons-logging</groupId>
+            <artifactId>commons-logging</artifactId>
           </exclusion>
         </exclusions>
       </dependency>
-    <dependency>
-      <groupId>commons-jxpath</groupId>
-      <artifactId>commons-jxpath</artifactId>
+      <dependency>
+        <groupId>commons-jxpath</groupId>
+        <artifactId>commons-jxpath</artifactId>
         <version>${jxpathVersion}</version>
-    </dependency>
+      </dependency>
 
       <!--  Mercury -->
       <dependency>
@@ -458,9 +395,9 @@
         <artifactId>mercury-repo-virtual</artifactId>
         <version>${mercuryVersion}</version>
       </dependency>
-    <dependency>
-      <groupId>org.sonatype.mercury</groupId>
-      <artifactId>mercury-mp3-cli</artifactId>
+      <dependency>
+        <groupId>org.sonatype.mercury</groupId>
+        <artifactId>mercury-mp3-cli</artifactId>
         <version>${mercuryMp3Version}</version>
       </dependency>
       <dependency>
@@ -513,24 +450,110 @@
         <artifactId>plexus-plugin-manager</artifactId>
         <version>${plexusPluginManagerVersion}</version>
       </dependency>
-      <!--start-->
+      <!--bootstrap-start-comment-->
       <dependency>
         <groupId>easymock</groupId>
         <artifactId>easymock</artifactId>
         <version>${easyMockVersion}</version>
         <scope>test</scope>
       </dependency>
-      <!--end-->
+      <!--bootstrap-end-comment-->
     </dependencies>
-    <!--start-->
+    <!--bootstrap-start-comment-->
   </dependencyManagement>
-  <!--end-->
-  <distributionManagement>
-    <site>
-      <id>apache.website</id>
-      <url>scp://people.apache.org/www/maven.apache.org/ref/${project.version}/</url>
-    </site>
-  </distributionManagement>
+  <!--bootstrap-end-comment-->
+  <!--bootstrap-start-comment-->
+  <dependencies>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>${junitVersion}</version>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+  <!--bootstrap-end-comment-->
+
+  <build>
+    <pluginManagement>
+      <plugins>
+        <plugin>
+          <groupId>org.codehaus.plexus</groupId>
+          <artifactId>plexus-component-metadata</artifactId>
+          <version>${plexusVersion}</version>
+          <executions>
+            <execution>
+              <goals>
+                <goal>generate-metadata</goal>
+                <goal>generate-test-metadata</goal>
+              </goals>
+            </execution>
+          </executions>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-compiler-plugin</artifactId>
+          <version>2.0.2</version>
+          <configuration>
+            <source>1.5</source>
+            <target>1.5</target>
+          </configuration>
+        </plugin>
+        <plugin>
+          <artifactId>maven-release-plugin</artifactId>
+          <configuration>
+            <tagBase>https://svn.apache.org/repos/asf/maven/components/tags</tagBase>
+          </configuration>
+        </plugin>
+        <plugin>
+          <groupId>org.codehaus.modello</groupId>
+          <artifactId>modello-maven-plugin</artifactId>
+          <version>${modelloVersion}</version>
+          <configuration>
+            <useJava5>true</useJava5>
+          </configuration>
+          <executions>
+            <execution>
+              <id>site-docs</id>
+              <phase>pre-site</phase>
+              <goals>
+                <goal>xdoc</goal>
+                <goal>xsd</goal>
+              </goals>
+            </execution>
+            <execution>
+              <id>standard</id>
+              <goals>
+                <goal>java</goal>
+                <goal>xpp3-reader</goal>
+                <goal>xpp3-writer</goal>
+              </goals>
+            </execution>
+          </executions>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.felix</groupId>
+          <artifactId>maven-bundle-plugin</artifactId>
+          <version>1.0.0</version>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-surefire-plugin</artifactId>
+          <version>2.4.2</version>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-assembly-plugin</artifactId>
+          <version>2.2-beta-2</version>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-resources-plugin</artifactId>
+          <version>2.4-SNAPSHOT</version>
+        </plugin>
+      </plugins>
+    </pluginManagement>
+  </build>
+
   <profiles>
     <profile>
       <id>osgi</id>