<?xml version='1.0' encoding='iso-8859-1'?>
<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"
	-->

	<name>Eclipse Packaging Project</name>
	<short-name>EPP</short-name>

	<bugzilla>
		<product name="EPP" />
	</bugzilla>

	<cvs repository="/cvsroot/technology/">
		<module path="org.eclipse.epp" />
	</cvs>

	<description url="/epp/index.php"
		paragraph-url="/epp/project-info/project-page-paragraph.html" />

	<leaders url="/epp/members.php" />
    <team url="/epp/members.php"/>

	<!--
		- 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".
		-
		-
		- Please provide the URL of the project summary paragraph
	-->
	<summary
		paragraph-url="/technology/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.
		-
		-
		- Please provide the URL of the project getting started guide     
	-->
	<getting-started url="http://wiki.eclipse.org/index.php/Category:EPP" />

	<!--
		- 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.
		-
		- Please provide the URL of the project getting started guide     
	-->
	<contributing url="http://wiki.eclipse.org/index.php/Category:EPP" />

	<!--
		- 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="" />
	-->

	<mailing-lists>
		<list name="epp-dev" />
		<list name="provisioning-dev" />
	</mailing-lists>

	<newsgroups>
		<newsgroup name="eclipse.technology.packaging" />
	</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 />
		<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="/epp/plan.php" />

	<!--
		- 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>
 		<release 
       		status="completed"
       		name="0.5.0"
       		date="29/06/2007"
       		download="/epp/download.php" />
	</releases>
	<!--
		<source></source>
	-->
</project>
