<!DOCTYPE html>
<!--
 | Generated by Apache Maven Doxia at May 31, 2013
 | Rendered using Apache Maven Fluido Skin 1.3.0
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta name="Date-Revision-yyyymmdd" content="20130531" />
    <meta http-equiv="Content-Language" content="en" />
    <title>Archiva :: Base - Project Plugin Management</title>
    <link rel="stylesheet" href="./css/apache-maven-fluido-1.3.0.min.css" />
    <link rel="stylesheet" href="./css/site.css" />
    <link rel="stylesheet" href="./css/print.css" media="print" />

      
    <script type="text/javascript" src="./js/apache-maven-fluido-1.3.0.min.js"></script>

    
            </head>
        <body class="topBarEnabled">
          
                        
                    
                

    <div id="topbar" class="navbar navbar-fixed-top ">
      <div class="navbar-inner">
                                  <div class="container"><div class="nav-collapse">
            
                
                                <ul class="nav">
                          <li class="dropdown">
        <a href="#" class="dropdown-toggle" data-toggle="dropdown">Modules <b class="caret"></b></a>
        <ul class="dropdown-menu">
        
                      <li>      <a href="archiva-test-utils/index.html"  title="Archiva Base :: Test Utility">Archiva Base :: Test Utility</a>
</li>
                  
                      <li>      <a href="archiva-common/index.html"  title="Archiva Base :: Common">Archiva Base :: Common</a>
</li>
                  
                      <li>      <a href="archiva-model/index.html"  title="Archiva Base :: Model">Archiva Base :: Model</a>
</li>
                  
                      <li>      <a href="archiva-configuration/index.html"  title="Archiva Base :: Configuration">Archiva Base :: Configuration</a>
</li>
                  
                      <li>      <a href="archiva-checksum/index.html"  title="Archiva Base :: Checksum">Archiva Base :: Checksum</a>
</li>
                  
                      <li>      <a href="archiva-plexus-bridge/index.html"  title="Archiva Base :: Plexus Bridge">Archiva Base :: Plexus Bridge</a>
</li>
                  
                      <li>      <a href="archiva-policies/index.html"  title="Archiva Base :: Policies">Archiva Base :: Policies</a>
</li>
                  
                      <li>      <a href="archiva-indexer/index.html"  title="Archiva Base :: Indexer">Archiva Base :: Indexer</a>
</li>
                  
                      <li>      <a href="archiva-consumers/index.html"  title="Archiva Base :: Consumers">Archiva Base :: Consumers</a>
</li>
                  
                      <li>      <a href="archiva-repository-layer/index.html"  title="Archiva Base :: Repository Interface Layer">Archiva Base :: Repository Interface Layer</a>
</li>
                  
                      <li>      <a href="archiva-xml-tools/index.html"  title="Archiva Base :: XML Tools">Archiva Base :: XML Tools</a>
</li>
                  
                      <li>      <a href="archiva-proxy-api/index.html"  title="Archiva Base :: Proxy Api">Archiva Base :: Proxy Api</a>
</li>
                  
                      <li>      <a href="archiva-proxy-common/index.html"  title="Archiva Base :: Proxy Common">Archiva Base :: Proxy Common</a>
</li>
                  
                      <li>      <a href="archiva-proxy/index.html"  title="Archiva Base :: Proxy">Archiva Base :: Proxy</a>
</li>
                  
                      <li>      <a href="archiva-transaction/index.html"  title="Archiva Base :: Transactions">Archiva Base :: Transactions</a>
</li>
                  
                      <li>      <a href="archiva-artifact-converter/index.html"  title="Archiva Base :: Artifact Converter">Archiva Base :: Artifact Converter</a>
</li>
                  
                      <li>      <a href="archiva-converter/index.html"  title="Archiva Base :: Repository Converter">Archiva Base :: Repository Converter</a>
</li>
                  
                      <li>      <a href="archiva-repository-scanner/index.html"  title="Archiva Base :: Repository Scanner">Archiva Base :: Repository Scanner</a>
</li>
                  
                      <li>      <a href="archiva-repository-admin/index.html"  title="Archiva Base :: Repository Admin">Archiva Base :: Repository Admin</a>
</li>
                  
                      <li>      <a href="archiva-security-common/index.html"  title="Archiva Base :: Security Common">Archiva Base :: Security Common</a>
