Merge branch 'lua52'

Conflicts:
	plugins/org.eclipse.ldt.ui/OSGI-INF/l10n/bundle.properties
	plugins/org.eclipse.ldt.ui/src/org/eclipse/ldt/ui/wizards/LuaProjectCreator.java
	plugins/org.eclipse.ldt/META-INF/MANIFEST.MF
diff --git a/features/org.eclipse.ldt-feature/feature.properties b/features/org.eclipse.ldt-feature/feature.properties
index dd5842c..89bb8f3 100644
--- a/features/org.eclipse.ldt-feature/feature.properties
+++ b/features/org.eclipse.ldt-feature/feature.properties
@@ -9,7 +9,7 @@
 #      Sierra Wireless - initial API and implementation
 ###############################################################################
 featureName=Lua Development Tools
-description=Lua Development Tools. (Binary runtime and user documentation).
+description=Eclipse Lua development tools. Binary runtime and user documentation.
 providerName=Eclipse LDT
 copyright=Copyright (c) 2009, 2012 Sierra Wireless and others. All rights reserved.
 
diff --git a/features/org.eclipse.ldt-feature/sourceTemplateFeature/.gitkeep b/features/org.eclipse.ldt-feature/sourceTemplateFeature/.gitkeep
deleted file mode 100644
index e69de29..0000000
--- a/features/org.eclipse.ldt-feature/sourceTemplateFeature/.gitkeep
+++ /dev/null
diff --git a/features/org.eclipse.ldt-feature/sourceTemplateFeature/feature.properties b/features/org.eclipse.ldt-feature/sourceTemplateFeature/feature.properties
new file mode 100644
index 0000000..9316dae
--- /dev/null
+++ b/features/org.eclipse.ldt-feature/sourceTemplateFeature/feature.properties
@@ -0,0 +1,12 @@
+###############################################################################
+# Copyright (c) 2009, 2014 Sierra Wireless 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
+#
+# Contributors:
+#      Sierra Wireless - initial API and implementation
+###############################################################################
+featureName=Lua Development Tools SDK
+description=Eclipse Lua development tools. Software development kit including source code.
\ No newline at end of file
diff --git a/features/org.eclipse.ldt.remote-feature/feature.properties b/features/org.eclipse.ldt.remote-feature/feature.properties
index d469563..b5f312b 100644
--- a/features/org.eclipse.ldt.remote-feature/feature.properties
+++ b/features/org.eclipse.ldt.remote-feature/feature.properties
@@ -9,7 +9,7 @@
 #      Sierra Wireless - initial API and implementation
 ###############################################################################
 featureName=Lua Development Tools - Remote Development Support
-description=Lua Development Tools - Remote Development Support. (Binary runtime).
+description=Remote development support for eclipse Lua development tools. Binary runtime.
 providerName=Eclipse LDT
 copyright=Copyright (c) 2009, 2012 Sierra Wireless and others. All rights reserved.
 
diff --git a/features/org.eclipse.ldt.remote-feature/pom.xml b/features/org.eclipse.ldt.remote-feature/pom.xml
index 655c383..72fa501 100644
--- a/features/org.eclipse.ldt.remote-feature/pom.xml
+++ b/features/org.eclipse.ldt.remote-feature/pom.xml
@@ -1,14 +1,48 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <modelVersion>4.0.0</modelVersion>
-  <parent>
-    <artifactId>features</artifactId>
-    <groupId>org.eclipse.ldt-features</groupId>
-    <version>0.0.1-SNAPSHOT</version>
-  </parent>
-  <groupId>org.eclipse.ldt-features</groupId>
-  <artifactId>org.eclipse.ldt.remote</artifactId>
-  <version>1.3.0-SNAPSHOT</version>
-  <packaging>eclipse-feature</packaging>
+<project
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+	xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<artifactId>features</artifactId>
+		<groupId>org.eclipse.ldt-features</groupId>
+		<version>0.0.1-SNAPSHOT</version>
+	</parent>
+	<groupId>org.eclipse.ldt-features</groupId>
+	<artifactId>org.eclipse.ldt.remote</artifactId>
+	<version>1.3.0-SNAPSHOT</version>
+	<packaging>eclipse-feature</packaging>
+
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.eclipse.tycho.extras</groupId>
+				<artifactId>tycho-source-feature-plugin</artifactId>
+				<version>${tycho-extras-version}</version>
+				<executions>
+					<execution>
+						<id>source-feature</id>
+						<phase>package</phase>
+						<goals>
+							<goal>source-feature</goal>
+						</goals>
+					</execution>
+				</executions>
+			</plugin>
+			<plugin>
+				<groupId>org.eclipse.tycho</groupId>
+				<artifactId>tycho-p2-plugin</artifactId>
+				<version>${tycho-version}</version>
+				<executions>
+					<execution>
+						<id>attached-p2-metadata</id>
+						<phase>package</phase>
+						<goals>
+							<goal>p2-metadata</goal>
+						</goals>
+					</execution>
+				</executions>
+			</plugin>
+		</plugins>
+	</build>
 </project>
diff --git a/features/org.eclipse.ldt.remote-feature/sourceTemplateFeature/feature.properties b/features/org.eclipse.ldt.remote-feature/sourceTemplateFeature/feature.properties
new file mode 100644
index 0000000..aa2ead4
--- /dev/null
+++ b/features/org.eclipse.ldt.remote-feature/sourceTemplateFeature/feature.properties
@@ -0,0 +1,12 @@
+###############################################################################
+# Copyright (c) 2009, 2014 Sierra Wireless 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
+#
+# Contributors:
+#      Sierra Wireless - initial API and implementation
+###############################################################################
+featureName=Lua Development Tools - Remote Development Support SDK
+description=Remote development support for eclipse Lua development tools. Software development kit including source code.
\ No newline at end of file
diff --git a/plugins/org.eclipse.ldt.debug.ui/src/org/eclipse/ldt/debug/ui/internal/interpreters/AddLuaInterpreterDialog.java b/plugins/org.eclipse.ldt.debug.ui/src/org/eclipse/ldt/debug/ui/internal/interpreters/AddLuaInterpreterDialog.java
index 88e4f96..7df5a32 100644
--- a/plugins/org.eclipse.ldt.debug.ui/src/org/eclipse/ldt/debug/ui/internal/interpreters/AddLuaInterpreterDialog.java
+++ b/plugins/org.eclipse.ldt.debug.ui/src/org/eclipse/ldt/debug/ui/internal/interpreters/AddLuaInterpreterDialog.java
@@ -46,9 +46,9 @@
 import org.eclipse.ldt.debug.core.internal.model.interpreter.InterpreterFactory;

 import org.eclipse.ldt.debug.core.internal.model.interpreter.impl.InterpreterFactoryImpl;

 import org.eclipse.ldt.debug.core.internal.model.interpreter.impl.InterpreterPackageImpl;

+import org.eclipse.ldt.core.buildpath.LuaExecutionEnvironment;

 import org.eclipse.ldt.core.internal.LuaLanguageToolkit;

 import org.eclipse.ldt.core.internal.PreferenceInitializer;

