<?xml version="1.0" encoding="UTF-8"?>
<!--
/**
 * <copyright>
 *
 * Copyright (c) 2005, 2006 IBM Corporation 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
 *
 
 *
 * </copyright>
 */
-->
<feature
      id="org.eclipse.dltk.javascript.servoy"
      label="%featureName"
      version="4.0.0.qualifier"
      provider-name="%providerName"
      image="eclipse_update_120.jpg">

   <description url="http://www.eclipse.org/dltk">
      %description
   </description>

   <copyright url="http://www.eclipse.org/legal/epl-v10.html">
      Copyright (c) 2005, 2006 IBM Corporation 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
   </copyright>

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

   <url>
      <update label="Servoy Update Site" url="http://www.servoy.com/developer/5xx_updates"/>
      <discovery label="Servoy Update Site" url="http://www.servoy.com/developer/5xx_updates"/>
   </url>

   <requires>
      <import feature="org.eclipse.dltk.core.servoy" version="4.0.0" match="compatible"/>
      <import feature="org.eclipse.jdt" version="3.5.0.v20090527-2000-7r88FEeFJePyvYeA33DjZ_c1" match="greaterOrEqual"/>
   </requires>

   <plugin
         id="org.eclipse.dltk.javascript.core"
         download-size="0"
         install-size="0"
         version="0.0.0"
         unpack="false"/>

   <plugin
         id="org.eclipse.dltk.javascript.debug"
         download-size="0"
         install-size="0"
         version="0.0.0"
         unpack="false"/>

   <plugin
         id="org.eclipse.dltk.javascript.debug.ui"
         download-size="0"
         install-size="0"
         version="0.0.0"
         unpack="false"/>

   <plugin
         id="org.eclipse.dltk.javascript.launching"
         download-size="0"
         install-size="0"
         version="0.0.0"
         unpack="false"/>

   <plugin
         id="org.eclipse.dltk.javascript.ui"
         download-size="0"
         install-size="0"
         version="0.0.0"
         unpack="false"/>

   <plugin
         id="org.eclipse.dltk.javascript.jsjdtdebugger"
         download-size="0"
         install-size="0"
         version="0.0.0"
         unpack="false"/>

   <plugin
         id="org.eclipse.dltk.javascript.formatter"
         download-size="0"
         install-size="0"
         version="0.0.0"
         unpack="false"/>

   <plugin
         id="org.eclipse.dltk.javascript.parser"
         download-size="0"
         install-size="0"
         version="0.0.0"
         unpack="false"/>

   <plugin
         id="org.eclipse.dltk.javascript.core.manipulation"
         download-size="0"
         install-size="0"
         version="0.0.0"
         unpack="false"/>

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