<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
               "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!--
  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. 
-->
<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <link rel="stylesheet" href="../style/bootstrap-1-3-0-min.css" type="text/css" />
  <link rel="stylesheet" href="../style/style.css" type="text/css" />
    <link rel="alternate" title="
          general@incubator.apache.org Archives
        " type="application/atom+xml" href="http://mail-archives.apache.org/mod_mbox/incubator-general/?format=atom" />
    <title>
          Audit Report For
          2008-05-07 - Apache Incubator</title>
  
 </head>
 <body>
 <div class="container">
  <div class="row">
<div class="span12">
  <a href="http://www.apache.org/"><img src="http://incubator.apache.org/images/asf_logo_wide_small.png" alt="The Apache Software Foundation" border="0" style="margin-top: 2px" width="62%"/></a>
</div>
<div class="span4">
<a href="http://incubator.apache.org/"><img src="../images/egg-logo2.png" alt="Apache Incubator" border="0"/></a>
</div>
</div>
  <div class="row"><div class="span16"><hr noshade="noshade" size="1"/></div></div>
  
  <div class="row">
   <div class="span4">
    <form action="http://www.google.com/search" method="get">
     <input value="incubator.apache.org" name="sitesearch" type="hidden"/>
     <input size="20" name="q" id="query" type="text" value="search..."
      onclick="if(this.value == 'search...') {this.value = ''}"/>
     <input name="Search" value="Go" type="submit"/>
    </form>
          <div class="menuheader">General</div>
    <menu compact="compact">
          <li><a href="../index.html">Welcome</a></li> 
          <li><a href="../incubation/Process_Description.html">Incubation Overview</a></li> 
          <li><a href="../incubation/Incubation_Policy.html">Incubation Policy</a></li> 
          <li><a href="../guides/index.html">Incubation Guides</a></li> 
          <li><a href="../incubation/Roles_and_Responsibilities.html">Roles and Responsibilities</a></li> 
          <li><a href="../faq.html">General FAQ</a></li> 
          <li><a href="http://wiki.apache.org/incubator">Incubator Wiki</a></li> 
          <li><a href="../whoweare.html">Who We Are</a></li> 
          <li><a href="../sitemap.html">Site Map</a></li> 
            </menu>
      <div class="menuheader">Status</div>
    <menu compact="compact">
          <li><a href="../projects/index.html">Project List</a></li> 
          <li><a href="../clutch.html">Clutch Report</a></li> 
          <li><a href="../ip-clearance/index.html">IP Clearance</a></li> 
          <li><a href="../history/index.html">Incubator History</a></li> 
            </menu>
      <div class="menuheader">Entry Guides</div>
    <menu compact="compact">
          <li><a href="../guides/proposal.html">Proposal Guide</a></li> 
            </menu>
      <div class="menuheader">Podling Guides</div>
    <menu compact="compact">
          <li><a href="../guides/committer.html">Podling Committers</a></li> 
          <li><a href="../guides/ppmc.html">Podling PMC (PPMC)</a></li> 
          <li><a href="../guides/mentor.html">Podling Mentor</a></li> 
          <li><a href="../guides/releasemanagement.html">Podling Releases</a></li> 
          <li><a href="../guides/branding.html">Podling Branding/Publicity</a></li> 
          <li><a href="../guides/sites.html">Podling Websites</a></li> 
          <li><a href="../guides/graduation.html">Graduation</a></li> 
          <li><a href="../guides/retirement.html">Retirement</a></li> 
            </menu>
      <div class="menuheader">Other Guides</div>
    <menu compact="compact">
          <li><a href="../guides/participation.html">Participation</a></li> 
          <li><a href="../faq.html">General FAQ</a></li> 
          <li><a href="../guides/pmc.html">Incubator PMC (IPMC)</a></li> 
          <li><a href="../guides/chair.html">IPMC Chair</a></li> 
          <li><a href="../guides/lists.html">Mailing Lists</a></li> 
          <li><a href="../guides/website.html">Incubator Website</a></li> 
            </menu>
      <div class="menuheader">ASF</div>
    <menu compact="compact">
          <li><a href="http://www.apache.org/foundation/how-it-works.html">How Apache Works</a></li> 
          <li><a href="http://www.apache.org/dev/">Developer Documentation</a></li> 
          <li><a href="http://www.apache.org/foundation/">Foundation</a></li> 
          <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsor Apache</a></li> 
          <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li> 
            </menu>
    <!-- start Ads Server -->
    <iframe src="http://www.apache.org/ads/buttonbar.html"
     style="border-width:0; float: left" frameborder="0" scrolling="no"
     width="135" height="265"></iframe>
    <!-- end Ads Server -->
   </div>
   
   <div class="span12">
            <h2 id='Overview'><img src="../images/redarrow.gif" />Overview</h2>
