<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
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.
-->
<rss version="0.91">
  <channel>
    <title>Archiva Base :: Consumers :: Lucene - Checkstyle report</title>
    <link>http://archiva.apache.org/ref/2.2.10/archiva-base/archiva-consumers/archiva-lucene-consumers</link>
    <description>Archiva Base :: Consumers :: Lucene - Checkstyle report</description>
    <language>en-us</language>
    <copyright>&#169;2006 - 2023 The Apache Software Foundation</copyright>
    <item>
      <title>File: 4,
             Errors: 50,
             Warnings: 8,
             Infos: 0
      </title>
            <link>http://archiva.apache.org/ref/2.2.10/archiva-base/archiva-consumers/archiva-lucene-consumers/checkstyle.html</link>
      <description>
        <p>Click <a href="http://archiva.apache.org/ref/2.2.10/archiva-base/archiva-consumers/archiva-lucene-consumers/checkstyle.html">here</a> for the full Checkstyle report.</p>

        <table summary="Files" boder="1">
          <thead>
            <tr>
              <th>Files</th>
              <th style="width:30px;"><abbr title="Info">I</abbr></th>
              <th style="width:30px;"><abbr title="Warning">W</abbr></th>
              <th style="width:30px;"><abbr title="Error">E</abbr></th>
            </tr>
          </thead>
          <tbody>
                          <tr>
                <td>
                  <a href="http://archiva.apache.org/ref/2.2.10/archiva-base/archiva-consumers/archiva-lucene-consumers/checkstyle.html#org.apache.archiva.consumers.lucene.NexusIndexerConsumer.java">org/apache/archiva/consumers/lucene/NexusIndexerConsumer.java</a>
                </td>
                <td>
                  0
                </td>
                <td>
                  4
                </td>
                <td>
                  0
                </td>
              </tr>
                          <tr>
                <td>
                  <a href="http://archiva.apache.org/ref/2.2.10/archiva-base/archiva-consumers/archiva-lucene-consumers/checkstyle.html#org.apache.archiva.consumers.lucene.test.TestRoleManager.java">org/apache/archiva/consumers/lucene/test/TestRoleManager.java</a>
                </td>
                <td>
                  0
                </td>
                <td>
                  0
                </td>
                <td>
                  1
                </td>
              </tr>
                          <tr>
                <td>
                  <a href="http://archiva.apache.org/ref/2.2.10/archiva-base/archiva-consumers/archiva-lucene-consumers/checkstyle.html#org.apache.archiva.consumers.lucene.NexusIndexerConsumerTest.java">org/apache/archiva/consumers/lucene/NexusIndexerConsumerTest.java</a>
                </td>
                <td>
                  0
                </td>
                <td>
                  4
                </td>
                <td>
                  4
                </td>
              </tr>
                          <tr>
                <td>
                  <a href="http://archiva.apache.org/ref/2.2.10/archiva-base/archiva-consumers/archiva-lucene-consumers/checkstyle.html#org.apache.archiva.consumers.lucene.test.TestRBACManager.java">org/apache/archiva/consumers/lucene/test/TestRBACManager.java</a>
                </td>
                <td>
                  0
                </td>
                <td>
                  0
                </td>
                <td>
                  45
                </td>
              </tr>
                      </tbody>
        </table>
        
      </description>
    </item>
  </channel>
</rss>

