<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <!-- Package Description information to be picked up by www.eclipse.org/packages -->
  <!-- PackageName is the title of your package 
       maintainer is the project or persons that are maintaining the package
       iconurl is the fully qualified URL to the icon you wish to use on the site (48x48)
       bugzillaComponentID is used to gather bugzilla information about your package.  This should be given to you after provisioning of the package is finished
       testPlan is the fully qualified URL to the test plan for this package
   -->
  <packageMetaData
   packageName="Eclipse IDE for Rust Developers (includes Incubating components)"
   maintainer="Eclipse Packaging Project"
   iconurl="https://projects.eclipse.org/sites/default/files/epp-rust-about.png"
   bugzillaComponentId="rust-package"
   testPlan="http://www.eclipse.org/epp/testplan.php" >
    <!-- Description is wrapped in CDATA tags to allow you to insert HTML code if necessary -->
     <description><![CDATA[The essential tools for any Rust developer, including Rust language support, Git client, command-line integration, Mylyn and editors.]]></description>
    <!-- packageTesters is a list of the people that are testing the package -->
     <packageTesters>
      <tester>Lucas Bullen</tester>
    </packageTesters>
  </packageMetaData>
  <MoreInfo>
  <NewAndNoteworthy
    url="https://projects.eclipse.org/projects/tools.corrosion/releases/"
    project="Eclipse Corrosion" />
  <NewAndNoteworthy
    url="https://www.eclipse.org/eclipse/news/4.14/"
    project="Eclipse Platform" />
  <NewAndNoteworthy
    url="https://www.eclipse.org/mylyn/new/"
    project="Eclipse Mylyn" />
  <NewAndNoteworthy
    url="https://wiki.eclipse.org/EGit/New_and_Noteworthy/5.6"
    project="Eclipse EGit" />
  </MoreInfo>


  <!-- version, the RCP version to build. This is used to determine the file 
    name of the root file archives -->
  <rcp version="4.14.0" />

  <!-- name, the name of the product, used in naming the created files. -->
  <product name="eclipse-rust-2019-12-R-incubation" />

</configuration>
