<?xml version="1.0" encoding="UTF-8"?>
<!--
  Copyright (c) 2009, 2018 THALES GLOBAL SERVICES.
  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:
       Thales - initial API and implementation
-->
<feature
      id="org.eclipse.egf.producer.ui.feature"
      label="%featureName"
      version="1.6.0.qualifier"
      provider-name="%providerName"
      plugin="org.eclipse.egf.producer.ui"
      image="eclipse_update_120.jpg">

   <description>
      %description
   </description>

   <copyright>
      Copyright (c) 2009, 2018 THALES GLOBAL SERVICES
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
   </copyright>

   <license url="%licenseURL">
      %license
   </license>

   <url>
      <update label="%EMFTUpdateSiteName" url="http://download.eclipse.org/modeling/emft/updates/"/>
      <discovery label="%EMFUpdateSiteName" url="http://download.eclipse.org/modeling/emf/updates/"/>
      <discovery label="%EMFTUpdateSiteName" url="http://download.eclipse.org/modeling/emft/updates/"/>
   </url>

   <requires>
      <import feature="org.eclipse.egf.model.edit.feature"/>
      <import feature="org.eclipse.egf.producer.feature"/>
   </requires>

   <plugin
         id="org.eclipse.egf.producer.ui"
         download-size="0"
         install-size="0"
         version="0.0.0"
         unpack="false"/>

</feature>
