<?xml version="1.0" encoding="UTF-8"?>
<!--
  Copyright (c) 2009, 2019 THALES GLOBAL SERVICES.
  This program and the accompanying materials
  are made available under the terms of the Eclipse Public License v2.0
  which accompanies this distribution, and is available at
  https://www.eclipse.org/legal/epl-2.0

  SPDX-License-Identifier: EPL-2.0

  Contributors:
       Thales - initial API and implementation
-->
<feature
      id="org.eclipse.egf.doc.feature"
      label="%featureName"
      version="1.6.2.qualifier"
      provider-name="%providerName"
	  license-feature="org.eclipse.license"
	  license-feature-version="0.0.0"
      plugin="org.eclipse.egf.doc.user"
      image="eclipse_update_120.jpg">

   <description>
      %description
   </description>

   <copyright>
	%copyright
   </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.sdk"/>
   </requires>

   <plugin
         id="org.eclipse.egf.doc.user"
         download-size="0"
         install-size="0"
         version="0.0.0"
         unpack="false"/>

   <plugin
         id="org.eclipse.egf.engine.doc"
         download-size="0"
         install-size="0"
         version="0.0.0"
         unpack="false"/>

   <plugin
         id="org.eclipse.egf.engine.doc.pattern"
         download-size="0"
         install-size="0"
         version="0.0.0"
         unpack="false"/>

</feature>
