<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">










<html>
  <head>
    <title>Archiva Base :: XML Tools - Project Plugin Management</title>
    <style type="text/css" media="all">
      @import url("./css/maven-base.css");
      @import url("./css/maven-theme.css");
      @import url("./css/site.css");
    </style>
    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
        <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
                            <?xml version="1.0" encoding="UTF-8"?>
<script type="text/javascript">var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));</script>
                                <?xml version="1.0" encoding="UTF-8"?>
<script type="text/javascript">var pageTracker = _gat._getTracker("UA-140879-5");
pageTracker._initData();
pageTracker._trackPageview();</script>
                    </head>
  <body class="composite">
    <div id="banner">
                  <a href="../../" id="bannerLeft">
    
                                            <img src="../../images/archiva.png" alt="" />
    
            </a>
                        <a href="http://www.apache.org/" id="bannerRight">
    
                                    <img src="http://www.apache.org/images/asf_logo_wide.png" alt="" />
    
            </a>
            <div class="clear">
        <hr/>
      </div>
    </div>
    <div id="breadcrumbs">
          
  

  
    
  
  
            <div class="xleft">
          
          <a href="http://www.apache.org/">Apache</a>
              &gt;
      
          <a href="../../">Archiva</a>
              &gt;
      
          <a href="../../">Archiva :: Modules</a>
                </div>
            <div class="xright">      
  

  
    
  
  
            &nbsp;| Last Published: 27 May 2011
            </div>
      <div class="clear">
        <hr/>
      </div>
    </div>
    <div id="leftColumn">
      <div id="navcolumn">
           
  

  
    
  
  
                   <h5>Project Documentation</h5>
        <ul>
              
                
              
      
            
      
            
      
            
      
            
      
            
      
            
      
            
            
            
      
            
      
            
      
            
      
            
      
              
            <li class="expanded">
              <a href="project-info.html">Project Information</a>
                <ul>
                  
    <li class="none">
              <a href="index.html">About</a>
        </li>
                  
    <li class="none">
              <a href="integration.html">Continuous Integration</a>
        </li>
                  
    <li class="none">
              <a href="dependencies.html">Dependencies</a>
        </li>
                  
    <li class="none">
              <a href="dependency-convergence.html">Dependency Convergence</a>
        </li>
                  
    <li class="none">
              <a href="dependency-management.html">Dependency Management</a>
        </li>
                  
    <li class="none">
              <a href="issue-tracking.html">Issue Tracking</a>
        </li>
                  
    <li class="none">
              <a href="mail-lists.html">Mailing Lists</a>
        </li>
                  
    <li class="none">
              <strong>Plugin Management</strong>
        </li>
                  
    <li class="none">
              <a href="license.html">Project License</a>
        </li>
                  
    <li class="none">
              <a href="plugins.html">Project Plugins</a>
        </li>
                  
    <li class="none">
              <a href="project-summary.html">Project Summary</a>
        </li>
                  
    <li class="none">
              <a href="team-list.html">Project Team</a>
        </li>
                  
    <li class="none">
              <a href="source-repository.html">Source Repository</a>
        </li>
              </ul>
        </li>
              
                
              
      
            
      
            
      
            
      
            
      
            
      
            
      
            
      
            
      
            
      
              
        <li class="collapsed">
              <a href="project-reports.html">Project Reports</a>
              </li>
          </ul>
                                       <a href="http://maven.apache.org/" title="Built by Maven" id="poweredBy">
            <img alt="Built by Maven" src="./images/logos/maven-feather.png"></img>
          </a>
                       
  

  
    
  
  
        </div>
    </div>
    <div id="bodyColumn">
      <div id="contentBox">
        <div class="section"><h2>Project Plugin Management</h2><table class="bodyTable"><tr class="a"><th>GroupId</th><th>ArtifactId</th><th>Version</th></tr><tr class="b"><td>org.apache.maven.plugins</td><td><a href="http://maven.apache.org/plugins/maven-antrun-plugin">maven-antrun-plugin</a></td><td>1.3</td></tr><tr class="a"><td>org.apache.maven.plugins</td><td><a href="http://maven.apache.org/plugins/maven-assembly-plugin">maven-assembly-plugin</a></td><td>2.2-beta-3</td></tr><tr class="b"><td>org.apache.maven.plugins</td><td><a href="http://maven.apache.org/plugins/maven-clean-plugin">maven-clean-plugin</a></td><td>2.2</td></tr><tr class="a"><td>org.apache.maven.plugins</td><td><a href="http://maven.apache.org/plugins/maven-compiler-plugin">maven-compiler-plugin</a></td><td>2.0.2</td></tr><tr class="b"><td>org.apache.maven.plugins</td><td><a href="http://maven.apache.org/plugins/maven-dependency-plugin">maven-dependency-plugin</a></td><td>2.0</td></tr><tr class="a"><td>org.apache.maven.plugins</td><td><a href="http://maven.apache.org/plugins/maven-deploy-plugin">maven-deploy-plugin</a></td><td>2.3</td></tr><tr class="b"><td>org.apache.maven.plugins</td><td><a href="http://maven.apache.org/plugins/maven-ear-plugin">maven-ear-plugin</a></td><td>2.3.1</td></tr><tr class="a"><td>org.apache.maven.plugins</td><td><a href="http://maven.apache.org/plugins/maven-ejb-plugin">maven-ejb-plugin</a></td><td>2.1</td></tr><tr class="b"><td>org.apache.maven.plugins</td><td><a href="http://maven.apache.org/plugins/maven-gpg-plugin">maven-gpg-plugin</a></td><td>1.1</td></tr><tr class="a"><td>org.apache.maven.plugins</td><td><a href="http://maven.apache.org/plugins/maven-idea-plugin">maven-idea-plugin</a></td><td>2.2</td></tr><tr class="b"><td>org.apache.maven.plugins</td><td><a href="http://maven.apache.org/plugins/maven-install-plugin">maven-install-plugin</a></td><td>2.2</td></tr><tr class="a"><td>org.apache.maven.plugins</td><td><a href="http://maven.apache.org/plugins/maven-jar-plugin">maven-jar-plugin</a></td><td>2.2</td></tr><tr class="b"><td>org.apache.maven.plugins</td><td><a href="http://maven.apache.org/plugins/maven-javadoc-plugin">maven-javadoc-plugin</a></td><td>2.3</td></tr><tr class="a"><td>org.apache.maven.plugins</td><td><a href="http://maven.apache.org/plugins/maven-plugin-plugin">maven-plugin-plugin</a></td><td>2.4.3</td></tr><tr class="b"><td>org.apache.maven.plugins</td><td><a href="http://maven.apache.org/plugins/maven-rar-plugin">maven-rar-plugin</a></td><td>2.2</td></tr><tr class="a"><td>org.apache.maven.plugins</td><td><a href="http://maven.apache.org/plugins/maven-release-plugin/">maven-release-plugin</a></td><td>2.0-beta-9</td></tr><tr class="b"><td>org.apache.maven.plugins</td><td><a href="http://maven.apache.org/plugins/maven-remote-resources-plugin">maven-remote-resources-plugin</a></td><td>1.0-beta-2</td></tr><tr class="a"><td>org.apache.maven.plugins</td><td><a href="http://maven.apache.org/plugins/maven-resources-plugin">maven-resources-plugin</a></td><td>2.2</td></tr><tr class="b"><td>org.apache.maven.plugins</td><td><a href="http://maven.apache.org/plugins/maven-site-plugin">maven-site-plugin</a></td><td>2.0-beta-5</td></tr><tr class="a"><td>org.apache.maven.plugins</td><td><a href="http://maven.apache.org/plugins/maven-source-plugin">maven-source-plugin</a></td><td>2.0.3</td></tr><tr class="b"><td>org.apache.maven.plugins</td><td><a href="http://maven.apache.org/surefire/maven-surefire-plugin">maven-surefire-plugin</a></td><td>2.4.2</td></tr><tr class="a"><td>org.apache.maven.plugins</td><td><a href="http://maven.apache.org/plugins/maven-war-plugin">maven-war-plugin</a></td><td>2.1-alpha-2</td></tr><tr class="b"><td>org.codehaus.modello</td><td><a href="http://modello.codehaus.org/modello-maven-plugin">modello-maven-plugin</a></td><td>1.0</td></tr></table></div>
      </div>
    </div>
    <div class="clear">
      <hr/>
    </div>
    <div id="footer">
      <div class="xright">&#169;  
          2006-2011
    
          The Apache Software Foundation
          
  

  
    
  
  
  </div>
      <div class="clear">
        <hr/>
      </div>
    </div>
  </body>
</html>