-import org.eclipse.ldt.core.internal.buildpath.LuaExecutionEnvironment;

 import org.eclipse.ldt.core.internal.buildpath.LuaExecutionEnvironmentManager;

 import org.eclipse.ldt.debug.core.IEmbeddedInterpreterInstallType;

 import org.eclipse.ldt.debug.core.internal.interpreter.generic.LuaGenericInterpreterInstallType;

diff --git a/plugins/org.eclipse.ldt.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.ldt.ui/META-INF/MANIFEST.MF
index dbfc8de..e929879 100644
--- a/plugins/org.eclipse.ldt.ui/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.ldt.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %Bundle-Name
 Bundle-SymbolicName: org.eclipse.ldt.ui;singleton:=true
-Bundle-Version: 1.2.0.qualifier
+Bundle-Version: 1.3.0.qualifier
 Bundle-Activator: org.eclipse.ldt.ui.internal.Activator
 Bundle-Vendor: %Bundle-Vendor
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)",
@@ -19,7 +19,8 @@
  org.eclipse.dltk.formatter;bundle-version="[5.0.0,6.0.0)",
  org.eclipse.ldt.metalua;bundle-version="0.9.0",
  org.eclipse.ldt;bundle-version="0.1.0",
- org.eclipse.compare;bundle-version="3.5.0"
+ org.eclipse.compare;bundle-version="3.5.0",
+ org.apache.commons.lang;bundle-version="2.6.0"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
 Bundle-ActivationPolicy: lazy
 Export-Package: org.eclipse.ldt.ui,
diff --git a/plugins/org.eclipse.ldt.ui/OSGI-INF/l10n/bundle.properties b/plugins/org.eclipse.ldt.ui/OSGI-INF/l10n/bundle.properties
index 18e407d..3258fcd 100644
--- a/plugins/org.eclipse.ldt.ui/OSGI-INF/l10n/bundle.properties
+++ b/plugins/org.eclipse.ldt.ui/OSGI-INF/l10n/bundle.properties
@@ -50,5 +50,6 @@
 decorator.label.doclua = Decorator for doclua files.
 rename.command.label = Rename a variable
 
+command.converttoluaproject.name = Convert to Lua project ...
 preference.page.name.grammars = Grammars
-property.page.name.grammar = Grammar
\ No newline at end of file
+property.page.name.grammar = Grammar
diff --git a/plugins/org.eclipse.ldt.ui/plugin.xml b/plugins/org.eclipse.ldt.ui/plugin.xml
index bc19977..f829973 100644
--- a/plugins/org.eclipse.ldt.ui/plugin.xml
+++ b/plugins/org.eclipse.ldt.ui/plugin.xml
@@ -163,6 +163,10 @@
                 id="org.eclipse.ldt.ui.buildpathcontainer.documentation"
                 name="%handler.documentation.label">
           </command>
+          <command
+                id="org.eclipse.ldt.ui.command.converttolua"
+                name="%command.converttoluaproject.name">
+          </command>
        </extension>
        <extension
              point="org.eclipse.ui.handlers">
@@ -189,6 +193,10 @@
                 </and>
              </activeWhen>
           </handler>
+          <handler
+                class="org.eclipse.ldt.ui.internal.handlers.ConvertToLuaProjectHandler"
+                commandId="org.eclipse.ldt.ui.command.converttolua">
+          </handler>
        </extension>
        <extension
              point="org.eclipse.ui.menus">
@@ -230,6 +238,35 @@
                    label="%rename.command.label">
              </command>
           </menuContribution>
+          <menuContribution
+                allPopups="false"
+                locationURI="popup:org.eclipse.ui.projectConfigure?after=additions">
+             <command
+                   commandId="org.eclipse.ldt.ui.command.converttolua"
+                   label="%command.converttoluaproject.name"
+                   style="push">
+                <visibleWhen
+                      checkEnabled="false">
+                   <with
+                         variable="selection">
+                      <count
+                            value="1">
+                      </count>
+                      <iterate>
+                         <adapt
+                               type="org.eclipse.core.resources.IProject">
+                            <not>
+                               <test
+                                     property="org.eclipse.core.resources.projectNature "
+                                     value="org.eclipse.ldt.nature">
+                               </test>
+                            </not>
+                         </adapt>
+                      </iterate>
+                   </with>
+                </visibleWhen>
+             </command>
+          </menuContribution>
        </extension>
        <extension
              point="org.eclipse.core.expressions.propertyTesters">
diff --git a/plugins/org.eclipse.ldt.ui/pom.xml b/plugins/org.eclipse.ldt.ui/pom.xml
index 543f173..bdba088 100644
--- a/plugins/org.eclipse.ldt.ui/pom.xml
+++ b/plugins/org.eclipse.ldt.ui/pom.xml
@@ -19,6 +19,6 @@
   </parent>
   <groupId>org.eclipse.ldt</groupId>
   <artifactId>org.eclipse.ldt.ui</artifactId>
-  <version>1.2.0-SNAPSHOT</version>
+  <version>1.3.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/plugins/org.eclipse.ldt.ui/src/org/eclipse/ldt/ui/LuaExecutionEnvironmentUIManager.java b/plugins/org.eclipse.ldt.ui/src/org/eclipse/ldt/ui/LuaExecutionEnvironmentUIManager.java
index 43a2c0c..89e6646 100644
--- a/plugins/org.eclipse.ldt.ui/src/org/eclipse/ldt/ui/LuaExecutionEnvironmentUIManager.java
+++ b/plugins/org.eclipse.ldt.ui/src/org/eclipse/ldt/ui/LuaExecutionEnvironmentUIManager.java
@@ -15,7 +15,7 @@
 import java.util.List;
 import java.util.Set;
 
-import org.eclipse.ldt.core.internal.buildpath.LuaExecutionEnvironment;
+import org.eclipse.ldt.core.buildpath.LuaExecutionEnvironment;
 import org.eclipse.ldt.core.internal.buildpath.LuaExecutionEnvironmentManager;
 import org.eclipse.ui.PlatformUI;
 import org.eclipse.ui.activities.IActivity;
diff --git a/plugins/org.eclipse.ldt.ui/src/org/eclipse/ldt/ui/internal/buildpath/LuaExecutionEnvironmentLabelProvider.java b/plugins/org.eclipse.ldt.ui/src/org/eclipse/ldt/ui/internal/buildpath/LuaExecutionEnvironmentLabelProvider.java
index a5387e4..85dbce3 100644
--- a/plugins/org.eclipse.ldt.ui/src/org/eclipse/ldt/ui/internal/buildpath/LuaExecutionEnvironmentLabelProvider.java
+++ b/plugins/org.eclipse.ldt.ui/src/org/eclipse/ldt/ui/internal/buildpath/LuaExecutionEnvironmentLabelProvider.java
@@ -17,7 +17,7 @@
 import org.eclipse.jface.viewers.ILabelProviderListener;

 import org.eclipse.jface.viewers.StyledString;

 import org.eclipse.jface.viewers.StyledString.Styler;

-import org.eclipse.ldt.core.internal.buildpath.LuaExecutionEnvironment;

+import org.eclipse.ldt.core.buildpath.LuaExecutionEnvironment;

 import org.eclipse.swt.SWT;

 import org.eclipse.swt.custom.StyleRange;

 import org.eclipse.swt.graphics.Font;