</li>
                  
                      <li>      <a href="archiva-maven2-metadata/index.html"  title="Archiva Base :: Maven 2 Metadata">Archiva Base :: Maven 2 Metadata</a>
</li>
                  
                      <li>      <a href="archiva-maven2-model/index.html"  title="Archiva Base :: Maven 2 Model">Archiva Base :: Maven 2 Model</a>
</li>
                          </ul>
      </li>
                      <li class="dropdown">
        <a href="#" class="dropdown-toggle" data-toggle="dropdown">Project Documentation <b class="caret"></b></a>
        <ul class="dropdown-menu">
        
                      <li class="dropdown-submenu">
                                      <a href="project-info.html"  title="Project Information">Project Information</a>
              <ul class="dropdown-menu">
                                  <li>      <a href="index.html"  title="About">About</a>
</li>
                                  <li>      <a href="team-list.html"  title="Project Team">Project Team</a>
</li>
                                  <li>      <a href="modules.html"  title="Project Modules">Project Modules</a>
</li>
                                  <li>      <a href="dependency-info.html"  title="Dependency Information">Dependency Information</a>
</li>
                                  <li>      <a href="dependency-management.html"  title="Dependency Management">Dependency Management</a>
</li>
                                  <li>      <a href="plugins.html"  title="Project Plugins">Project Plugins</a>
</li>
                                  <li>      <a href="integration.html"  title="Continuous Integration">Continuous Integration</a>
</li>
                                  <li>      <a href="issue-tracking.html"  title="Issue Tracking">Issue Tracking</a>
</li>
                                  <li>      <a href="source-repository.html"  title="Source Repository">Source Repository</a>
</li>
                                  <li>      <a href="dependency-convergence.html"  title="Dependency Convergence">Dependency Convergence</a>
</li>
                                  <li>      <a href="license.html"  title="Project License">Project License</a>
</li>
                                  <li>      <a href="plugin-management.html"  title="Plugin Management">Plugin Management</a>
</li>
                                  <li>      <a href="distribution-management.html"  title="Distribution Management">Distribution Management</a>
</li>
                                  <li>      <a href="project-summary.html"  title="Project Summary">Project Summary</a>
</li>
                                  <li>      <a href="mail-lists.html"  title="Mailing Lists">Mailing Lists</a>
</li>
                                  <li>      <a href="dependencies.html"  title="Dependencies">Dependencies</a>
</li>
                              </ul>
            </li>
                          </ul>
      </li>
                  </ul>
          
                      <form id="search-form" action="http://www.google.com/search" method="get"  class="navbar-search pull-right" >
    
  <input value="http://archiva.apache.org/ref/1.4-M4" name="sitesearch" type="hidden"/>
  <input class="search-query" name="q" id="query" type="text" />
