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