diff --git a/plugins/org.eclipse.ldt.ui/src/org/eclipse/ldt/ui/internal/buildpath/LuaExecutionEnvironmentWizardPage.java b/plugins/org.eclipse.ldt.ui/src/org/eclipse/ldt/ui/internal/buildpath/LuaExecutionEnvironmentWizardPage.java
index a961fb7..d61898e 100644
--- a/plugins/org.eclipse.ldt.ui/src/org/eclipse/ldt/ui/internal/buildpath/LuaExecutionEnvironmentWizardPage.java
+++ b/plugins/org.eclipse.ldt.ui/src/org/eclipse/ldt/ui/internal/buildpath/LuaExecutionEnvironmentWizardPage.java
@@ -32,7 +32,7 @@
 import org.eclipse.jface.viewers.SelectionChangedEvent;
 import org.eclipse.jface.viewers.StructuredSelection;
 import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.ldt.core.internal.buildpath.LuaExecutionEnvironment;
+import org.eclipse.ldt.core.buildpath.LuaExecutionEnvironment;
 import org.eclipse.ldt.core.internal.buildpath.LuaExecutionEnvironmentBuildpathUtil;
 import org.eclipse.ldt.core.internal.buildpath.LuaExecutionEnvironmentConstants;
 import org.eclipse.ldt.ui.LuaExecutionEnvironmentUIManager;
diff --git a/plugins/org.eclipse.ldt.ui/src/org/eclipse/ldt/ui/internal/handlers/ConvertToLuaProjectHandler.java b/plugins/org.eclipse.ldt.ui/src/org/eclipse/ldt/ui/internal/handlers/ConvertToLuaProjectHandler.java
new file mode 100644
index 0000000..0fd1e6e
--- /dev/null
+++ b/plugins/org.eclipse.ldt.ui/src/org/eclipse/ldt/ui/internal/handlers/ConvertToLuaProjectHandler.java
@@ -0,0 +1,55 @@
+/*******************************************************************************
+ * Copyright (c) 2014 Sierra Wireless 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
+ *
+ * Contributors:
+ *     Sierra Wireless - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.ldt.ui.internal.handlers;
+
+import org.eclipse.core.commands.AbstractHandler;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.wizard.WizardDialog;
+import org.eclipse.ldt.ui.wizards.ConvertToLuaProjectWizard;
+import org.eclipse.ui.handlers.HandlerUtil;
+
+/**
+ * Launch wizard to convert a project in Lua Project.
+ */
+public class ConvertToLuaProjectHandler extends AbstractHandler {
+
+	/**
+	 * @see org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.ExecutionEvent)
+	 */
+	@Override
+	public Object execute(ExecutionEvent event) throws ExecutionException {
+		// Get selected project
+		IProject project = null;
+		ISelection selection = HandlerUtil.getCurrentSelection(event);
+		if (selection instanceof IStructuredSelection) {
+			Object firstElement = ((IStructuredSelection) selection).getFirstElement();
+			if (firstElement instanceof IAdaptable) {
+				project = (IProject) ((IAdaptable) firstElement).getAdapter(IProject.class);
+			}
+		}
+
+		// Project selection should not be null
+		if (project == null) {
+			return null;
+		}
+
+		// Launch wizard
+		ConvertToLuaProjectWizard wizard = new ConvertToLuaProjectWizard(project);
+		WizardDialog dialog = new WizardDialog(HandlerUtil.getActiveShell(event), wizard);
+		dialog.open();
+		return null;
+	}
+}
diff --git a/plugins/org.eclipse.ldt.ui/src/org/eclipse/ldt/ui/internal/handlers/LuaExecutionEnvironmentBuildpathContainerDocumentationCommandHandler.java b/plugins/org.eclipse.ldt.ui/src/org/eclipse/ldt/ui/internal/handlers/LuaExecutionEnvironmentBuildpathContainerDocumentationCommandHandler.java
index ade2101..d20e09e 100644
--- a/plugins/org.eclipse.ldt.ui/src/org/eclipse/ldt/ui/internal/handlers/LuaExecutionEnvironmentBuildpathContainerDocumentationCommandHandler.java
+++ b/plugins/org.eclipse.ldt.ui/src/org/eclipse/ldt/ui/internal/handlers/LuaExecutionEnvironmentBuildpathContainerDocumentationCommandHandler.java
@@ -22,7 +22,7 @@
 import org.eclipse.dltk.internal.ui.scriptview.BuildPathContainer;
 import org.eclipse.jface.viewers.ISelection;
 import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ldt.core.internal.buildpath.LuaExecutionEnvironment;
+import org.eclipse.ldt.core.buildpath.LuaExecutionEnvironment;
 import org.eclipse.ldt.core.internal.buildpath.LuaExecutionEnvironmentBuildpathUtil;
 import org.eclipse.ldt.core.internal.buildpath.LuaExecutionEnvironmentConstants;
 import org.eclipse.ui.PartInitException;
diff --git a/plugins/org.eclipse.ldt.ui/src/org/eclipse/ldt/ui/internal/preferences/LuaExecutionEnvironmentPreferencePage.java b/plugins/org.eclipse.ldt.ui/src/org/eclipse/ldt/ui/internal/preferences/LuaExecutionEnvironmentPreferencePage.java
index 3fdc42f..8af1da8 100644
--- a/plugins/org.eclipse.ldt.ui/src/org/eclipse/ldt/ui/internal/preferences/LuaExecutionEnvironmentPreferencePage.java
+++ b/plugins/org.eclipse.ldt.ui/src/org/eclipse/ldt/ui/internal/preferences/LuaExecutionEnvironmentPreferencePage.java
@@ -33,9 +33,9 @@
 import org.eclipse.jface.viewers.ISelectionChangedListener;

 import org.eclipse.jface.viewers.SelectionChangedEvent;

 import org.eclipse.jface.viewers.StructuredSelection;

+import org.eclipse.ldt.core.buildpath.LuaExecutionEnvironment;

 import org.eclipse.ldt.core.internal.LuaLanguageToolkit;

 import org.eclipse.ldt.core.internal.PreferenceInitializer;

-import org.eclipse.ldt.core.internal.buildpath.LuaExecutionEnvironment;

 import org.eclipse.ldt.core.internal.buildpath.LuaExecutionEnvironmentConstants;

 import org.eclipse.ldt.core.internal.buildpath.LuaExecutionEnvironmentManager;

 import org.eclipse.ldt.ui.LuaExecutionEnvironmentUIManager;

