<?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.
-->
<project name="Lang">
  <bannerRight>
    <name>Commons Testing</name>
    <src>/images/logo.png</src>
    <href>/index.html</href>
  </bannerRight>

  <body>
    <menu name="Testing">
      <item name="Overview" href="/index.html" />
      <item name="Download" href="/download_lang.cgi" />
    </menu>

    <menu name="Development">
      <item name="Building" href="/building.html" />
      <item name="Mailing Lists" href="/mail-lists.html" />
      <item name="Issue Tracking" href="/issue-tracking.html" />
      <item name="Developer Guide" href="/developerguide.html" />
      <item name="Source Repository" href="/scm.html" />
      <item name="Javadoc (latest)" href="apidocs/index.html" />
    </menu>

    <menu name="Components" inherit="top" img="icon-cog">
      <item name="Parent" href="index.html" />
      <item name="Generic" href="generic/index.html" />
      <item name="JUnit 4" href="junit4/index.html" />
      <item name="JUnit 4 for MongoDB" href="junit4-mongodb/index.html" />
    </menu>

  </body>

</project>
