<?xml version="1.0" encoding="UTF-8"?>
<!--
    Copyright (c) 2009, 2019 Xored Software Inc and others.
    All rights reserved. This program and the accompanying materials
    are made available under the terms of the Eclipse Public License v1.0
    which accompanies this distribution, and is available at
    http://www.eclipse.org/legal/epl-v10.html
     
    Contributors:
    	Xored Software Inc - initial API and implementation and/or initial documentation
 -->

<feature
      id="org.eclipse.rcptt.ecl.core"
      label="RCPTT ECL Core"
      version="2.4.2.qualifier"
      provider-name="%providerName">

   <description>
      Eclipse Command Language
   </description>

   <copyright url="%copyrightURL">
      %copyright
   </copyright>

   <license url="%licenseURL">
      %license
   </license>

   <requires>
      <import feature="org.eclipse.emf.ecore" match="greaterOrEqual"/>
      <import plugin="org.eclipse.emf.common"/>
   </requires>

   <plugin
         id="org.eclipse.rcptt.ecl.core"
         download-size="0"
         install-size="0"
         version="2.4.2.qualifier"
         unpack="false"/>

   <plugin
         id="org.eclipse.rcptt.ecl.client.tcp"
         download-size="0"
         install-size="0"
         version="2.4.2.qualifier"
         unpack="false"/>

   <plugin
         id="org.eclipse.rcptt.ecl.parser"
         download-size="0"
         install-size="0"
         version="2.4.2.qualifier"
         unpack="false"/>

   <plugin
         id="org.antlr.runtime"
         download-size="0"
         install-size="0"
         version="3.2.0.qualifier"
         unpack="false"/>

   <plugin
         id="org.eclipse.rcptt.ecl.perf"
         download-size="0"
         install-size="0"
         version="2.4.2.qualifier"
         unpack="false"/>

   <plugin
         id="org.eclipse.rcptt.ecl.debug.runtime"
         download-size="0"
         install-size="0"
         version="2.4.2.qualifier"
         unpack="false"/>

   <plugin
         id="org.eclipse.rcptt.ecl.operations"
         download-size="0"
         install-size="0"
         version="2.4.2.qualifier"
         unpack="false"/>

   <plugin
         id="org.eclipse.rcptt.ecl.data"
         download-size="0"
         install-size="0"
         version="2.4.2.qualifier"
         unpack="false"/>

   <plugin
         id="org.eclipse.rcptt.ecl.data.apache.poi"
         download-size="0"
         install-size="0"
         version="2.4.2.qualifier"
         unpack="false"/>

   <plugin
         id="org.eclipse.rcptt.ecl.interop"
         download-size="0"
         install-size="0"
         version="2.4.2.qualifier"
         unpack="false"/>

   <plugin
         id="org.eclipse.rcptt.ecl.doc"
         download-size="0"
         install-size="0"
         version="2.4.2.qualifier"
         unpack="false"/>

   <plugin
         id="org.eclipse.rcptt.ecl.filesystem"
         download-size="0"
         install-size="0"
         version="2.4.2.qualifier"
         unpack="false"/>

   <plugin
         id="org.eclipse.rcptt.ecl.dispatch"
         download-size="0"
         install-size="0"
         version="2.4.2.qualifier"
         unpack="false"/>

</feature>