diff --git a/plugins/org.eclipse.ldt.ui/src/org/eclipse/ldt/ui/wizards/ConvertToLuaProjectWizard.java b/plugins/org.eclipse.ldt.ui/src/org/eclipse/ldt/ui/wizards/ConvertToLuaProjectWizard.java
new file mode 100644
index 0000000..0287a01
--- /dev/null
+++ b/plugins/org.eclipse.ldt.ui/src/org/eclipse/ldt/ui/wizards/ConvertToLuaProjectWizard.java
@@ -0,0 +1,195 @@
+/*******************************************************************************
+ * Copyright (c) 2014 Sierra Wireless 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
+ *
+ * Contributors:
+ *     Sierra Wireless - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.ldt.ui.wizards;
+
+import java.lang.reflect.InvocationTargetException;
+
+import org.apache.commons.lang.ArrayUtils;
+import org.eclipse.core.resources.ICommand;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IProjectDescription;
+import org.eclipse.core.runtime.Assert;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.core.runtime.SubMonitor;
+import org.eclipse.dltk.core.DLTKCore;
+import org.eclipse.dltk.core.IBuildpathEntry;
+import org.eclipse.dltk.core.IScriptProject;
+import org.eclipse.dltk.core.ModelException;
+import org.eclipse.dltk.ui.wizards.CapabilityConfigurationPage;
+import org.eclipse.jface.dialogs.ErrorDialog;
+import org.eclipse.jface.operation.IRunnableWithProgress;
+import org.eclipse.jface.resource.ImageRegistry;
+import org.eclipse.jface.wizard.Wizard;
+import org.eclipse.ldt.core.LuaNature;
+import org.eclipse.ldt.core.buildpath.LuaExecutionEnvironment;
+import org.eclipse.ldt.core.internal.buildpath.LuaExecutionEnvironmentBuildpathUtil;
+import org.eclipse.ldt.core.internal.buildpath.LuaExecutionEnvironmentConstants;
+import org.eclipse.ldt.ui.internal.Activator;
+import org.eclipse.ldt.ui.internal.ImageConstants;
+import org.eclipse.ldt.ui.wizards.pages.ConvertToLuaProjectMainPage;
+import org.eclipse.osgi.util.NLS;
+
+/**
+ * @since 1.3
+ */
+public class ConvertToLuaProjectWizard extends Wizard {
+
+	private static final Object KONEKI_CONTAINER_PATH_START = "org.eclipse.koneki.ldt.ExecutionEnvironmentContainer"; //$NON-NLS-1$
+
+	private IProject project;
+	private ConvertToLuaProjectMainPage mainpage;
+	private CapabilityConfigurationPage buildPathpage;
+	private IScriptProject scriptProject;
+
+	public ConvertToLuaProjectWizard(IProject project) {
+		Assert.isNotNull(project);
+		this.project = project;
+		scriptProject = DLTKCore.create(project);
+
+		final ImageRegistry imageRegistry = Activator.getDefault().getImageRegistry();
+		setDefaultPageImageDescriptor(imageRegistry.getDescriptor(ImageConstants.LUA_WIZARD_BAN));
+		setWindowTitle(Messages.ConvertToLuaProjectWizard_wizardTitle);
+	}
+
+	/**
+	 * @see org.eclipse.jface.wizard.Wizard#addPages()
+	 */
+	@Override
+	public void addPages() {
+		mainpage = new ConvertToLuaProjectMainPage("mainPage", project); //$NON-NLS-1$
+		addPage(mainpage);
+		buildPathpage = new CapabilityConfigurationPage("secondPage") { //$NON-NLS-1$
+			@Override
+			protected String getScriptNature() {
+				return LuaNature.ID;
+			}
+
+			@Override
+			public void setVisible(boolean visible) {
+				if (visible) {
+					// update default buildpath
+					this.init(scriptProject, getDefaultBuildpath(), true);
+				}
+				super.setVisible(visible);
+			}
+		};
+		addPage(buildPathpage);
+	}
+
+	private IBuildpathEntry[] getDefaultBuildpath() {
+		IBuildpathEntry[] rawBuildPath = new IBuildpathEntry[0];
+
+		// if this is a koneki migration, use koneki buildpath
+		if (mainpage.isKonekiMigration()) {
+			try {
+				IBuildpathEntry[] konekiRawBuildPath = scriptProject.getRawBuildpath();
+				rawBuildPath = new IBuildpathEntry[konekiRawBuildPath.length];
+				for (int i = 0; i < konekiRawBuildPath.length; i++) {
+					// convert koneki lua execution environment path to ldt environment path
+					IPath konekiPath = konekiRawBuildPath[i].getPath();
+					if (isValidKonekiExecutionEnvironmentBuildPath(konekiPath)) {
+						String ldtpath = konekiPath.toString().replaceAll("org\\.eclipse\\.koneki\\.ldt\\.ExecutionEnvironmentContainer", //$NON-NLS-1$
+								LuaExecutionEnvironmentConstants.CONTAINER_PATH_START);
+						rawBuildPath[i] = DLTKCore.newContainerEntry(new Path(ldtpath));
+					} else {
+						rawBuildPath[i] = konekiRawBuildPath[i];
+					}
+				}
+			} catch (ModelException e) {
+				Activator.logWarning("unable to get koneki buildpath for project", e); //$NON-NLS-1$
+			}
+		}
+
+		// if an execution environment is selected add it to the build path (if necessary)
+		LuaExecutionEnvironment executionEnvironement = mainpage.getLuaExecutionEnvironement();
+		if (executionEnvironement != null) {
+			IPath path = LuaExecutionEnvironmentBuildpathUtil.getLuaExecutionEnvironmentContainerPath(executionEnvironement);
+			IBuildpathEntry newContainerEntry = DLTKCore.newContainerEntry(path);
+			if (!ArrayUtils.contains(rawBuildPath, newContainerEntry)) {
+				IBuildpathEntry[] newBuildPath = new IBuildpathEntry[rawBuildPath.length + 1];
+				System.arraycopy(rawBuildPath, 0, newBuildPath, 1, rawBuildPath.length);
+				newBuildPath[0] = newContainerEntry;
+
+				rawBuildPath = newBuildPath;
+			}
+		}
+		return rawBuildPath;
+	}
+
+	private static boolean isValidKonekiExecutionEnvironmentBuildPath(final IPath eePath) {
+		if (eePath == null)
+			return false;
+
+		final String[] segments = eePath.segments();
+		return (segments.length == 3) && KONEKI_CONTAINER_PATH_START.equals(segments[0]);
+	}
+
+	/**
+	 * @see org.eclipse.jface.wizard.Wizard#performFinish()
+	 */
+	@Override
+	public boolean performFinish() {
+		try {
+			getContainer().run(false, true, new IRunnableWithProgress() {
+				@Override
+				public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
+					SubMonitor smonitor = SubMonitor.convert(monitor, 100);
+
+					try {
+						IProjectDescription description = project.getDescription();
+
+						// Add Lua Nature
+						String[] natures = description.getNatureIds();
+						String[] newNatures = new String[natures.length + 1];
+						System.arraycopy(natures, 0, newNatures, 0, natures.length);
+						newNatures[natures.length] = LuaNature.ID;
+						description.setNatureIds(newNatures);
+
+						// Add dltk builder
+						ICommand[] commands = description.getBuildSpec();
+						ICommand[] newcommands = new ICommand[commands.length + 1];
+						System.arraycopy(commands, 0, newcommands, 0, commands.length);
+						ICommand command = description.newCommand();
+						command.setBuilderName("org.eclipse.dltk.core.scriptbuilder"); //$NON-NLS-1$
+						newcommands[commands.length] = command;
+						description.setBuildSpec(newcommands);
+						project.setDescription(description, smonitor.newChild(30));
+
+						// Update Build Path
+						if (getContainer().getCurrentPage() == buildPathpage)
+							buildPathpage.configureScriptProject(smonitor.newChild(70));
+						else
+							scriptProject.setRawBuildpath(getDefaultBuildpath(), smonitor.newChild(70));
+
+					} catch (CoreException e) {
+						throw new InvocationTargetException(e);
+					}
+				}
+			});
+		} catch (InvocationTargetException e) {
+			String message = NLS.bind(Messages.ConvertToLuaProjectWizard_convertFailedMessage, project.getName());
+			Activator.logError(message, e);
+			ErrorDialog.openError(getShell(), Messages.ConvertToLuaProjectWizard_ConvertFailedDialogTitle, null, new Status(IStatus.ERROR,
+					Activator.PLUGIN_ID, message, e.getCause()));
+			return false;
+		} catch (InterruptedException e) {
+			String message = NLS.bind(Messages.ConvertToLuaProjectWizard_convertFailedMessage, project.getName());
+			Activator.logError(message, e);
+			return false;
+		}
+		return true;
+	}
+}
diff --git a/plugins/org.eclipse.ldt.ui/src/org/eclipse/ldt/ui/wizards/LuaProjectCreator.java b/plugins/org.eclipse.ldt.ui/src/org/eclipse/ldt/ui/wizards/LuaProjectCreator.java
index 360053e..a7e4e61 100644
--- a/plugins/org.eclipse.ldt.ui/src/org/eclipse/ldt/ui/wizards/LuaProjectCreator.java
+++ b/plugins/org.eclipse.ldt.ui/src/org/eclipse/ldt/ui/wizards/LuaProjectCreator.java
@@ -36,9 +36,9 @@
 import org.eclipse.dltk.ui.wizards.ProjectCreator;
 import org.eclipse.jface.wizard.IWizardPage;
 import org.eclipse.ldt.core.LuaConstants;
