<?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 Automotive Software Developers (includes Incubating components)"
   maintainer="Eclipse Automotive Industry Working Group"
   iconurl="http://www.eclipse.org/downloads/images/classic.jpg"
   bugzillaComponentId="automotive-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[This package contains frameworks and tools used for the development of embedded automotive software: In addition to Eclipse Platform, Java Development Tools, and Plug-in Development Environment, it includes EMF, Sphinx, GMF, Xtext, Xtend, Xpand, UML2, selected other modeling components, C/C++ development tools, and XML/XSD editors and tools. To keep the package at a reasonable size, it includes only the runtime binaries but no source code and no developer documentation.]]></description>
    <!-- packageTesters is a list of the people that are testing the package -->
     <packageTesters>
      <tester>Stephan Eberle</tester>
      <tester>Idrissa Dieng</tester>
    </packageTesters>
  </packageMetaData>
  <MoreInfo>
  <NewAndNoteworthy
    url="https://www.eclipse.org/eclipse/news/4.5/"
    project="Eclipse Platform" />
  <NewAndNoteworthy
    url="https://wiki.eclipse.org/CDT/User/NewIn87"
    project="Eclipse CDT" />
  <NewAndNoteworthy
    url="https://wiki.eclipse.org/EMF_Compare/New_and_Noteworthy/3.1.0"
    project="EMF Compare" />
  </MoreInfo>

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

  <!-- name, the name of the product, used in naming the created files. -->
  <product name="eclipse-automotive-mars-2-incubation" />

</configuration>