<div class="section-content">
<p>
            This report audits the changes made from
            2008-05-05
            till
            2008-05-07
            in:
          </p>
<ul>
<li>
<a href="http://www.apache.org/dist/incubator">
                www.apache.org/dist/incubator
              </a>
</li>
<li>
<a href="http://archive.apache.org/dist/incubator">
                archive.apache.org/dist/incubator
              </a>
</li>
</ul>
</div>
        <h2 id='summary'><img src="../images/redarrow.gif" />Summary</h2>
<div class="section-content">
<ul>
<li>40 files were <a href="#added">added</a>
</li>
<li>0 files were <a href="#modified">modified</a>
</li>
<li>1 files were <a href="#deleted">deleted</a>
</li>
</ul>
</div>
        <h2 id='details'><img src="../images/redarrow.gif" />Details</h2>
<div class="section-content">
<h3 id='added'>Modified</h3>
<div class="section-content">
<ul />
</div>
<h3 id='added'>Added</h3>
<div class="section-content">
<ul>
<li>
<strong>RELEASE_NOTES-uimaj-2.2.2-incubating.html</strong> in /www/www.apache.org/dist/incubator/uima</li>
<li>
<strong>RELEASE_NOTES-uimaj-2.2.2-incubating.txt</strong> in /www/www.apache.org/dist/incubator/uima</li>
<li>
<strong>RELEASE_NOTES-uimaj-annotator-2.2.2-incubating.html</strong> in /www/www.apache.org/dist/incubator/uima</li>
<li>
<strong>RELEASE_NOTES-uimaj-annotator-2.2.2-incubating.txt</strong> in /www/www.apache.org/dist/incubator/uima</li>
<li>
<strong>uimaj-2.2.2-incubating-bin.tar.bz2</strong> in /www/www.apache.org/dist/incubator/uima/binaries/uimaj-2.2.2-incubating</li>
<li>
<strong>uimaj-2.2.2-incubating-bin.tar.gz</strong> in /www/www.apache.org/dist/incubator/uima/binaries/uimaj-2.2.2-incubating</li>
<li>
<strong>uimaj-2.2.2-incubating-bin.zip</strong> in /www/www.apache.org/dist/incubator/uima/binaries/uimaj-2.2.2-incubating</li>
<li>
<strong>uimaj-annotator-addons-2.2.2-incubating-bin.tar.bz2</strong> in /www/www.apache.org/dist/incubator/uima/binaries/uimaj-annotator-addons-2.2.2-incubating</li>
<li>
<strong>uimaj-annotator-addons-2.2.2-incubating-bin.tar.gz</strong> in /www/www.apache.org/dist/incubator/uima/binaries/uimaj-annotator-addons-2.2.2-incubating</li>
<li>
<strong>uimaj-annotator-addons-2.2.2-incubating-bin.zip</strong> in /www/www.apache.org/dist/incubator/uima/binaries/uimaj-annotator-addons-2.2.2-incubating</li>
<li>
<strong>digest.zip</strong> in /www/www.apache.org/dist/incubator/uima/eclipse-update-site</li>
<li>
<strong>index.html</strong> in /www/www.apache.org/dist/incubator/uima/eclipse-update-site</li>
<li>
<strong>site.xml</strong> in /www/www.apache.org/dist/incubator/uima/eclipse-update-site</li>
<li>
<strong>org.apache.uima.runtime_2.2.1.incubating.jar</strong> in /www/www.apache.org/dist/incubator/uima/eclipse-update-site/features</li>
<li>
<strong>org.apache.uima.runtime_2.2.2.incubating.jar</strong> in /www/www.apache.org/dist/incubator/uima/eclipse-update-site/features</li>
<li>
<strong>org.apache.uima.tools_2.2.1.incubating.jar</strong> in /www/www.apache.org/dist/incubator/uima/eclipse-update-site/features</li>
<li>
<strong>org.apache.uima.tools_2.2.2.incubating.jar</strong> in /www/www.apache.org/dist/incubator/uima/eclipse-update-site/features</li>
<li>
<strong>org.apache.uima.debug_2.2.1.incubating.jar</strong> in /www/www.apache.org/dist/incubator/uima/eclipse-update-site/plugins</li>
<li>
<strong>org.apache.uima.debug_2.2.2.incubating.jar</strong> in /www/www.apache.org/dist/incubator/uima/eclipse-update-site/plugins</li>
<li>
<strong>org.apache.uima.debug_2.2.2.incubating.jar.pack.gz</strong> in /www/www.apache.org/dist/incubator/uima/eclipse-update-site/plugins</li>
<li>
<strong>org.apache.uima.desceditor_2.2.1.incubating.jar</strong> in /www/www.apache.org/dist/incubator/uima/eclipse-update-site/plugins</li>
<li>
<strong>org.apache.uima.desceditor_2.2.2.incubating.jar</strong> in /www/www.apache.org/dist/incubator/uima/eclipse-update-site/plugins</li>
<li>
<strong>org.apache.uima.desceditor_2.2.2.incubating.jar.pack.gz</strong> in /www/www.apache.org/dist/incubator/uima/eclipse-update-site/plugins</li>
<li>
<strong>org.apache.uima.jcas.jcasgenp_2.2.1.incubating.jar</strong> in /www/www.apache.org/dist/incubator/uima/eclipse-update-site/plugins</li>
<li>
<strong>org.apache.uima.jcas.jcasgenp_2.2.2.incubating.jar</strong> in /www/www.apache.org/dist/incubator/uima/eclipse-update-site/plugins</li>
<li>
<strong>org.apache.uima.jcas.jcasgenp_2.2.2.incubating.jar.pack.gz</strong> in /www/www.apache.org/dist/incubator/uima/eclipse-update-site/plugins</li>
<li>
<strong>org.apache.uima.pear_2.2.1.incubating.jar</strong> in /www/www.apache.org/dist/incubator/uima/eclipse-update-site/plugins</li>
<li>
<strong>org.apache.uima.pear_2.2.2.incubating.jar</strong> in /www/www.apache.org/dist/incubator/uima/eclipse-update-site/plugins</li>
<li>
<strong>org.apache.uima.pear_2.2.2.incubating.jar.pack.gz</strong> in /www/www.apache.org/dist/incubator/uima/eclipse-update-site/plugins</li>
<li>
<strong>org.apache.uima.runtime_2.2.1.incubating.jar</strong> in /www/www.apache.org/dist/incubator/uima/eclipse-update-site/plugins</li>
<li>
<strong>org.apache.uima.runtime_2.2.2.incubating.jar</strong> in /www/www.apache.org/dist/incubator/uima/eclipse-update-site/plugins</li>
<li>
<strong>org.apache.uima.runtime_2.2.2.incubating.jar.pack.gz</strong> in /www/www.apache.org/dist/incubator/uima/eclipse-update-site/plugins</li>
<li>
<strong>site.css</strong> in /www/www.apache.org/dist/incubator/uima/eclipse-update-site/web</li>
<li>
<strong>site.xsl</strong> in /www/www.apache.org/dist/incubator/uima/eclipse-update-site/web</li>
<li>
<strong>uimaj-2.2.2-incubating-src.tar.bz2</strong> in /www/www.apache.org/dist/incubator/uima/source/uimaj-2.2.2-incubating</li>
<li>
<strong>uimaj-2.2.2-incubating-src.tar.gz</strong> in /www/www.apache.org/dist/incubator/uima/source/uimaj-2.2.2-incubating</li>
<li>
<strong>uimaj-2.2.2-incubating-src.zip</strong> in /www/www.apache.org/dist/incubator/uima/source/uimaj-2.2.2-incubating</li>
<li>
<strong>uimaj-annotator-addons-2.2.2-incubating-src.tar.bz2</strong> in /www/www.apache.org/dist/incubator/uima/source/uimaj-annotator-addons-2.2.2-incubating</li>
<li>
<strong>uimaj-annotator-addons-2.2.2-incubating-src.tar.gz</strong> in /www/www.apache.org/dist/incubator/uima/source/uimaj-annotator-addons-2.2.2-incubating</li>
<li>
<strong>uimaj-annotator-addons-2.2.2-incubating-src.zip</strong> in /www/www.apache.org/dist/incubator/uima/source/uimaj-annotator-addons-2.2.2-incubating</li>
</ul>
</div>
<h3 id='deleted'>Deleted</h3>
<div class="section-content">
<ul>
<li>
<strong>.htaccess</strong> in /www/www.apache.org/dist/incubator/uima</li>
</ul>
</div>
</div>
       </div>
   </div>
  
   <div class="row"><div class="span16"><hr noshade="noshade" size="1"/></div></div>
  <div class="row">
   <div class="span16 footer">
     Copyright &#169; 2009-2016 The Apache Software Foundation<br />
     Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.<br/>
     Apache Incubator, Apache, the Apache feather logo, and the Apache Incubator project logo are trademarks of The Apache Software Foundation.
     
     
    </div>
  </div>
 </div> 
 </body>
</html>