+import org.eclipse.ldt.core.buildpath.LuaExecutionEnvironment;
 import org.eclipse.ldt.core.internal.LuaLanguageToolkit;
 import org.eclipse.ldt.core.internal.PreferenceInitializer;
-import org.eclipse.ldt.core.internal.buildpath.LuaExecutionEnvironment;
 import org.eclipse.ldt.core.internal.buildpath.LuaExecutionEnvironmentBuildpathUtil;
 import org.eclipse.ldt.ui.internal.Activator;
 import org.eclipse.ldt.ui.wizards.pages.LuaProjectSettingsPage;
diff --git a/plugins/org.eclipse.ldt.ui/src/org/eclipse/ldt/ui/wizards/LuaProjectWizard.java b/plugins/org.eclipse.ldt.ui/src/org/eclipse/ldt/ui/wizards/LuaProjectWizard.java
index 6798fbc..2c23a68 100644
--- a/plugins/org.eclipse.ldt.ui/src/org/eclipse/ldt/ui/wizards/LuaProjectWizard.java
+++ b/plugins/org.eclipse.ldt.ui/src/org/eclipse/ldt/ui/wizards/LuaProjectWizard.java
@@ -24,7 +24,7 @@
 import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.ldt.core.LuaConstants;
 import org.eclipse.ldt.core.LuaNature;
-import org.eclipse.ldt.core.internal.buildpath.LuaExecutionEnvironment;
+import org.eclipse.ldt.core.buildpath.LuaExecutionEnvironment;
 import org.eclipse.ldt.ui.internal.Activator;
 import org.eclipse.ldt.ui.internal.ImageConstants;
 import org.eclipse.ldt.ui.wizards.pages.LuaProjectSettingsPage;
