<?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>Lyo Project</name>
    
  <!--     
     - Each project can also have a short name to be used in HTML lists and 
     - other horizontally challenged places.
    -->
  <short-name>Lyo</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="Lyo"/>
  </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="/lyo/about.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="/cvsroot/technology/">
    <module path="org.eclipse.lyo" /> 
  </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="/lyo/about.php"
     paragraph-url="/lyo/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="/technology/lyo/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="/lyo/docs/" />
  
  <!--
     - 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="/lyo/docs/" />
  
  <!--
     - 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="" /> 
  <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="lyo-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.technology.lyo" />
  </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="" />

  <!--
     - 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>