<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<!-- Use this to test local rendering in firefox -->
<!-- <?xml-stylesheet type="text/xsl" href="project-plan-render.xsl"?> --> 
<?xml-stylesheet type="text/xsl" href="http://www.eclipse.org/projects/project-plan.xsl"?>
<p:plan
    plan-format="1.0"
    xmlns:p="http://www.eclipse.org/project/plan"
    xmlns="http://www.w3.org/1999/xhtml"
    name="Releng">
    <p:release
        projectid="webtools.releng"
        version="Kepler"/>
    <p:introduction>
        <p>The release engineering (releng) project provides builds and
            test frameworks for the Web Tools Platform (WTP) Project.
        </p>
    </p:introduction>
    <p:release_deliverables>
        <p>
            <ul>
                <li>A Builder and scripts to display results.</li>
                <li>Overall JUnit test running framework and scripts to
                    display results.</li>
            </ul>
        </p>
    </p:release_deliverables>
    <p:target_environments>
        <p> The WTP build officially supports only the Linux environment
            (some parts could maybe run on Windows, but limits would be
            hit with at least path lengths).</p>
        <p:internationalization>
            <p> The Releng project does not translate or
                internationalize it's scripts and tools.</p>
        </p:internationalization>
    </p:target_environments>
    <p:compatibility_with_previous_releases/>
    <p:themes_and_priorities>
        <p:preamble>
            <p> Themes and their priorities communicate the main
                objectives of the project and their importance. These
                will be prioritized based on the community feedback. New
                themes could be synthesized from the requirements
                submitted by the community.</p>
            <p> The sections to follow defines the plan items in the
                Releng Tools project. The plan items are grouped under
                the respective themes where applicable. Each plan item
                corresponds to a new feature, API or some apsects of the
                project that needs to be improved. A plan item has an
                entry in the Eclipse Bugzilla system that has a detailed
                description of the plan item. Not all plan items
                represent the same amount of work; some may be quite
                large, others, quite small. Although some plan items are
                for work that is more pressing than others, the plan
                items appear in no particular order. See the
                corresponding bugzilla items for up-to-date status
                information on ongoing work and planned delivery
                milestones.</p>
        </p:preamble>
        <p:theme
            name="Other">
            <p:description>
                <p>Following are plan items that are not yet categorized
                    into a theme.</p>
            </p:description>
            <p:committed
                bugzilla="https://bugs.eclipse.org/bugs/buglist.cgi?keywords=plan&amp;query_format=advanced&amp;keywords_type=allwords&amp;bug_status=RESOLVED&amp;bug_status=VERIFIED&amp;bug_status=CLOSED&amp;classification=WebTools&amp;product=WTP%20Releng&amp;target_milestone=3.5.0&amp;target_milestone=3.5.0%20M2&amp;target_milestone=3.5.0%20M3&amp;target_milestone=3.5.0%20M4&amp;target_milestone=3.5.0%20M5&amp;target_milestone=3.5.0%20M6">
            </p:committed>
            <p:proposed
                bugzilla="https://bugs.eclipse.org/bugs/buglist.cgi?keywords=plan&amp;query_format=advanced&amp;keywords_type=allwords&amp;bug_status=UNCONFIRMED&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;classification=WebTools&amp;product=WTP%20Releng&amp;target_milestone=3.5.0&amp;target_milestone=3.5.0%20M2&amp;target_milestone=3.5.0%20M3&amp;target_milestone=3.5.0%20M4&amp;target_milestone=3.5.0%20M5&amp;target_milestone=3.5.0%20M6">
            </p:proposed>
            <p:deferred
                bugzilla="https://bugs.eclipse.org/bugs/buglist.cgi?keywords=plan&amp;query_format=advanced&amp;keywords_type=allwords&amp;bug_status=UNCONFIRMED&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;target_milestone=Future&amp;product=WTP%20Releng&amp;classification=WebTools">
            </p:deferred>
        </p:theme>
    </p:themes_and_priorities>
    <p:appendix
        name="References">
        <ol>
            <li>
                The general WTP plan can be found
                <a
                    href="http://www.eclipse.org/projects/project-plan.php?projectid=webtools">here</a>
                .
            </li>
        </ol>
    </p:appendix>
</p:plan>