<!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 - Project Dependencies</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>Modules</h5>
        <ul>
              
    <li class="none">
              <a href="archiva-checksum/index.html">Archiva Checksum</a>
        </li>
              
    <li class="none">
              <a href="archiva-common/index.html">Archiva Base :: Common</a>
        </li>
              
    <li class="none">
              <a href="archiva-policies/index.html">Archiva Base :: Policies</a>
        </li>
              
    <li class="none">
              <a href="archiva-configuration/index.html">Archiva Base :: Configuration</a>
        </li>
              
    <li class="none">
              <a href="archiva-consumers/index.html">Archiva Consumers</a>
        </li>
              
    <li class="none">
              <a href="archiva-model/index.html">Archiva Base :: Model</a>
        </li>
              
    <li class="none">
              <a href="archiva-xml-tools/index.html">Archiva Base :: XML Tools</a>
        </li>
              
    <li class="none">
              <a href="archiva-repository-layer/index.html">Archiva Repository Interface Layer</a>
        </li>
              
    <li class="none">
              <a href="archiva-indexer/index.html">Archiva Base :: Indexer</a>
        </li>
              
    <li class="none">
              <a href="archiva-dependency-graph/index.html">Archiva Base :: Dependency Graph</a>
        </li>
              
    <li class="none">
              <a href="archiva-proxy/index.html">Archiva Base :: Proxy</a>
        </li>
              
    <li class="none">
              <a href="archiva-transaction/index.html">Archiva Transactions</a>
        </li>
              
    <li class="none">
              <a href="archiva-artifact-converter/index.html">Archiva Artifact Converter</a>
        </li>
              
    <li class="none">
              <a href="archiva-converter/index.html">Archiva Base :: Repository Converter</a>
        </li>
          </ul>
          <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">
              <strong>Dependencies</strong>
        </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">
              <a href="plugin-management.html">Plugin Management</a>
        </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 Dependencies</h2><div class="section"><h3>test</h3><p>The following is a list of test dependencies for this project. These dependencies are only required to compile and run unit tests for the application:</p><table class="bodyTable"><tr class="a"><th>GroupId</th><th>ArtifactId</th><th>Version</th><th>Type</th></tr><tr class="b"><td>easymock</td><td>easymock</td><td>1.2_Java1.3</td><td>jar</td></tr><tr class="a"><td>easymock</td><td><a href="http://www.easymock.org">easymockclassextension</a></td><td>1.2</td><td>jar</td></tr><tr class="b"><td>junit</td><td><a href="http://junit.org">junit</a></td><td>3.8.1</td><td>jar</td></tr></table></div></div><div class="section"><h2>Project Transitive Dependencies</h2><p>The following is a list of transitive dependencies for this project. Transitive dependencies are the dependencies of the project dependencies.</p><div class="section"><h3>test</h3><p>The following is a list of test dependencies for this project. These dependencies are only required to compile and run unit tests for the application:</p><table class="bodyTable"><tr class="a"><th>GroupId</th><th>ArtifactId</th><th>Version</th><th>Type</th></tr><tr class="b"><td>cglib</td><td>cglib-nodep</td><td>2.1</td><td>jar</td></tr></table></div></div><div class="section"><h2>Project Dependency Graph</h2><script language="javascript" type="text/javascript">
      function toggleDependencyDetail( divId, imgId )
      {
        var div = document.getElementById( divId );
        var img = document.getElementById( imgId );
        if( div.style.display == '' )
        {
          div.style.display = 'none';
          img.src='./images/icon_info_sml.gif';
        }
        else
        {
          div.style.display = '';
          img.src='./images/close.gif';
        }
      }
