<?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.model.ftask.edit.feature"
    label="%featureName"
    version="1.6.1.qualifier"
	license-feature="org.eclipse.license"
	license-feature-version="0.0.0"
    provider-name="%providerName"
    plugin="org.eclipse.egf.model.ftask.edit"
    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.egf.model.ftask.feature"/>
        <import feature="org.eclipse.egf.model.edit.feature"/>                
    </requires>    

    <plugin
        id="org.eclipse.egf.model.ftask.edit"
        download-size="0"
        install-size="0"
        version="0.0.0"
        unpack="false"/>

</feature>
