<?xml version="1.0" encoding="ISO-8859-1"?>
<project>
  <!--
     - This example is annotated to be instructive. In order to be instructive, the
     - example is a mish-mash of information from a variety of projects. Obviously, 
     - when you write the project-info.xml file for your project, the file will 
     - contain information only about your one project.
    -->
  <!--
     - Unless otherwise specified, all URLs are to be specified using rooted relative
     - paths. In other words:
     -    CORRECT: "/webtools/foo/bar.php"
     -    INCORRECT: "foo/bar.php"
     -    INCORRECT: "http://www.eclipse.org/webtools/foo/bar.php"
    -->
  
  <!--
     - Each Eclipse project as an official name, e.g., 
     - "AJDT - AspectJ Development Tools Project" and a foundation database 
     - key, e.g., "technology.ajdt". These are stored in an Eclipse Foundation
     - database; You can override the name stored on the database by filling 
     - the <name/> tag
    -->
  <name>Gemini JPA</name>
    
  <!--     
     - Each project can also have a short name to be used in HTML lists and 
     - other horizontally challenged places.
    -->
  <short-name>Gemini JPA</short-name>
  
  <!--
     - Each Eclipse project has one or more Bugzilla products and components.
     - Some projects also have a separate web page describing how to submit
     - a bug, how bugs are prioritized, and other useful information.
     - The <bugzilla> collects this information.
     - 
     - <bugzilla url="..."> <product name="..."/> ... </bugzilla>
     - The url is optional; if absent, the url will default to the Bugzilla
     - page of the first product. Multiple <product>s are allowed.
    -->
  <bugzilla>
    <product name="gemini.JPA"/>
  </bugzilla>

  <!--
     - Committers and non-committer Contributors are the raison d'etre of 
     - an Eclipse project, thus each project should list and acknowledge these
     - developers. Some of the Committers are 'special' in the sense that
     - they are the project leaders.  The <team> element contains the 
     - URL of the project's pages listing these important people.
    -->
  <team url="/gemini/jpa/project-info/committers.php" />
  
  <!--
     - The source code of each Eclipse project is stored in CVS. Eclipse maintains
     - a number of CVS repositories, thus the <cvs> element specifies which
     - CVS repository and (if applicable) which root path stores this project's
     - source code.
     -
     - A top-level project typically specifies only the repository:
     -     <cvs repository="/cvsroot/tptp"/>
     - A sub-project includes the root path as well:
     -     <cvs repository="/cvsroot/technology/">
     -       <module path="org.eclipse.higgins" />
     -     </cvs>
    -->
  <cvs repository="/rt/">
    <module path="org.eclipse.gemini.jpa" /> 
  </cvs>

  <!--
     - The description of an Eclipse project shows up in many places: the
     - project's home page, perhaps the /projects/ page listing all the
     - top-level projects, in the Roadmap, and so on. Some of the descriptions
     - are separate HTML files (such as those described in 
     - http://phoenix.eclipse.org/projects/dev_process/project-status-infrastructure.php).
     - It would be nice 
     - This <description> element contains two additional descriptions.
     -    1. The optional <description url="..."> points to a web page with a larger
     -       description of the entire project. 
     -    2. The required <description paragraph-url="..."> points to a file
     -       containing a couple of simple HTML paragraphs describing the project. 
     -       This file is often stored in the /project-info/ directory, thus the
     -       url would be something like "/tptp/project-info/description.html".
    -->
  <description url="/gemini/jpa/project-info/description.html"
     paragraph-url="/gemini/jpa/project-info/project-page-paragraph.html"/>
  
  <!--
     - In addition to the description, each Eclipse project is also required to
     - provide an up-to-date status summary. "Up to date" means revised at least
     - quarterly. 
     - The required <summary paragraph-url="..."> points to a file
     - containing a number of simple HTML paragraphs with an executive summary
     - of the project status.
     - This file is often stored in the /project-info/ directory, thus the
     - url would be something like "/technology/project-info/executive-summary.html".
    -->
  <summary paragraph-url="/gemini/jpa/project-info/executive-summary.html"/>

  <!--
     - It is important to help new users get started with an Eclipse project
     - because most Eclipse projects are solving some difficult technical
     - problem and thus are somewhat complex. The <getting-started> element
     - points to a web page on the project's site that describes how to
     - get started using and extending the project's tools and frameworks.
    -->
  <getting-started url="/gemini/jpa/documentation/" />
  
  <!--
     - It is also important to help new contributors get started with an Eclipse project.
     - Most Eclipse projects have interesting/complex development environment
     - setups or to-do lists. The <contributing> element
     - points to a web page on the project's site that describes how to
     - get started developing on, and contributing to, the project.
    -->
  <contributing url="/gemini/jpa/contribute/" />
  
  <!--
     - Each Eclipse project is required to maintain a current Project IP Log.
     - See http://www.eclipse.org/projects/dev_process/project-log.php
     - The <ip-log> contains the URL of that log.  If the project has
     - other legal information as well, it can use the <legal> element
     - instead and then include the IP Log information on the Legal web page.
    -->
  <ip-log url="/projects/ip_log.php?projectid=rt.gemini.jpa" /> 
  <legal url="" /> 

  <!--
     - Each Eclipse project has one or more mailing lists.
     - Some projects also have a separate web page describing these lists
     - while others rely on the main Eclipse mailing lists page.
     - 
     - <mailing-lists url="..."> <list name="..."/> ... </mailing-lists>
     - The url is optional; if absent, the url will default to the Eclipse
     - mailing lists page. Multiple <lists>s are allowed.
     -
     - Note that currently mailing lists must be redundantly listed in
     - the separate project-info/maillist file as well.
    -->
  <mailing-lists>
    <list name="gemini-dev"/>
  </mailing-lists>
  
  <!--
     - Each Eclipse project has one or more newsgroups.
     - Some projects also have a separate web page describing these lists
     - while others rely on the main Eclipse newsgroups page.
     - 
     - <newsgroups url="..."> <newsgroup name="..."/> ... </newsgroups>
     - The url is optional; if absent, the url will default to the Eclipse
     - newsgroups page. Multiple <newsgroups>s are allowed.
    -->
  <newsgroups>
    <newsgroup name="eclipse.rt.gemini" />
  </newsgroups>
  
  <!--
     - The dashboard attempts to measure the liveness of a project in many
     - ways including the traffic on the mailing lists and newsgroups. There
     - are other places where significant project-related traffic can occur
     - including blogs and articles. When listed here, the dashboard incorporates
     - them into the liveness measure (or rather, "will incorporate").
    -->
  <articles>
  </articles>
  
  <blogs>
  </blogs>
  
  <!--
     - Each Eclipse project needs to have a plan both for its internal purposes
     - (to guide development and resource allocation) and for the larger Eclipse
     - community and ecosystem to understand what will be delivered and when
     - it will be delivered.
    -->
  <project-plan url="/gemini/jpa/ProjectPlan_1_0.xml" />

  <!--
     - Each Eclipse project creates (optional) nightly builds and milestone builds,
     - but the important builds of a project are the releases. This section of the
     - status file records the completed (past) and scheduled (future) releases of
     - the project. 
     - The status, name, and date are required attributes. The download is optional
     - and only valid for completed releases; the plan is optional and valid for
     - all releases.  The three valid types of releases are, in order of ascending 
     - uncertainity: "completed", "scheduled", and "tentative".  Dates can be
     - specified as particular day DD/MM/YYYY (e.g., 22/03/2005) or a particular
     - month MM/YYYY (e.g., 10/2005), or a quarter NQYYYY (e.g., 3Q2005). Obviously
     - completed releases should include the exact day the release was completed.
     -
     - In the following example, we have three completed, two scheduled, and one 
     - tentative release.
    -->
  <releases>
  </releases>
</project>