</script>
<div class="section"><h3>Dependency Tree</h3><ul><li>org.apache.archiva:archiva-base:pom:1.3.5 <img id="_1940706439" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_518838522', '_1940706439' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_518838522" style="display:none"><table class="bodyTable"><tr class="a"><th>Archiva Base</th></tr><tr class="b"><td><p><b>Description: </b>Archiva is an application for managing one or more remote
    repositories, including administration, artifact handling,
    browsing and searching.</p><p><b>URL: </b><a href="http://archiva.apache.org/ref/1.3.5/archiva-base">http://archiva.apache.org/ref/1.3.5/archiva-base</a></p><p><b>Project License: </b><a href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div><ul><li>junit:junit:jar:3.8.1 (test) <img id="_2003916006" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_2034047969', '_2003916006' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_2034047969" style="display:none"><table class="bodyTable"><tr class="a"><th>JUnit</th></tr><tr class="b"><td><p><b>Description: </b>JUnit is a regression testing framework written by Erich Gamma and Kent Beck. It is used by the developer who implements unit tests in Java.</p><p><b>URL: </b><a href="http://junit.org">http://junit.org</a></p><p><b>Project License: </b><a href="http://www.opensource.org/licenses/cpl1.0.txt">Common Public License Version 1.0</a></p></td></tr></table></div></li><li>easymock:easymock:jar:1.2_Java1.3 (test) <img id="_2031716226" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_984618895', '_2031716226' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_984618895" style="display:none"><table class="bodyTable"><tr class="a"><th>EasyMock 1.2_Java1.3</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>Project License: </b>No project license is defined for this project.</p></td></tr></table></div></li><li>easymock:easymockclassextension:jar:1.2 (test) <img id="_811201433" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_635331069', '_811201433' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_635331069" style="display:none"><table class="bodyTable"><tr class="a"><th>Easymock Class Extensions</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>URL: </b><a href="http://www.easymock.org">http://www.easymock.org</a></p><p><b>Project License: </b><a href="http://www.easymock.org/License.html">EasyMock 2 License (MIT License)</a></p></td></tr></table></div><ul><li>easymock:easymock:jar:1.2_Java1.3 (test) <img id="_1478486241" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_933866768', '_1478486241' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_933866768" style="display:none"><table class="bodyTable"><tr class="a"><th>EasyMock 1.2_Java1.3</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>Project License: </b>No project license is defined for this project.</p></td></tr></table></div></li><li>cglib:cglib-nodep:jar:2.1 (test) <img id="_1792773102" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_851591472', '_1792773102' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_851591472" style="display:none"><table class="bodyTable"><tr class="a"><th>cglib</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>Project License: </b>No project license is defined for this project.</p></td></tr></table></div></li></ul></li></ul></li></ul></div></div><div class="section"><h2>Licenses</h2><p><b>EasyMock 2 License (MIT License): </b>Easymock Class Extensions</p><p><b>Unknown: </b>EasyMock 1.2_Java1.3, cglib</p><p><b>Common Public License Version 1.0: </b>JUnit</p><p><b>The Apache Software License, Version 2.0: </b>Archiva Base</p></div><div class="section"><h2>Dependency File Details</h2><table class="bodyTable"><tbody><tr class="a"><th align="left">Filename</th><th align="right">Size</th><th align="right">Entries</th><th align="right">Classes</th><th align="right">Packages</th><th align="center">JDK Rev</th><th align="center">Debug</th></tr><tr class="b"><td align="left">cglib-nodep-2.1.jar</td><td align="right">316.30 kB</td><td align="right">262</td><td align="right">258</td><td align="right">10</td><td align="center">1.1</td><td align="center">debug</td></tr><tr class="a"><td align="left">easymock-1.2_Java1.3.jar</td><td align="right">35.93 kB</td><td align="right">37</td><td align="right">32</td><td align="right">2</td><td align="center">1.3</td><td align="center">debug</td></tr><tr class="b"><td align="left">easymockclassextension-1.2.jar</td><td align="right">11.67 kB</td><td align="right">14</td><td align="right">8</td><td align="right">2</td><td align="center">1.3</td><td align="center">debug</td></tr><tr class="a"><td align="left">junit-3.8.1.jar</td><td align="right">118.23 kB</td><td align="right">119</td><td align="right">100</td><td align="right">6</td><td align="center">1.1</td><td align="center">debug</td></tr><tr class="b"><th align="left">Total</th><th align="right">Size</th><th align="right">Entries</th><th align="right">Classes</th><th align="right">Packages</th><th align="center">JDK Rev</th><th align="center">Debug</th></tr><tr class="a"><td align="right">4</td><td align="right">482.13 kB</td><td align="right">432</td><td align="right">398</td><td align="right">20</td><td align="center">1.3</td><td align="right">4</td></tr><tr class="b"><td align="right">test: 4</td><td align="right">test: 482.13 kB</td><td align="right">test: 432</td><td align="right">test: 398</td><td align="right">test: 20</td><td align="center">-</td><td align="right">test: 4</td></tr></tbody></table></div><div class="section"><h2>Dependency Repository Locations</h2><table class="bodyTable"><tbody><tr class="a"><th align="left">Repo ID</th><th align="left">URL</th><th align="center">Release</th><th align="center">Snapshot</th></tr><tr class="b"><td align="left">codehaus.org.snapshots</td><td align="left"><a href="http://snapshots.repository.codehaus.org">http://snapshots.repository.codehaus.org</a></td><td align="center">-</td><td align="center">Yes</td></tr><tr class="a"><td align="left">maven.eclipse</td><td align="left"><a href="http://repository.sonatype.org/content/groups/maven-eclipse/">http://repository.sonatype.org/content/groups/maven-eclipse/</a></td><td align="center">Yes</td><td align="center">Yes</td></tr><tr class="b"><td align="left">apache.snapshots</td><td align="left"><a href="http://people.apache.org/repo/m2-snapshot-repository">http://people.apache.org/repo/m2-snapshot-repository</a></td><td align="center">-</td><td align="center">Yes</td></tr><tr class="a"><td align="left">apache.org.snapshots</td><td align="left"><a href="http://people.apache.org/repo/m2-snapshot-repository">http://people.apache.org/repo/m2-snapshot-repository</a></td><td align="center">-</td><td align="center">Yes</td></tr><tr class="b"><td align="left">central</td><td align="left"><a href="http://repo1.maven.org/maven2">http://repo1.maven.org/maven2</a></td><td align="center">Yes</td><td align="center">-</td></tr><tr class="a"><td align="left">redback.snapshots</td><td align="left"><a href="http://snapshots.repository.codehaus.org/">http://snapshots.repository.codehaus.org/</a></td><td align="center">-</td><td align="center">Yes</td></tr></tbody></table><p>Repository locations for each of the Dependencies.</p><table class="bodyTable"><tbody><tr class="b"><th align="left">Artifact</th><th align="center">codehaus.org.snapshots</th><th align="center">maven.eclipse</th><th align="center">apache.snapshots</th><th align="center">apache.org.snapshots</th><th align="center">central</th><th align="center">redback.snapshots</th></tr><tr class="a"><td align="left">cglib:cglib-nodep:jar:2.1</td><td align="center">-</td><td align="center">-</td><td align="center">-</td><td align="center">-</td><td align="center"><a href="http://repo1.maven.org/maven2/cglib/cglib-nodep/2.1/cglib-nodep-2.1.jar"><img alt="Found at http://repo1.maven.org/maven2" src="images/icon_success_sml.gif" /></a></td><td align="center">-</td></tr><tr class="b"><td align="left">easymock:easymock:jar:1.2_Java1.3</td><td align="center">-</td><td align="center">-</td><td align="center">-</td><td align="center">-</td><td align="center"><a href="http://repo1.maven.org/maven2/easymock/easymock/1.2_Java1.3/easymock-1.2_Java1.3.jar"><img alt="Found at http://repo1.maven.org/maven2" src="images/icon_success_sml.gif" /></a></td><td align="center">-</td></tr><tr class="a"><td align="left">easymock:easymockclassextension:jar:1.2</td><td align="center">-</td><td align="center">-</td><td align="center">-</td><td align="center">-</td><td align="center"><a href="http://repo1.maven.org/maven2/easymock/easymockclassextension/1.2/easymockclassextension-1.2.jar"><img alt="Found at http://repo1.maven.org/maven2" src="images/icon_success_sml.gif" /></a></td><td align="center">-</td></tr><tr class="b"><td align="left">junit:junit:jar:3.8.1</td><td align="center">-</td><td align="center">-</td><td align="center">-</td><td align="center">-</td><td align="center"><a href="http://repo1.maven.org/maven2/junit/junit/3.8.1/junit-3.8.1.jar"><img alt="Found at http://repo1.maven.org/maven2" src="images/icon_success_sml.gif" /></a></td><td align="center">-</td></tr><tr class="a"><th align="left">Total</th><th align="center">codehaus.org.snapshots</th><th align="center">maven.eclipse</th><th align="center">apache.snapshots</th><th align="center">apache.org.snapshots</th><th align="center">central</th><th align="center">redback.snapshots</th></tr><tr class="b"><td align="left">4 (test: 4)</td><td align="center">0</td><td align="center">0</td><td align="center">0</td><td align="center">0</td><td align="center">4</td><td align="center">0</td></tr></tbody></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>
