<?xml version="1.0" encoding="UTF-8"?>
<?pde version="3.5"?>

<product name="Lua Development Tools Product (Incubation)" uid="org.eclipse.koneki.ldt.product-product" id="org.eclipse.koneki.ldt.branding.product" application="org.eclipse.ui.ide.workbench" version="0.9.0.qualifier" useFeatures="true" includeLaunchers="true">

   <aboutInfo>
      <image path="/org.eclipse.koneki.ldt.branding/ldt_about.png"/>
      <text>
         Lua Development Tools

© Copyright Eclipse contributors and others 2000, 2012.  All rights reserved.

This product includes software developed by the Apache Software Foundation http://www.apache.org/

Visit http://www.eclipse.org/koneki/ldt for more information.
      </text>
   </aboutInfo>

   <configIni use="default">
   </configIni>

   <launcherArgs>
      <programArgs>-name
&quot;Lua Development Tools&quot;
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile</programArgs>
      <programArgsLin>-startup
plugins/org.eclipse.equinox.launcher_1.1.1.R36x_v20101122_1400.jar</programArgsLin>
      <programArgsMac>-startup
../../../plugins/org.eclipse.equinox.launcher_1.1.1.R36x_v20101122_1400.jar</programArgsMac>
      <programArgsWin>-startup
plugins\org.eclipse.equinox.launcher_1.1.1.R36x_v20101122_1400.jar</programArgsWin>
      <vmArgs>-XX:PermSize=512M -XX:MaxPermSize=512M -Xms40m -Xmx512m</vmArgs>
      <vmArgsMac>-XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts</vmArgsMac>
   </launcherArgs>

   <windowImages i16="/org.eclipse.koneki.ldt.branding/icons/LDT_16.png" i32="/org.eclipse.koneki.ldt.branding/icons/LDT_32.png" i64="/org.eclipse.koneki.ldt.branding/icons/LDT_64.png" i128="/org.eclipse.koneki.ldt.branding/icons/LDT_128.png"/>

   <splash
      location="org.eclipse.koneki.ldt.branding"
      startupProgressRect="3,281,493,14"
      startupMessageRect="7,260,350,20"
      startupForegroundColor="D4BAA9" />
   <launcher name="LuaDevelopmentTools">
      <linux icon="../../../../plugins/org.eclipse.koneki.ldt.branding/icons/ldt.xpm"/>
      <macosx icon="../../../../plugins/org.eclipse.koneki.ldt.branding/icons/ldt.icns"/>
      <solaris/>
      <win useIco="true">
         <ico path="../../../../plugins/org.eclipse.koneki.ldt.branding/icons/ldt.ico"/>
         <bmp/>
      </win>
   </launcher>

   <vm>
   </vm>

   <plugins>
   </plugins>

   <features>
      <feature id="org.eclipse.koneki.ldt.product" version="0.9.0.qualifier"/>
   </features>

   <configurations>
      <plugin id="org.eclipse.core.runtime" autoStart="true" startLevel="4" />
      <plugin id="org.eclipse.equinox.common" autoStart="true" startLevel="2" />
      <plugin id="org.eclipse.equinox.ds" autoStart="true" startLevel="2" />
      <plugin id="org.eclipse.equinox.p2.reconciler.dropins" autoStart="true" startLevel="4" />
      <plugin id="org.eclipse.equinox.simpleconfigurator" autoStart="true" startLevel="1" />
      <plugin id="org.eclipse.update.configurator" autoStart="true" startLevel="4" />
      <property name="org.eclipse.update.reconcile" value="false" />
   </configurations>

</product>