diff --git a/plugins/org.eclipse.ldt.ui/src/org/eclipse/ldt/ui/wizards/Messages.java b/plugins/org.eclipse.ldt.ui/src/org/eclipse/ldt/ui/wizards/Messages.java
index 9e499f4..fcd1c78 100644
--- a/plugins/org.eclipse.ldt.ui/src/org/eclipse/ldt/ui/wizards/Messages.java
+++ b/plugins/org.eclipse.ldt.ui/src/org/eclipse/ldt/ui/wizards/Messages.java
@@ -16,6 +16,11 @@
 public class Messages extends NLS {
 	private static final String BUNDLE_NAME = "org.eclipse.ldt.ui.wizards.messages"; //$NON-NLS-1$
 
+	/** @since 1.3 */
+	public static String ConvertToLuaProjectWizard_convertFailedMessage;
+	public static String ConvertToLuaProjectWizard_wizardTitle;
+	public static String ConvertToLuaProjectWizard_ConvertFailedDialogTitle;
+
 	/** @since 1.2 */
 	public static String DocLuaNewFileWizard_title;
 
@@ -23,6 +28,7 @@
 	public static String LuaProjectCreatorInitializingSourceFolder;
 	public static String LuaProjectWizard_warning_noSourceFolder;
 	public static String LuaProjectWizardProjectWindowTitle;
+
 	static {
 		// initialize resource bundle
 		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
diff --git a/plugins/org.eclipse.ldt.ui/src/org/eclipse/ldt/ui/wizards/messages.properties b/plugins/org.eclipse.ldt.ui/src/org/eclipse/ldt/ui/wizards/messages.properties
index 90efe61..4d68f14 100644
--- a/plugins/org.eclipse.ldt.ui/src/org/eclipse/ldt/ui/wizards/messages.properties
+++ b/plugins/org.eclipse.ldt.ui/src/org/eclipse/ldt/ui/wizards/messages.properties
@@ -8,6 +8,9 @@
 # Contributors:
 #     Sierra Wireless - initial API and implementation
 ###############################################################################
+ConvertToLuaProjectWizard_ConvertFailedDialogTitle=Unable to convert lua project ...
+ConvertToLuaProjectWizard_convertFailedMessage=Unable to convert {0} project to a lua project
+ConvertToLuaProjectWizard_wizardTitle=Convert to Lua Project ...
 DocLuaNewFileWizard_title=New DocLua file
 LuaNewFileWizardTitle=New Lua file
 LuaProjectCreatorInitializingSourceFolder=Initializing default source folder.
diff --git a/plugins/org.eclipse.ldt.ui/src/org/eclipse/ldt/ui/wizards/pages/ConvertToLuaProjectMainPage.java b/plugins/org.eclipse.ldt.ui/src/org/eclipse/ldt/ui/wizards/pages/ConvertToLuaProjectMainPage.java
new file mode 100644
index 0000000..2012cc7
--- /dev/null
+++ b/plugins/org.eclipse.ldt.ui/src/org/eclipse/ldt/ui/wizards/pages/ConvertToLuaProjectMainPage.java
@@ -0,0 +1,104 @@
+/*******************************************************************************
+ * Copyright (c) 2014 Sierra Wireless 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
+ *
+ * Contributors:
+ *     Sierra Wireless - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.ldt.ui.wizards.pages;
+
+import java.net.MalformedURLException;
+import java.net.URL;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.jface.dialogs.Dialog;
+import org.eclipse.jface.dialogs.IMessageProvider;
+import org.eclipse.jface.layout.GridDataFactory;
+import org.eclipse.jface.layout.GridLayoutFactory;
+import org.eclipse.jface.wizard.WizardPage;
+import org.eclipse.ldt.core.buildpath.LuaExecutionEnvironment;
+import org.eclipse.ldt.ui.internal.Activator;
+import org.eclipse.osgi.util.NLS;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Event;
+import org.eclipse.swt.widgets.Link;
+import org.eclipse.swt.widgets.Listener;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.PlatformUI;
+
+/**
+ * @since 1.3
+ */
+public class ConvertToLuaProjectMainPage extends WizardPage {
+
+	private boolean isKonekiMigration = false;
+	private LuaExecutionEnvironmentGroup luaExecutionEnvironmentGroup;
+
+	public ConvertToLuaProjectMainPage(String pageName, IProject project) {
+		super(pageName);
+		try {
+			isKonekiMigration = project.hasNature("org.eclipse.koneki.ldt.nature"); //$NON-NLS-1$
+		} catch (CoreException e) {
+			Activator.log(e.getStatus());
+		}
+		setTitle(NLS.bind(Messages.ConvertToLuaProjectMainPage_title, project.getName()));
+
+		if (isKonekiMigration) {
+			setMessage(Messages.ConvertToLuaProjectMainPage_migrationMessage, IMessageProvider.WARNING);
+		} else {
+			setMessage(Messages.ConvertToLuaProjectMainPage_defaultMessage);
+		}
+
+	}
+
+	/**
+	 * @see org.eclipse.jface.dialogs.IDialogPage#createControl(org.eclipse.swt.widgets.Composite)
+	 */
+	@Override
+	public void createControl(Composite parent) {
+		initializeDialogUnits(parent);
+
+		// Create container
+		Composite composite = new Composite(parent, SWT.NONE);
+		composite.setFont(parent.getFont());
+		GridLayoutFactory.swtDefaults().applyTo(composite);
+		GridDataFactory.swtDefaults().align(SWT.FILL, SWT.CENTER).applyTo(composite);
+
+		// Manage Koneki project
+		if (isKonekiMigration) {
+			Link link = new Link(composite, WARNING);
+			link.setText(Messages.ConvertToLuaProjectMainPage_linkToMigrationPage);
+			link.addListener(SWT.Selection, new Listener() {
+				@Override
+				public void handleEvent(Event event) {
+					try {
+						PlatformUI.getWorkbench().getBrowserSupport().getExternalBrowser().openURL(new URL(event.text));
+					} catch (PartInitException e) {
+						Activator.logWarning("Unable to open migration koneki/ldt wiki page", e); //$NON-NLS-1$
+					} catch (MalformedURLException e) {
+						Activator.logWarning("Unable to open migration koneki/ldt wiki page", e); //$NON-NLS-1$
+					}
+				}
+			});
+		}
+
+		// Create Lua execution environment group
+		luaExecutionEnvironmentGroup = new LuaExecutionEnvironmentGroup(composite, false);
+
+		setControl(composite);
+		Dialog.applyDialogFont(composite);
+	}
+
+	public LuaExecutionEnvironment getLuaExecutionEnvironement() {
+		return luaExecutionEnvironmentGroup.getSelectedLuaExecutionEnvironment();
+	}
+
+	public boolean isKonekiMigration() {
+		return isKonekiMigration;
+	}
+}
diff --git a/plugins/org.eclipse.ldt.ui/src/org/eclipse/ldt/ui/wizards/pages/LuaExecutionEnvironmentGroup.java b/plugins/org.eclipse.ldt.ui/src/org/eclipse/ldt/ui/wizards/pages/LuaExecutionEnvironmentGroup.java
index 3d5e6e0..d03d8f8 100644
--- a/plugins/org.eclipse.ldt.ui/src/org/eclipse/ldt/ui/wizards/pages/LuaExecutionEnvironmentGroup.java
+++ b/plugins/org.eclipse.ldt.ui/src/org/eclipse/ldt/ui/wizards/pages/LuaExecutionEnvironmentGroup.java
@@ -21,9 +21,9 @@
 import org.eclipse.jface.viewers.ISelection;

 import org.eclipse.jface.viewers.IStructuredSelection;

 import org.eclipse.jface.viewers.StructuredSelection;

+import org.eclipse.ldt.core.buildpath.LuaExecutionEnvironment;

 import org.eclipse.ldt.core.internal.LuaLanguageToolkit;

 import org.eclipse.ldt.core.internal.PreferenceInitializer;

-import org.eclipse.ldt.core.internal.buildpath.LuaExecutionEnvironment;

 import org.eclipse.ldt.core.internal.buildpath.LuaExecutionEnvironmentConstants;

 import org.eclipse.ldt.ui.LuaExecutionEnvironmentUIManager;

 import org.eclipse.ldt.ui.internal.buildpath.LuaExecutionEnvironmentContentProvider;

@@ -69,10 +69,14 @@
 	};

 

 	public LuaExecutionEnvironmentGroup(final Composite parent) {

+		this(parent, true);

+	}

+

+	public LuaExecutionEnvironmentGroup(final Composite parent, boolean showMainCheckBox) {

 		// Create group

 		final Group group = new Group(parent, SWT.NONE);

 		group.setText(Messages.LuaExecutionEnvironmentGroupTitle);

-		GridDataFactory.swtDefaults().align(SWT.FILL, SWT.CENTER).applyTo(group);

+		GridDataFactory.swtDefaults().align(SWT.FILL, SWT.CENTER).grab(true, false).applyTo(group);

 		GridLayoutFactory.swtDefaults().numColumns(3).applyTo(group);

 

 		// Button for no Execution Environment at project creation

@@ -98,16 +102,18 @@
 		GridDataFactory.swtDefaults().align(SWT.END, SWT.CENTER).applyTo(link);

 

 		// Should we create a main.lua

-		mainCheckBox = new Button(group, SWT.CHECK);

-		mainCheckBox.setText(Messages.LuaExecutionEnvironmentGroupTemplateLabel);

-		mainCheckBox.setSelection(hasToCreateMain);

-		GridDataFactory.swtDefaults().span(3, 1).applyTo(mainCheckBox);

-		mainCheckBox.addSelectionListener(new SelectionAdapter() {

-			@Override

-			public void widgetSelected(final SelectionEvent e) {

-				hasToCreateMain = mainCheckBox.getSelection();

-			}

-		});

+		if (showMainCheckBox) {

+			mainCheckBox = new Button(group, SWT.CHECK);

+			mainCheckBox.setText(Messages.LuaExecutionEnvironmentGroupTemplateLabel);

+			mainCheckBox.setSelection(hasToCreateMain);

+			GridDataFactory.swtDefaults().span(3, 1).applyTo(mainCheckBox);

+			mainCheckBox.addSelectionListener(new SelectionAdapter() {

+				@Override

+				public void widgetSelected(final SelectionEvent e) {

+					hasToCreateMain = mainCheckBox.getSelection();

+				}

+			});

+		}

 

 		// Refresh list after user went to Execution Environment preferences

 		link.addSelectionListener(new SelectionAdapter() {

diff --git a/plugins/org.eclipse.ldt.ui/src/org/eclipse/ldt/ui/wizards/pages/LuaProjectSettingsPage.java b/plugins/org.eclipse.ldt.ui/src/org/eclipse/ldt/ui/wizards/pages/LuaProjectSettingsPage.java
index d27e9e3..88c8351 100644
--- a/plugins/org.eclipse.ldt.ui/src/org/eclipse/ldt/ui/wizards/pages/LuaProjectSettingsPage.java
+++ b/plugins/org.eclipse.ldt.ui/src/org/eclipse/ldt/ui/wizards/pages/LuaProjectSettingsPage.java
@@ -14,7 +14,7 @@
 import java.util.Observer;
 
 import org.eclipse.dltk.ui.wizards.ProjectWizardFirstPage;
-import org.eclipse.ldt.core.internal.buildpath.LuaExecutionEnvironment;
+import org.eclipse.ldt.core.buildpath.LuaExecutionEnvironment;
 import org.eclipse.swt.widgets.Composite;
 
 /**
diff --git a/plugins/org.eclipse.ldt.ui/src/org/eclipse/ldt/ui/wizards/pages/Messages.java b/plugins/org.eclipse.ldt.ui/src/org/eclipse/ldt/ui/wizards/pages/Messages.java
index dd87c6e..337c966 100644
--- a/plugins/org.eclipse.ldt.ui/src/org/eclipse/ldt/ui/wizards/pages/Messages.java
+++ b/plugins/org.eclipse.ldt.ui/src/org/eclipse/ldt/ui/wizards/pages/Messages.java
@@ -17,6 +17,14 @@
 
 	private static final String BUNDLE_NAME = "org.eclipse.ldt.ui.wizards.pages.messages"; //$NON-NLS-1$
 
+	/** @since 1.3 */
+	public static String ConvertToLuaProjectMainPage_title;
+	public static String ConvertToLuaProjectMainPage_defaultMessage;
+
+	public static String ConvertToLuaProjectMainPage_linkToMigrationPage;
+
+	public static String ConvertToLuaProjectMainPage_migrationMessage;
+
 	/** @since 1.2 */
 	public static String DocLuaFilePage_description;
 
@@ -36,6 +44,7 @@
 	public static String LuaFilePageDescription;
 	public static String LuaFilePageTitle;
 	public static String LuaProjecSettingsPageLabel;
+
 	static {
 		// initialize resource bundle
 		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
diff --git a/plugins/org.eclipse.ldt.ui/src/org/eclipse/ldt/ui/wizards/pages/messages.properties b/plugins/org.eclipse.ldt.ui/src/org/eclipse/ldt/ui/wizards/pages/messages.properties
index 00a8337..7565732 100644
--- a/plugins/org.eclipse.ldt.ui/src/org/eclipse/ldt/ui/wizards/pages/messages.properties
+++ b/plugins/org.eclipse.ldt.ui/src/org/eclipse/ldt/ui/wizards/pages/messages.properties
@@ -8,13 +8,17 @@
 # Contributors:
 #     Sierra Wireless - initial API and implementation
 ###############################################################################
+ConvertToLuaProjectMainPage_title=Convert {0} project to a Lua project.
+ConvertToLuaProjectMainPage_defaultMessage= Add Lua nature, builders and execution environment to this project.
+ConvertToLuaProjectMainPage_linkToMigrationPage=To get more information about koneki/ldt migration go to the <a href="https://wiki.eclipse.org/LDT/User_Area/Tutorials/MigrateFromKoneki">wiki page</a>.
+ConvertToLuaProjectMainPage_migrationMessage=You will migrate a koneki project to new Lua project. This can not be undone.
 DocLuaFilePage_description=Create a DocLua file. A DocLua file is a file describing an API to\nenable tooling, and will not be taken in account at runtime.
 DocLuaFilePage_title=DocLua File
 GrammarGroup_group_name=Target Grammar
 LuaExecutionEnvironmentGroupMainLabel=Create default template project ready to run.
 LuaExecutionEnvironmentGroupTemplateLabel=Create default template project ready to run.
 LuaExecutionEnvironmentGroupManageExecutionEnvironment=Configure Execution Environments...
-LuaExecutionEnvironmentGroupNoEEForProjectCreation=Create project without Execution Environment
+LuaExecutionEnvironmentGroupNoEEForProjectCreation=No Execution Environment
 LuaExecutionEnvironmentGroupSelectEE=Select one:
 LuaExecutionEnvironmentGroupTitle=Targeted Execution Environment
 LuaFilePageDescription=Create a Lua script.
diff --git a/plugins/org.eclipse.ldt/META-INF/MANIFEST.MF b/plugins/org.eclipse.ldt/META-INF/MANIFEST.MF
index c88fef4..118447f 100644
--- a/plugins/org.eclipse.ldt/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.ldt/META-INF/MANIFEST.MF
@@ -16,6 +16,7 @@
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
 Bundle-ActivationPolicy: lazy
 Export-Package: org.eclipse.ldt.core,
+ org.eclipse.ldt.core.buildpath,
  org.eclipse.ldt.core.grammar,
  org.eclipse.ldt.core.internal;
   x-friends:="org.eclipse.ldt.core.tests,
diff --git a/plugins/org.eclipse.ldt/plugin.xml b/plugins/org.eclipse.ldt/plugin.xml
index 0e1eaec..872d890 100644
--- a/plugins/org.eclipse.ldt/plugin.xml
+++ b/plugins/org.eclipse.ldt/plugin.xml
@@ -43,6 +43,14 @@
       </language>
    </extension>
    <extension
+         point="org.eclipse.dltk.core.language">
+      <language
+            class="org.eclipse.ldt.core.internal.LuaLanguageToolkit"
+            nature="org.eclipse.koneki.ldt.nature"
+            priority="0">
+      </language>
+   </extension>
+   <extension
          point="org.eclipse.dltk.core.buildpathContainerInitializer">
       <buildpathContainerInitializer
             class="org.eclipse.ldt.core.internal.buildpath.LuaExecutionEnvironmentBuildpathContainerInitializer"
diff --git a/plugins/org.eclipse.ldt/src/org/eclipse/ldt/core/internal/buildpath/LuaExecutionEnvironment.java b/plugins/org.eclipse.ldt/src/org/eclipse/ldt/core/buildpath/LuaExecutionEnvironment.java
similarity index 96%
rename from plugins/org.eclipse.ldt/src/org/eclipse/ldt/core/internal/buildpath/LuaExecutionEnvironment.java
rename to plugins/org.eclipse.ldt/src/org/eclipse/ldt/core/buildpath/LuaExecutionEnvironment.java
index 3d3b9f3..616896d 100644
--- a/plugins/org.eclipse.ldt/src/org/eclipse/ldt/core/internal/buildpath/LuaExecutionEnvironment.java
+++ b/plugins/org.eclipse.ldt/src/org/eclipse/ldt/core/buildpath/LuaExecutionEnvironment.java
@@ -8,11 +8,12 @@
  * Contributors:

  *     Sierra Wireless - initial API and implementation

  *******************************************************************************/

-package org.eclipse.ldt.core.internal.buildpath;

+package org.eclipse.ldt.core.buildpath;

 

 import java.util.Map;

 

 import org.eclipse.core.runtime.IPath;

+import org.eclipse.ldt.core.internal.buildpath.LuaExecutionEnvironmentConstants;

 

 public class LuaExecutionEnvironment implements Comparable<LuaExecutionEnvironment> {

 

@@ -54,7 +55,7 @@
 			templates = null;

 	}

 

-	protected void setEmbedded(final boolean embeddedEE) {

+	public void setEmbedded(final boolean embeddedEE) {

 		this.embedded = embeddedEE;

 	}

 

diff --git a/plugins/org.eclipse.ldt/src/org/eclipse/ldt/core/internal/buildpath/LuaExecutionEnvironmentBuildpathContainer.java b/plugins/org.eclipse.ldt/src/org/eclipse/ldt/core/internal/buildpath/LuaExecutionEnvironmentBuildpathContainer.java
index 974b939..911066b 100644
--- a/plugins/org.eclipse.ldt/src/org/eclipse/ldt/core/internal/buildpath/LuaExecutionEnvironmentBuildpathContainer.java
+++ b/plugins/org.eclipse.ldt/src/org/eclipse/ldt/core/internal/buildpath/LuaExecutionEnvironmentBuildpathContainer.java
@@ -21,6 +21,7 @@
 import org.eclipse.dltk.core.IBuildpathContainer;

 import org.eclipse.dltk.core.IBuildpathEntry;

 import org.eclipse.dltk.internal.core.BuildpathEntry;

+import org.eclipse.ldt.core.buildpath.LuaExecutionEnvironment;

 import org.eclipse.ldt.core.internal.Activator;

 

 @SuppressWarnings("restriction")

diff --git a/plugins/org.eclipse.ldt/src/org/eclipse/ldt/core/internal/buildpath/LuaExecutionEnvironmentBuildpathUtil.java b/plugins/org.eclipse.ldt/src/org/eclipse/ldt/core/internal/buildpath/LuaExecutionEnvironmentBuildpathUtil.java
index 532cc66..9af539f 100644
--- a/plugins/org.eclipse.ldt/src/org/eclipse/ldt/core/internal/buildpath/LuaExecutionEnvironmentBuildpathUtil.java
+++ b/plugins/org.eclipse.ldt/src/org/eclipse/ldt/core/internal/buildpath/LuaExecutionEnvironmentBuildpathUtil.java
@@ -19,6 +19,7 @@
 import org.eclipse.dltk.core.environment.EnvironmentManager;

 import org.eclipse.dltk.core.environment.EnvironmentPathUtils;

 import org.eclipse.dltk.core.environment.IEnvironment;

+import org.eclipse.ldt.core.buildpath.LuaExecutionEnvironment;

 import org.eclipse.ldt.core.internal.Activator;

 

 public final class LuaExecutionEnvironmentBuildpathUtil {

diff --git a/plugins/org.eclipse.ldt/src/org/eclipse/ldt/core/internal/buildpath/LuaExecutionEnvironmentManager.java b/plugins/org.eclipse.ldt/src/org/eclipse/ldt/core/internal/buildpath/LuaExecutionEnvironmentManager.java
index 7826358..d5f82e8 100644
--- a/plugins/org.eclipse.ldt/src/org/eclipse/ldt/core/internal/buildpath/LuaExecutionEnvironmentManager.java
+++ b/plugins/org.eclipse.ldt/src/org/eclipse/ldt/core/internal/buildpath/LuaExecutionEnvironmentManager.java
@@ -45,6 +45,7 @@
 import org.eclipse.dltk.core.IBuildpathEntry;

 import org.eclipse.dltk.core.IScriptProject;

 import org.eclipse.dltk.core.ModelException;

+import org.eclipse.ldt.core.buildpath.LuaExecutionEnvironment;

 import org.eclipse.ldt.core.internal.Activator;

 import org.eclipse.osgi.util.NLS;

 import org.osgi.framework.Bundle;

diff --git a/pom.xml b/pom.xml
index b0f52fb..7816056 100644
--- a/pom.xml
+++ b/pom.xml
@@ -30,6 +30,7 @@
 		<download-publish-maintenance-relativepath>updates-nightly-maintenance</download-publish-maintenance-relativepath>
 		<download-publish-path>${download-publish-rootpath}${download-publish-relativepath}</download-publish-path>
 		<eclipse-site>http://download.eclipse.org/releases/luna</eclipse-site>
+		<tycho.scmUrl>scm:git:https://git.eclipse.org/gitroot/ldt/org.eclipse.ldt.git</tycho.scmUrl>
 	</properties>
 
 	<!-- Precise git as scm for the buildnumber-maven-plugin plugin for the 
@@ -276,7 +277,25 @@
 					</environments>
 				</configuration>
 			</plugin>
-
+			
+			<plugin>
+				<groupId>org.eclipse.tycho</groupId>
+				<artifactId>tycho-packaging-plugin</artifactId>
+				<version>${tycho-version}</version>
+				<configuration>
+					<sourceReferences>
+					<generate>true</generate>
+					</sourceReferences>
+				</configuration>
+				<dependencies>
+					<dependency>
+					<groupId>org.eclipse.tycho.extras</groupId>
+					<artifactId>tycho-sourceref-jgit</artifactId>
+					<version>${tycho-extras-version}</version>
+					</dependency>
+				</dependencies>
+			</plugin>
+			
 			<plugin>
 				<groupId>org.apache.maven.plugins</groupId>
 				<artifactId>maven-checkstyle-plugin</artifactId>
diff --git a/product/category.xml b/product/category.xml
index edc5156..7f96634 100644
--- a/product/category.xml
+++ b/product/category.xml
@@ -3,8 +3,14 @@
    <feature url="features/org.eclipse.ldt_1.3.0.qualifier.jar" id="org.eclipse.ldt" version="1.3.0.qualifier">

       <category name="ldt"/>

    </feature>

+   <feature url="features/org.eclipse.ldt.source_1.3.0.qualifier.jar" id="org.eclipse.ldt.source" version="1.3.0.qualifier">

+      <category name="ldt"/>

+   </feature>

    <feature url="features/org.eclipse.ldt.remote_1.3.0.qualifier.jar" id="org.eclipse.ldt.remote" version="1.3.0.qualifier">

       <category name="ldt"/>

    </feature>

+   <feature url="features/org.eclipse.ldt.remote.source_1.3.0.qualifier.jar" id="org.eclipse.ldt.remote.source" version="1.3.0.qualifier">

+      <category name="ldt"/>

+   </feature>

    <category-def name="ldt" label="Lua Development Tools"/>

 </site>

diff --git a/tests/org.eclipse.ldt.lua.tests/tests/formatter/input/basic/longstring2.lua b/tests/org.eclipse.ldt.lua.tests/tests/formatter/input/basic/longstring2.lua
index 4272aa7..6c06fed 100644
--- a/tests/org.eclipse.ldt.lua.tests/tests/formatter/input/basic/longstring2.lua
+++ b/tests/org.eclipse.ldt.lua.tests/tests/formatter/input/basic/longstring2.lua
@@ -4,4 +4,4 @@
 local longString = [=[Long string
     4 space at the start of this line
 4 space at the end of this line    
-]=]
+]=]
\ No newline at end of file