<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
  Copyright 2005-2006 The Apache Software Foundation

  Licensed 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="Maven">
  <bannerLeft>
    <name>Pluto Maven Plugin</name>
    <src>http://portals.apache.org/pluto/images/pluto.png</src>
    <href>http://portals.apache.org/pluto</href>
  </bannerLeft>
  <bannerRight>
    <src>http://portals.apache.org/pluto/images/banner.png</src>
  </bannerRight>
  <body>
    <links>
      <item name="Pluto Home" href="http://portals.apache.org/pluto"/>
      <item name="JSR 168" href="http://jcp.org/en/jsr/detail?id=168"/>
	  <item name="Chinese Translation" href="http://heavyz.sourceforge.net/pluto_zh/pluto-container"/>
    </links>

	<menu name="Pluto Ant Tasks">
      <item name="Getting Started" href="/getting-started.html"/>
	</menu>

    ${reports}
  </body>
</project>
