<?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 Modeling Tools"
   maintainer="Remi Schnekenburger"
   iconurl="http://www.eclipse.org/modeling/images/modeling_about.png"
   bugzillaComponentId="modeling-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 Modeling package provides tools and runtimes for building model-based applications.
        You can use it to graphically design domain models, to leverage those models at design time by creating and editing dynamic instances, to collaborate via Eclipse's team support with facilities for comparing and merging models and model instances structurally, and finally to generate Java code from those models to produce complete applications.
        In addition, via the package's discover catalog, you can easily install a wide range of additional powerful, model-based tools and runtimes to suit your specific needs.]]></description>
    <!-- packageTesters is a list of the people that are testing the package -->
     <packageTesters>
      <tester>Cédric Brun</tester>
    </packageTesters>
  </packageMetaData>
  <MoreInfo>  
  <NewAndNoteworthy
    url="https://wiki.eclipse.org/Ecore_Tools/New_and_Noteworthy"
    project="Eclipse EcoreTools" />
  <NewAndNoteworthy
    url="https://wiki.eclipse.org/EMF_Compare/New_and_Noteworthy/3.3.0"
    project="Eclipse EMF Compare" />
  <NewAndNoteworthy
    url="https://projects.eclipse.org/projects/modeling.mmt.atl/releases/4.0"
    project="Eclipse ATL" />
  </MoreInfo>

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

  <!-- name, the name of the product, used in naming the created files. -->
  <product name="eclipse-modeling-2018-09-RC1" />

</configuration>