</form>
<script type="text/javascript" src="http://www.google.com/coop/cse/brand?form=search-form"></script>
          
                                                    
        
        
        <ul class="nav pull-right"><li>
    
    <a href="https://twitter.com/archiva" class="twitter-follow-button" data-show-count="false" data-align="right" data-size="large" data-show-screen-name="true" data-lang="en">Follow archiva</a>
    <script type="text/javascript">!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>

        </li></ul>
                
                   
                      </div>
          
        </div>
      </div>
    </div>
    
        <div class="container">
          <div id="banner">
        <div class="pull-left">
                                                  <a href="../../../index.html" id="bannerLeft">
                                                                                                <img src="../../../images/archiva.png"  alt="Apache Archiva"/>
                </a>
                      </div>
        <div class="pull-right">                  <a href="http://www.apache.org/" id="bannerRight">
                                                                                        <img src="http://www.apache.org/images/asf_logo_wide.png"  alt="Apache Software Foundation"/>
                </a>
      </div>
        <div class="clear"><hr/></div>
      </div>

      <div id="breadcrumbs">
        <ul class="breadcrumb">
                
                    
                              <li class="">
                    <a href="http://www.apache.org/" class="externalLink" title="Apache">
        Apache</a>
        </li>
      <li class="divider ">/</li>
            <li class="">
                    <a href="../" title="Apache Archiva">
        Apache Archiva</a>
        </li>
      <li class="divider ">/</li>
            <li class="">
                    <a href="../" title="Archiva :: Modules">
        Archiva :: Modules</a>
        </li>
      <li class="divider ">/</li>
                <li class="">
                    <a href="./" title="Archiva :: Base">
        Archiva :: Base</a>
        </li>
      <li class="divider ">/</li>
        <li class="">Project Plugin Management</li>
        
                
                    
                  <li id="publishDate" class="pull-right">Last Published: 31 May 2013</li> 
            
                            </ul>
      </div>

      
                
        <div id="bodyColumn" >
                                  
            <div class="section"><h2>Project Plugin Management<a name="Project_Plugin_Management"></a></h2><a name="Project_Plugin_Management"></a><table border="0" class="table table-striped"><tr class="a"><th>GroupId</th><th>ArtifactId</th><th>Version</th></tr><tr class="b"><td>org.apache.felix</td><td><a class="externalLink" href="http://felix.apache.org/maven-bundle-plugin/">maven-bundle-plugin</a></td><td>2.3.7</td></tr><tr class="a"><td>org.apache.maven.plugins</td><td><a class="externalLink" href="http://maven.apache.org/plugins/maven-antrun-plugin/">maven-antrun-plugin</a></td><td>1.6</td></tr><tr class="b"><td>org.apache.maven.plugins</td><td><a class="externalLink" href="http://maven.apache.org/plugins/maven-assembly-plugin/">maven-assembly-plugin</a></td><td>2.4</td></tr><tr class="a"><td>org.apache.maven.plugins</td><td><a class="externalLink" href="http://maven.apache.org/plugins/maven-clean-plugin/">maven-clean-plugin</a></td><td>2.5</td></tr><tr class="b"><td>org.apache.maven.plugins</td><td><a class="externalLink" href="http://maven.apache.org/plugins/maven-compiler-plugin/">maven-compiler-plugin</a></td><td>3.1</td></tr><tr class="a"><td>org.apache.maven.plugins</td><td><a class="externalLink" href="http://maven.apache.org/plugins/maven-dependency-plugin/">maven-dependency-plugin</a></td><td>2.5.1</td></tr><tr class="b"><td>org.apache.maven.plugins</td><td><a class="externalLink" href="http://maven.apache.org/plugins/maven-deploy-plugin/">maven-deploy-plugin</a></td><td>2.7</td></tr><tr class="a"><td>org.apache.maven.plugins</td><td><a class="externalLink" href="http://maven.apache.org/plugins/maven-docck-plugin/">maven-docck-plugin</a></td><td>1.0</td></tr><tr class="b"><td>org.apache.maven.plugins</td><td><a class="externalLink" href="http://maven.apache.org/plugins/maven-enforcer-plugin/">maven-enforcer-plugin</a></td><td>1.1.1</td></tr><tr class="a"><td>org.apache.maven.plugins</td><td><a class="externalLink" href="http://maven.apache.org/plugins/maven-gpg-plugin/">maven-gpg-plugin</a></td><td>1.4</td></tr><tr class="b"><td>org.apache.maven.plugins</td><td><a class="externalLink" href="http://maven.apache.org/plugins/maven-idea-plugin/">maven-idea-plugin</a></td><td>2.2</td></tr><tr class="a"><td>org.apache.maven.plugins</td><td><a class="externalLink" href="http://maven.apache.org/plugins/maven-install-plugin/">maven-install-plugin</a></td><td>2.3.1</td></tr><tr class="b"><td>org.apache.maven.plugins</td><td><a class="externalLink" href="http://maven.apache.org/plugins/maven-invoker-plugin/">maven-invoker-plugin</a></td><td>1.5</td></tr><tr class="a"><td>org.apache.maven.plugins</td><td><a class="externalLink" href="http://maven.apache.org/plugins/maven-jar-plugin/">maven-jar-plugin</a></td><td>2.4</td></tr><tr class="b"><td>org.apache.maven.plugins</td><td><a class="externalLink" href="http://maven.apache.org/plugins/maven-javadoc-plugin/">maven-javadoc-plugin</a></td><td>2.9</td></tr><tr class="a"><td>org.apache.maven.plugins</td><td><a class="externalLink" href="http://maven.apache.org/plugins/maven-plugin-plugin/">maven-plugin-plugin</a></td><td>2.7</td></tr><tr class="b"><td>org.apache.maven.plugins</td><td><a class="externalLink" href="http://maven.apache.org/plugins/maven-release-plugin/">maven-release-plugin</a></td><td>2.3.2</td></tr><tr class="a"><td>org.apache.maven.plugins</td><td><a class="externalLink" href="http://maven.apache.org/plugins/maven-remote-resources-plugin/">maven-remote-resources-plugin</a></td><td>1.3</td></tr><tr class="b"><td>org.apache.maven.plugins</td><td><a class="externalLink" href="http://maven.apache.org/plugins/maven-resources-plugin/">maven-resources-plugin</a></td><td>2.6</td></tr><tr class="a"><td>org.apache.maven.plugins</td><td><a class="externalLink" href="http://maven.apache.org/plugins/maven-scm-plugin/">maven-scm-plugin</a></td><td>1.4</td></tr><tr class="b"><td>org.apache.maven.plugins</td><td><a class="externalLink" href="http://maven.apache.org/plugins/maven-scm-publish-plugin">maven-scm-publish-plugin</a></td><td>1.0-beta-2</td></tr><tr class="a"><td>org.apache.maven.plugins</td><td><a class="externalLink" href="http://maven.apache.org/plugins/maven-site-plugin/">maven-site-plugin</a></td><td>3.2</td></tr><tr class="b"><td>org.apache.maven.plugins</td><td><a class="externalLink" href="http://maven.apache.org/plugins/maven-source-plugin/">maven-source-plugin</a></td><td>2.1.2</td></tr><tr class="a"><td>org.apache.maven.plugins</td><td><a class="externalLink" href="http://maven.apache.org/surefire/maven-surefire-plugin">maven-surefire-plugin</a></td><td>2.14.1</td></tr><tr class="b"><td>org.apache.maven.plugins</td><td><a class="externalLink" href="http://maven.apache.org/plugins/maven-war-plugin/">maven-war-plugin</a></td><td>2.3</td></tr><tr class="a"><td>org.apache.rat</td><td><a class="externalLink" href="http://incubator.apache.org/rat/apache-rat-plugin">apache-rat-plugin</a></td><td>0.8</td></tr><tr class="b"><td>org.apache.tomcat.maven</td><td><a class="externalLink" href="http://tomcat.apache.org/maven-plugin-trunk/tomcat6-maven-plugin">tomcat6-maven-plugin</a></td><td>2.1</td></tr><tr class="a"><td>org.apache.tomcat.maven</td><td><a class="externalLink" href="http://tomcat.apache.org/maven-plugin-trunk/tomcat7-maven-plugin">tomcat7-maven-plugin</a></td><td>2.1</td></tr><tr class="b"><td>org.codehaus.modello</td><td><a class="externalLink" href="http://modello.codehaus.org/modello-maven-plugin/">modello-maven-plugin</a></td><td>1.7</td></tr><tr class="a"><td>org.codehaus.mojo</td><td><a class="externalLink" href="http://mojo.codehaus.org/appassembler/appassembler-maven-plugin">appassembler-maven-plugin</a></td><td>1.3</td></tr><tr class="b"><td>org.codehaus.mojo</td><td><a class="externalLink" href="http://mojo.codehaus.org/build-helper-maven-plugin">build-helper-maven-plugin</a></td><td>1.8</td></tr><tr class="a"><td>org.codehaus.mojo</td><td><a class="externalLink" href="http://mojo.codehaus.org/buildnumber-maven-plugin">buildnumber-maven-plugin</a></td><td>1.1</td></tr><tr class="b"><td>org.codehaus.mojo</td><td><a class="externalLink" href="http://mojo.codehaus.org/clirr-maven-plugin">clirr-maven-plugin</a></td><td>2.3</td></tr><tr class="a"><td>org.codehaus.mojo</td><td><a class="externalLink" href="http://mojo.codehaus.org/exec-maven-plugin">exec-maven-plugin</a></td><td>1.2</td></tr><tr class="b"><td>org.codehaus.plexus</td><td>plexus-maven-plugin</td><td>1.3.8</td></tr></table></div>
                  </div>
          </div>

    <hr/>

    <footer>
            <div class="container">
              <div class="row span12">Copyright &copy;                    2006-2013
                        <a href="http://www.apache.org/">The Apache Software Foundation</a>.
            All Rights Reserved.      
                    
      </div>

        
                <p id="poweredBy" class="pull-right">
                          <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
        <img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
      </a>
              </p>
        
          
    
    
                
    <div id="ohloh" class="pull-right">
      <script type="text/javascript" src="http://www.ohloh.net/p/6670/widgets/project_basic_stats.js"></script>
    </div>
        </div>
    </footer>
  </body>
</html>