diff --git a/build/org.eclipse.cdt.build.gcc.core/src/org/eclipse/cdt/build/gcc/core/GCCToolChain.java b/build/org.eclipse.cdt.build.gcc.core/src/org/eclipse/cdt/build/gcc/core/GCCToolChain.java
index f5cd6b21b64..3ee7de0d1b6 100644
--- a/build/org.eclipse.cdt.build.gcc.core/src/org/eclipse/cdt/build/gcc/core/GCCToolChain.java
+++ b/build/org.eclipse.cdt.build.gcc.core/src/org/eclipse/cdt/build/gcc/core/GCCToolChain.java
@@ -106,6 +106,8 @@ public class GCCToolChain extends PlatformObject implements IToolChain {
idBuilder.append(pathToToolChain.toString());
this.id = idBuilder.toString();
+ properties.put(ATTR_ARCH, arch);
+
IEnvironmentVariable pathVar = null;
if (envVars != null) {
for (IEnvironmentVariable envVar : envVars) {
diff --git a/build/org.eclipse.cdt.cmake.ui.tests/.classpath b/build/org.eclipse.cdt.cmake.ui.tests/.classpath
new file mode 100644
index 00000000000..eca7bdba8f0
--- /dev/null
+++ b/build/org.eclipse.cdt.cmake.ui.tests/.classpath
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/build/org.eclipse.cdt.cmake.ui.tests/.project b/build/org.eclipse.cdt.cmake.ui.tests/.project
new file mode 100644
index 00000000000..737f5d08009
--- /dev/null
+++ b/build/org.eclipse.cdt.cmake.ui.tests/.project
@@ -0,0 +1,28 @@
+
+
+ org.eclipse.cdt.cmake.ui.tests
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+ org.eclipse.pde.ManifestBuilder
+
+
+
+
+ org.eclipse.pde.SchemaBuilder
+
+
+
+
+
+ org.eclipse.pde.PluginNature
+ org.eclipse.jdt.core.javanature
+
+
diff --git a/build/org.eclipse.cdt.cmake.ui.tests/.settings/org.eclipse.jdt.core.prefs b/build/org.eclipse.cdt.cmake.ui.tests/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000000..0c68a61dca8
--- /dev/null
+++ b/build/org.eclipse.cdt.cmake.ui.tests/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/build/org.eclipse.cdt.cmake.ui.tests/META-INF/MANIFEST.MF b/build/org.eclipse.cdt.cmake.ui.tests/META-INF/MANIFEST.MF
new file mode 100644
index 00000000000..8ae804036f2
--- /dev/null
+++ b/build/org.eclipse.cdt.cmake.ui.tests/META-INF/MANIFEST.MF
@@ -0,0 +1,11 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Tests
+Bundle-SymbolicName: org.eclipse.cdt.cmake.ui.tests
+Bundle-Version: 1.0.0.qualifier
+Bundle-Vendor: Eclipse CDT
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Require-Bundle: org.eclipse.swtbot.go;bundle-version="2.7.0",
+ org.eclipse.cdt.core;bundle-version="6.4.0",
+ org.eclipse.core.resources;bundle-version="3.12.0",
+ org.eclipse.cdt.cmake.core;bundle-version="1.2.0"
diff --git a/build/org.eclipse.cdt.cmake.ui.tests/build.properties b/build/org.eclipse.cdt.cmake.ui.tests/build.properties
new file mode 100644
index 00000000000..34d2e4d2dad
--- /dev/null
+++ b/build/org.eclipse.cdt.cmake.ui.tests/build.properties
@@ -0,0 +1,4 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .
diff --git a/build/org.eclipse.cdt.cmake.ui.tests/pom.xml b/build/org.eclipse.cdt.cmake.ui.tests/pom.xml
new file mode 100644
index 00000000000..cb4587258c3
--- /dev/null
+++ b/build/org.eclipse.cdt.cmake.ui.tests/pom.xml
@@ -0,0 +1,43 @@
+
+
+ 4.0.0
+
+
+ org.eclipse.cdt
+ cdt-parent
+ 9.3.0-SNAPSHOT
+ ../../pom.xml
+
+
+ org.eclipse.cdt.cmake.ui.tests
+ 1.0.0-SNAPSHOT
+ eclipse-test-plugin
+
+
+
+
+ org.eclipse.tycho
+ target-platform-configuration
+ ${tycho-version}
+
+
+
+
+ p2-installable-unit
+ org.eclipse.cdt.feature.group
+ 0.0.0
+
+
+ p2-installable-unit
+ org.eclipse.cdt.cmake.feature.group
+ 0.0.0
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/build/org.eclipse.cdt.cmake.ui.tests/src/org/eclipse/cdt/cmake/ui/internal/tests/AutomatedIntegrationSuite.java b/build/org.eclipse.cdt.cmake.ui.tests/src/org/eclipse/cdt/cmake/ui/internal/tests/AutomatedIntegrationSuite.java
new file mode 100644
index 00000000000..698779e0eb8
--- /dev/null
+++ b/build/org.eclipse.cdt.cmake.ui.tests/src/org/eclipse/cdt/cmake/ui/internal/tests/AutomatedIntegrationSuite.java
@@ -0,0 +1,17 @@
+/*******************************************************************************
+ * Copyright (c) 2017 QNX Software Systems 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
+ *******************************************************************************/
+package org.eclipse.cdt.cmake.ui.internal.tests;
+
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+
+@RunWith(Suite.class)
+@Suite.SuiteClasses({ NewCMakeProjectTest.class })
+public class AutomatedIntegrationSuite {
+
+}
diff --git a/build/org.eclipse.cdt.cmake.ui.tests/src/org/eclipse/cdt/cmake/ui/internal/tests/NewCMakeProjectTest.java b/build/org.eclipse.cdt.cmake.ui.tests/src/org/eclipse/cdt/cmake/ui/internal/tests/NewCMakeProjectTest.java
new file mode 100644
index 00000000000..0f425bf2736
--- /dev/null
+++ b/build/org.eclipse.cdt.cmake.ui.tests/src/org/eclipse/cdt/cmake/ui/internal/tests/NewCMakeProjectTest.java
@@ -0,0 +1,97 @@
+/*******************************************************************************
+ * Copyright (c) 2017 QNX Software Systems 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
+ *******************************************************************************/
+package org.eclipse.cdt.cmake.ui.internal.tests;
+
+import static org.eclipse.swtbot.eclipse.finder.matchers.WidgetMatcherFactory.withPartName;
+import static org.junit.Assert.assertTrue;
+
+import org.eclipse.cdt.cmake.core.CMakeNature;
+import org.eclipse.cdt.core.CCorePlugin;
+import org.eclipse.cdt.core.index.IIndexManager;
+import org.eclipse.cdt.core.model.CoreModel;
+import org.eclipse.cdt.core.model.ICProject;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.swtbot.eclipse.finder.SWTWorkbenchBot;
+import org.eclipse.swtbot.eclipse.finder.widgets.SWTBotView;
+import org.eclipse.swtbot.swt.finder.utils.SWTBotPreferences;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotTable;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotTableItem;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+@SuppressWarnings("nls")
+public class NewCMakeProjectTest {
+
+ private static SWTWorkbenchBot bot;
+
+ @BeforeClass
+ public static void beforeClass() {
+ SWTBotPreferences.KEYBOARD_LAYOUT = "EN_US";
+ SWTBotPreferences.TIMEOUT = 10000;
+ bot = new SWTWorkbenchBot();
+ }
+
+ @Before
+ public void before() {
+ bot.resetWorkbench();
+
+ for (SWTBotView view : bot.views(withPartName("Welcome"))) {
+ view.close();
+ }
+ }
+
+ @Test(timeout = 60000)
+ public void createCMakeProject() throws Exception {
+ // open C++ perspective
+ if (!"C/C++".equals(bot.activePerspective().getLabel())) {
+ bot.perspectiveByLabel("C/C++").activate();
+ }
+
+ // Activate C/C++ wizard
+ bot.menu("File").menu("New").menu("C/C++ Project").click();
+ bot.shell("New C/C++ Project").activate();
+
+ // Double click on the template
+ SWTBotTable templateTable = bot.table();
+ bot.getDisplay().syncExec(() -> {
+ for (int i = 0; i < templateTable.rowCount(); ++i) {
+ SWTBotTableItem item = templateTable.getTableItem(i);
+ if ("CMake Project".equals(item.widget.getData(SWTBotPreferences.DEFAULT_KEY))) {
+ item.doubleClick();
+ break;
+ }
+ }
+ });
+
+ // Select the shell again since magic wizardry happened
+ bot.shell("New CMake Project").activate();
+
+ // Create the project
+ String projectName = "CMakeTestProj";
+ bot.textWithLabel("Project name:").setText(projectName);
+ bot.button("Finish").click();
+
+ // Make sure it shows up in Project Explorer
+ bot.viewByPartName("Project Explorer").show();
+ bot.tree().getTreeItem(projectName);
+
+ // Make sure the project indexer completes. At that point we're stable.
+ IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
+ ICProject cproject = CoreModel.getDefault().create(project);
+ IIndexManager indexManager = CCorePlugin.getIndexManager();
+ while (!indexManager.isProjectContentSynced(cproject)) {
+ Thread.sleep(1000);
+ }
+
+ // Make sure it has the right nature
+ assertTrue(project.hasNature(CMakeNature.ID));
+ }
+
+}
diff --git a/build/org.eclipse.cdt.cmake.ui.tests/swtbot-test-plugin.properties b/build/org.eclipse.cdt.cmake.ui.tests/swtbot-test-plugin.properties
new file mode 100644
index 00000000000..338038b9345
--- /dev/null
+++ b/build/org.eclipse.cdt.cmake.ui.tests/swtbot-test-plugin.properties
@@ -0,0 +1 @@
+# This file tells the Maven build to use the settings for SWTBot test plugins
diff --git a/build/org.eclipse.cdt.cmake.ui/src/org/eclipse/cdt/cmake/ui/internal/CMakeBuildTab.java b/build/org.eclipse.cdt.cmake.ui/src/org/eclipse/cdt/cmake/ui/internal/CMakeBuildTab.java
index 7778df8d84b..6cc9a02e012 100644
--- a/build/org.eclipse.cdt.cmake.ui/src/org/eclipse/cdt/cmake/ui/internal/CMakeBuildTab.java
+++ b/build/org.eclipse.cdt.cmake.ui/src/org/eclipse/cdt/cmake/ui/internal/CMakeBuildTab.java
@@ -1,3 +1,10 @@
+/*******************************************************************************
+ * Copyright (c) 2017 QNX Software Systems 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
+ *******************************************************************************/
package org.eclipse.cdt.cmake.ui.internal;
import java.util.HashMap;
diff --git a/build/org.eclipse.cdt.cmake.ui/src/org/eclipse/cdt/cmake/ui/internal/Messages.java b/build/org.eclipse.cdt.cmake.ui/src/org/eclipse/cdt/cmake/ui/internal/Messages.java
index cffd11d7158..50df2366fab 100644
--- a/build/org.eclipse.cdt.cmake.ui/src/org/eclipse/cdt/cmake/ui/internal/Messages.java
+++ b/build/org.eclipse.cdt.cmake.ui/src/org/eclipse/cdt/cmake/ui/internal/Messages.java
@@ -1,3 +1,10 @@
+/*******************************************************************************
+ * Copyright (c) 2017 QNX Software Systems 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
+ *******************************************************************************/
package org.eclipse.cdt.cmake.ui.internal;
import org.eclipse.osgi.util.NLS;
@@ -15,9 +22,13 @@ public class Messages extends NLS {
public static String CMakePropertyPage_FailedToStartCMakeGui_Title;
public static String CMakePropertyPage_LaunchCMakeGui;
+ public static String NewCMakeProjectWizard_Description;
+ public static String NewCMakeProjectWizard_PageTitle;
+ public static String NewCMakeProjectWizard_WindowTitle;
+
static {
// initialize resource bundle
- NLS.initializeMessages(Messages.class.getName(), Messages.class);
+ NLS.initializeMessages("org.eclipse.cdt.cmake.ui.internal.messages", Messages.class); //$NON-NLS-1$
}
private Messages() {
diff --git a/build/org.eclipse.cdt.cmake.ui/src/org/eclipse/cdt/cmake/ui/internal/NewCMakeProjectWizard.java b/build/org.eclipse.cdt.cmake.ui/src/org/eclipse/cdt/cmake/ui/internal/NewCMakeProjectWizard.java
index ad732e9e859..39f9996fca6 100644
--- a/build/org.eclipse.cdt.cmake.ui/src/org/eclipse/cdt/cmake/ui/internal/NewCMakeProjectWizard.java
+++ b/build/org.eclipse.cdt.cmake.ui/src/org/eclipse/cdt/cmake/ui/internal/NewCMakeProjectWizard.java
@@ -9,6 +9,7 @@ package org.eclipse.cdt.cmake.ui.internal;
import org.eclipse.cdt.cmake.core.CMakeProjectGenerator;
import org.eclipse.jface.dialogs.Dialog;
+import org.eclipse.jface.wizard.IWizardContainer;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.tools.templates.core.IGenerator;
import org.eclipse.tools.templates.ui.TemplateWizard;
@@ -18,6 +19,12 @@ public class NewCMakeProjectWizard extends TemplateWizard {
private WizardNewProjectCreationPage mainPage;
+ @Override
+ public void setContainer(IWizardContainer wizardContainer) {
+ super.setContainer(wizardContainer);
+ setWindowTitle(Messages.NewCMakeProjectWizard_WindowTitle);
+ }
+
@Override
public void addPages() {
mainPage = new WizardNewProjectCreationPage("basicNewProjectPage") { //$NON-NLS-1$
@@ -29,8 +36,8 @@ public class NewCMakeProjectWizard extends TemplateWizard {
Dialog.applyDialogFont(getControl());
}
};
- mainPage.setTitle("New CMake Project"); //$NON-NLS-1$
- mainPage.setDescription("Specify properties of new CMake project."); //$NON-NLS-1$
+ mainPage.setTitle(Messages.NewCMakeProjectWizard_PageTitle);
+ mainPage.setDescription(Messages.NewCMakeProjectWizard_Description);
this.addPage(mainPage);
}
diff --git a/build/org.eclipse.cdt.cmake.ui/src/org/eclipse/cdt/cmake/ui/internal/Messages.properties b/build/org.eclipse.cdt.cmake.ui/src/org/eclipse/cdt/cmake/ui/internal/messages.properties
similarity index 72%
rename from build/org.eclipse.cdt.cmake.ui/src/org/eclipse/cdt/cmake/ui/internal/Messages.properties
rename to build/org.eclipse.cdt.cmake.ui/src/org/eclipse/cdt/cmake/ui/internal/messages.properties
index e0e45fd3d9b..51b607823f3 100644
--- a/build/org.eclipse.cdt.cmake.ui/src/org/eclipse/cdt/cmake/ui/internal/Messages.properties
+++ b/build/org.eclipse.cdt.cmake.ui/src/org/eclipse/cdt/cmake/ui/internal/messages.properties
@@ -8,3 +8,6 @@ CMakeBuildTab_UnixMakefiles=Unix Makefiles
CMakePropertyPage_FailedToStartCMakeGui_Body=Failed to run the CMake GUI:
CMakePropertyPage_FailedToStartCMakeGui_Title=Failed to run CMake GUI
CMakePropertyPage_LaunchCMakeGui=Launch CMake GUI...
+NewCMakeProjectWizard_Description=Specify properties of new CMake project.
+NewCMakeProjectWizard_PageTitle=New CMake Project
+NewCMakeProjectWizard_WindowTitle=New CMake Project
diff --git a/build/pom.xml b/build/pom.xml
index 9964cdd85f0..1668c91e52d 100644
--- a/build/pom.xml
+++ b/build/pom.xml
@@ -10,33 +10,6 @@
9.3.0-SNAPSHOT
-
- org.eclipse.cdt.build.gcc.core
- org.eclipse.cdt.make.core
- org.eclipse.cdt.make.ui
- org.eclipse.cdt.managedbuilder.core
- org.eclipse.cdt.managedbuilder.ui
-
- org.eclipse.cdt.managedbuilder.gnu.ui
- org.eclipse.cdt.gnu.build-feature
-
- org.eclipse.cdt.managedbuilder.core.tests
- org.eclipse.cdt.managedbuilder.ui.tests
- org.eclipse.cdt.make.core.tests
- org.eclipse.cdt.make.ui.tests
-
- org.eclipse.cdt.autotools.core
- org.eclipse.cdt.autotools.docs
- org.eclipse.cdt.autotools.tests
- org.eclipse.cdt.autotools.ui
- org.eclipse.cdt.autotools.ui.tests
- org.eclipse.cdt.autotools-feature
-
- org.eclipse.cdt.cmake.core
- org.eclipse.cdt.cmake.ui
- org.eclipse.cdt.cmake-feature
-
-
org.eclipse.cdt.build-parent
pom
diff --git a/codan/pom.xml b/codan/pom.xml
index 1b03cd35e6d..222526734d5 100644
--- a/codan/pom.xml
+++ b/codan/pom.xml
@@ -12,14 +12,4 @@
org.eclipse.cdt.codan-parent
pom
-
- org.eclipse.cdt.codan.core
- org.eclipse.cdt.codan.ui
- org.eclipse.cdt.codan.core.cxx
- org.eclipse.cdt.codan.ui.cxx
- org.eclipse.cdt.codan.checkers
- org.eclipse.cdt.codan.checkers.ui
- org.eclipse.cdt.codan.core.tests
- org.eclipse.cdt.codan.checkers.ui.tests
-
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/index/IIndexManager.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/index/IIndexManager.java
index 050afa41ac3..4ad6193abd0 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/index/IIndexManager.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/index/IIndexManager.java
@@ -276,13 +276,23 @@ public interface IIndexManager extends IPDOMManager {
*/
boolean isProjectIndexed(ICProject proj);
+ /**
+ * @param cproject
+ * the project to check
+ * @return whether the content in the project fragment of the specified
+ * project's index is complete (contains all sources) and up to date.
+ * @throws CoreException
+ * @since 6.4
+ */
+ public boolean isProjectContentSynced(ICProject cproject) throws CoreException;
+
/**
* Returns whether the indexer-setup for a project is currently postponed. Note,
* that a postponed setup does not prevent the indexer from becoming idle
* ({@link #isIndexerIdle()}.
*
- * The fact that the indexer-setup for a project is no longer postponed, will be reported using
- * {@link IndexerSetupParticipant#onIndexerSetup(ICProject)}.
+ * The fact that the indexer-setup for a project is no longer postponed, will be
+ * reported using {@link IndexerSetupParticipant#onIndexerSetup(ICProject)}.
*/
boolean isIndexerSetupPostponed(ICProject proj);
diff --git a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/build/ToolChainManager.java b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/build/ToolChainManager.java
index 2333ee5e066..754f9194694 100644
--- a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/build/ToolChainManager.java
+++ b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/build/ToolChainManager.java
@@ -33,7 +33,7 @@ public class ToolChainManager implements IToolChainManager {
private List orderedToolChains;
private List listeners = new ArrayList<>();
- private void init() {
+ private synchronized void init() {
if (providerElements == null) {
providerElements = new HashMap<>();
providers = new HashMap<>();
diff --git a/core/pom.xml b/core/pom.xml
index 7e2f3dd71a8..e65a6fc1be6 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -12,23 +12,4 @@
org.eclipse.cdt-parent
pom
-
-
- org.eclipse.cdt.core.native
- org.eclipse.cdt.core.linux
- org.eclipse.cdt.core.linux.x86
- org.eclipse.cdt.core.linux.x86_64
- org.eclipse.cdt.core.linux.ppc64
- org.eclipse.cdt.core.linux.ppc64le
- org.eclipse.cdt.core.win32
- org.eclipse.cdt.core.win32.x86
- org.eclipse.cdt.core.win32.x86_64
- org.eclipse.cdt.core.macosx
-
- org.eclipse.cdt.core
- org.eclipse.cdt.ui
-
- org.eclipse.cdt.core.tests
- org.eclipse.cdt.ui.tests
-
diff --git a/cross/pom.xml b/cross/pom.xml
index 41ab73f510d..9bcf475732a 100644
--- a/cross/pom.xml
+++ b/cross/pom.xml
@@ -12,11 +12,4 @@
org.eclipse.cdt.cross-parent
pom
-
-
- org.eclipse.cdt.build.crossgcc
- org.eclipse.cdt.build.crossgcc-feature
- org.eclipse.cdt.launch.remote
- org.eclipse.cdt.launch.remote-feature
-
diff --git a/debug/pom.xml b/debug/pom.xml
index 431d7b18538..8de9e664633 100644
--- a/debug/pom.xml
+++ b/debug/pom.xml
@@ -12,30 +12,4 @@
org.eclipse.cdt.debug-parent
pom
-
- org.eclipse.cdt.debug.core
- org.eclipse.cdt.debug.ui
-
- org.eclipse.cdt.gdb
- org.eclipse.cdt.gdb.ui
- org.eclipse.cdt.gdb-feature
- org.eclipse.cdt.gnu.debug-feature
-
- org.eclipse.cdt.debug.application
- org.eclipse.cdt.debug.application.doc
- org.eclipse.cdt.debug.standalone-feature
-
-
-
-
-
- build-standalone-debugger-rcp
-
- org.eclipse.cdt.debug.application.product
-
-
-
diff --git a/dsf-gdb/pom.xml b/dsf-gdb/pom.xml
index fc4c784badf..7ab51ca344f 100644
--- a/dsf-gdb/pom.xml
+++ b/dsf-gdb/pom.xml
@@ -12,17 +12,4 @@
org.eclipse.cdt.dsf-gdb-parent
pom
-
-
- org.eclipse.cdt.dsf.gdb
- org.eclipse.cdt.dsf.gdb.ui
- org.eclipse.cdt.dsf.gdb.multicorevisualizer.ui
- org.eclipse.cdt.gnu.dsf-feature
- org.eclipse.cdt.gnu.multicorevisualizer-feature
-
- org.eclipse.cdt.dsf.gdb.tests
- org.eclipse.cdt.tests.dsf.gdb
- org.eclipse.cdt.examples.dsf.gdb
- org.eclipse.cdt.dsf.gdb.multicorevisualizer.ui.tests
-
diff --git a/dsf/pom.xml b/dsf/pom.xml
index 7b8981207a8..ed29028f49b 100644
--- a/dsf/pom.xml
+++ b/dsf/pom.xml
@@ -12,12 +12,4 @@
org.eclipse.cdt.dsf-parent
pom
-
- org.eclipse.cdt.dsf
- org.eclipse.cdt.dsf.ui
- org.eclipse.cdt.examples.dsf
- org.eclipse.cdt.examples.dsf.pda
- org.eclipse.cdt.examples.dsf.pda.ui
- org.eclipse.cdt.examples.dsf-feature
-
diff --git a/jtag/pom.xml b/jtag/pom.xml
index f1582724acc..50fde7ba580 100644
--- a/jtag/pom.xml
+++ b/jtag/pom.xml
@@ -12,11 +12,4 @@
org.eclipse.cdt.jtag-parent
pom
-
-
- org.eclipse.cdt.debug.gdbjtag
- org.eclipse.cdt.debug.gdbjtag.core
- org.eclipse.cdt.debug.gdbjtag.ui
- org.eclipse.cdt.debug.gdbjtag-feature
-
diff --git a/launch/pom.xml b/launch/pom.xml
index e1378e2609e..fdfbc99c8dd 100644
--- a/launch/pom.xml
+++ b/launch/pom.xml
@@ -12,10 +12,4 @@
org.eclipse.cdt.launch-parent
pom
-
-
- org.eclipse.cdt.launch
- org.eclipse.cdt.docker.launcher
- org.eclipse.cdt.docker.launcher-feature
-
diff --git a/llvm/pom.xml b/llvm/pom.xml
index 46ab5aa3883..805a755e7c8 100644
--- a/llvm/pom.xml
+++ b/llvm/pom.xml
@@ -12,12 +12,4 @@
org.eclipse.cdt.llvm-parent
pom
-
-
- org.eclipse.cdt.managedbuilder.llvm.ui
- org.eclipse.cdt.managedbuilder.llvm-feature
- org.eclipse.cdt.llvm.dsf.lldb.core
- org.eclipse.cdt.llvm.dsf.lldb.ui
- org.eclipse.cdt.llvm.dsf.lldb-feature
-
diff --git a/lrparser/pom.xml b/lrparser/pom.xml
index 1fa6dcd1ff7..a6c6763766a 100644
--- a/lrparser/pom.xml
+++ b/lrparser/pom.xml
@@ -12,13 +12,4 @@
org.eclipse.cdt.lrparser-parent
pom
-
-
- org.eclipse.cdt.core.lrparser
- org.eclipse.cdt.core.lrparser.feature
- org.eclipse.cdt.core.lrparser.sdk.feature
-
-
diff --git a/memory/pom.xml b/memory/pom.xml
index 14ce725e88a..cf1225899eb 100644
--- a/memory/pom.xml
+++ b/memory/pom.xml
@@ -12,13 +12,4 @@
org.eclipse.cdt.memory-parent
pom
-
-
- org.eclipse.cdt.debug.ui.memory.memorybrowser
- org.eclipse.cdt.debug.ui.memory.floatingpoint
- org.eclipse.cdt.debug.ui.memory.search
- org.eclipse.cdt.debug.ui.memory.traditional
- org.eclipse.cdt.debug.ui.memory.transport
- org.eclipse.cdt.debug.ui.memory-feature
-
diff --git a/native/pom.xml b/native/pom.xml
index a28abdc1564..55dab48d281 100644
--- a/native/pom.xml
+++ b/native/pom.xml
@@ -12,7 +12,4 @@
org.eclipse.cdt.native-parent
pom
-
- org.eclipse.cdt.native.serial
-
diff --git a/pom.xml b/pom.xml
index 8fd6cf48a42..8bd9d252b58 100644
--- a/pom.xml
+++ b/pom.xml
@@ -55,32 +55,192 @@
- build
- codan
- core
- cross
- debug
- dsf
- dsf-gdb
- jtag
- launch
- llvm
- lrparser
- memory
- native
- qt
- releng
- remote
- testsrunner
- toolchains/arduino
- upc
- util
- visualizer
- windows
- xlc
+
+ build/org.eclipse.cdt.build.gcc.core
+ build/org.eclipse.cdt.make.core
+ build/org.eclipse.cdt.make.ui
+ build/org.eclipse.cdt.managedbuilder.core
+ build/org.eclipse.cdt.managedbuilder.ui
+ build/org.eclipse.cdt.managedbuilder.gnu.ui
+ build/org.eclipse.cdt.gnu.build-feature
+
+ build/org.eclipse.cdt.autotools.core
+ build/org.eclipse.cdt.autotools.docs
+ build/org.eclipse.cdt.autotools.ui
+ build/org.eclipse.cdt.autotools-feature
+
+ build/org.eclipse.cdt.cmake.core
+ build/org.eclipse.cdt.cmake.ui
+ build/org.eclipse.cdt.cmake-feature
+
+ codan/org.eclipse.cdt.codan.core
+ codan/org.eclipse.cdt.codan.ui
+ codan/org.eclipse.cdt.codan.core.cxx
+ codan/org.eclipse.cdt.codan.ui.cxx
+ codan/org.eclipse.cdt.codan.checkers
+ codan/org.eclipse.cdt.codan.checkers.ui
+
+ core/org.eclipse.cdt.core.native
+ core/org.eclipse.cdt.core.linux
+ core/org.eclipse.cdt.core.linux.x86
+ core/org.eclipse.cdt.core.linux.x86_64
+ core/org.eclipse.cdt.core.linux.ppc64
+ core/org.eclipse.cdt.core.linux.ppc64le
+ core/org.eclipse.cdt.core.win32
+ core/org.eclipse.cdt.core.win32.x86
+ core/org.eclipse.cdt.core.win32.x86_64
+ core/org.eclipse.cdt.core.macosx
+ core/org.eclipse.cdt.core
+ core/org.eclipse.cdt.ui
+
+ cross/org.eclipse.cdt.build.crossgcc
+ cross/org.eclipse.cdt.build.crossgcc-feature
+ cross/org.eclipse.cdt.launch.remote
+ cross/org.eclipse.cdt.launch.remote-feature
+
+ debug/org.eclipse.cdt.debug.core
+ debug/org.eclipse.cdt.debug.ui
+
+ debug/org.eclipse.cdt.gdb
+ debug/org.eclipse.cdt.gdb.ui
+ debug/org.eclipse.cdt.gdb-feature
+ debug/org.eclipse.cdt.gnu.debug-feature
+
+ debug/org.eclipse.cdt.debug.application
+ debug/org.eclipse.cdt.debug.application.doc
+ debug/org.eclipse.cdt.debug.standalone-feature
doc/org.eclipse.cdt.doc.user
doc/org.eclipse.cdt.doc.isv
+
+ dsf/org.eclipse.cdt.dsf
+ dsf/org.eclipse.cdt.dsf.ui
+ dsf/org.eclipse.cdt.examples.dsf
+ dsf/org.eclipse.cdt.examples.dsf.pda
+ dsf/org.eclipse.cdt.examples.dsf.pda.ui
+ dsf/org.eclipse.cdt.examples.dsf-feature
+
+ dsf-gdb/org.eclipse.cdt.dsf.gdb
+ dsf-gdb/org.eclipse.cdt.dsf.gdb.ui
+ dsf-gdb/org.eclipse.cdt.dsf.gdb.multicorevisualizer.ui
+ dsf-gdb/org.eclipse.cdt.gnu.dsf-feature
+ dsf-gdb/org.eclipse.cdt.gnu.multicorevisualizer-feature
+ dsf-gdb/org.eclipse.cdt.examples.dsf.gdb
+
+ jtag/org.eclipse.cdt.debug.gdbjtag
+ jtag/org.eclipse.cdt.debug.gdbjtag.core
+ jtag/org.eclipse.cdt.debug.gdbjtag.ui
+ jtag/org.eclipse.cdt.debug.gdbjtag-feature
+
+ launch/org.eclipse.cdt.launch
+ launch/org.eclipse.cdt.docker.launcher
+ launch/org.eclipse.cdt.docker.launcher-feature
+
+ llvm/org.eclipse.cdt.managedbuilder.llvm.ui
+ llvm/org.eclipse.cdt.managedbuilder.llvm-feature
+ llvm/org.eclipse.cdt.llvm.dsf.lldb.core
+ llvm/org.eclipse.cdt.llvm.dsf.lldb.ui
+ llvm/org.eclipse.cdt.llvm.dsf.lldb-feature
+
+ lrparser/org.eclipse.cdt.core.lrparser
+ lrparser/org.eclipse.cdt.core.lrparser.feature
+ lrparser/org.eclipse.cdt.core.lrparser.sdk.feature
+
+ memory/org.eclipse.cdt.debug.ui.memory.memorybrowser
+ memory/org.eclipse.cdt.debug.ui.memory.floatingpoint
+ memory/org.eclipse.cdt.debug.ui.memory.search
+ memory/org.eclipse.cdt.debug.ui.memory.traditional
+ memory/org.eclipse.cdt.debug.ui.memory.transport
+ memory/org.eclipse.cdt.debug.ui.memory-feature
+
+ native/org.eclipse.cdt.native.serial
+
+ qt/org.eclipse.cdt.qt.core
+ qt/org.eclipse.cdt.qt.ui
+ qt/org.eclipse.cdt.qt-feature
+
+ remote/org.eclipse.cdt.remote.core
+ remote/org.eclipse.cdt.remote-feature
+
+ testsrunner/org.eclipse.cdt.testsrunner
+ testsrunner/org.eclipse.cdt.testsrunner.boost
+ testsrunner/org.eclipse.cdt.testsrunner.gtest
+ testsrunner/org.eclipse.cdt.testsrunner.qttest
+ testsrunner/org.eclipse.cdt.testsrunner.tap
+ testsrunner/org.eclipse.cdt.testsrunner.feature
+
+ toolchains/arduino/org.eclipse.cdt.arduino.core
+ toolchains/arduino/org.eclipse.cdt.arduino.ui
+ toolchains/arduino/org.eclipse.cdt.arduino-feature
+
+ upc/org.eclipse.cdt.core.parser.upc
+ upc/org.eclipse.cdt.core.parser.upc.feature
+ upc/org.eclipse.cdt.core.parser.upc.sdk.feature
+
+ upc/org.eclipse.cdt.managedbuilder.bupc.ui
+ upc/org.eclipse.cdt.bupc-feature
+
+ util/org.eclipse.cdt.util
+ util/org.eclipse.cdt.util-feature
+
+ visualizer/org.eclipse.cdt.visualizer.core
+ visualizer/org.eclipse.cdt.visualizer.examples
+ visualizer/org.eclipse.cdt.visualizer.ui
+ visualizer/org.eclipse.cdt.visualizer-feature
+
+ windows/org.eclipse.cdt.msw.build
+ windows/org.eclipse.cdt.msw-feature
+
+ xlc/org.eclipse.cdt.core.lrparser.xlc
+ xlc/org.eclipse.cdt.errorparsers.xlc
+ xlc/org.eclipse.cdt.make.xlc.core
+ xlc/org.eclipse.cdt.managedbuilder.xlc.core
+ xlc/org.eclipse.cdt.managedbuilder.xlc.ui
+ xlc/org.eclipse.cdt.managedbuilder.xlupc.ui
+ xlc/org.eclipse.cdt.xlc.feature
+ xlc/org.eclipse.cdt.xlc.sdk-feature
+
+ releng/org.eclipse.cdt.native-feature
+ releng/org.eclipse.cdt
+ releng/org.eclipse.cdt.platform-feature
+ releng/org.eclipse.cdt-feature
+ releng/org.eclipse.cdt.sdk
+ releng/org.eclipse.cdt.sdk-feature
+ releng/org.eclipse.cdt.target
+ releng/org.eclipse.cdt.repo
+
+ build/org.eclipse.cdt.managedbuilder.core.tests
+ build/org.eclipse.cdt.managedbuilder.ui.tests
+ build/org.eclipse.cdt.make.core.tests
+ build/org.eclipse.cdt.make.ui.tests
+ build/org.eclipse.cdt.autotools.tests
+ build/org.eclipse.cdt.autotools.ui.tests
+ build/org.eclipse.cdt.cmake.ui.tests
+ codan/org.eclipse.cdt.codan.core.tests
+ codan/org.eclipse.cdt.codan.checkers.ui.tests
+ core/org.eclipse.cdt.core.tests
+ core/org.eclipse.cdt.ui.tests
+ dsf-gdb/org.eclipse.cdt.dsf.gdb.tests
+ dsf-gdb/org.eclipse.cdt.tests.dsf.gdb
+ dsf-gdb/org.eclipse.cdt.dsf.gdb.multicorevisualizer.ui.tests
+ qt/org.eclipse.cdt.qt.ui.tests
+ testsrunner/org.eclipse.cdt.testsrunner.tests
+ xlc/org.eclipse.cdt.errorparsers.xlc.tests
+
+ releng/org.eclipse.cdt.testing
+ releng/org.eclipse.cdt.testing-feature
+ releng/org.eclipse.cdt.testing.repo
+
+
+
+
@@ -122,6 +282,12 @@
${base.test.vmargs}
+
+ build-standalone-debugger-rcp
+
+ debug/org.eclipse.cdt.debug.application.product
+
+
feature-no-source
diff --git a/qt/org.eclipse.cdt.qt.core/src/org/eclipse/cdt/qt/core/QtMinGWToolChainProvider.java b/qt/org.eclipse.cdt.qt.core/src/org/eclipse/cdt/qt/core/QtMinGWToolChainProvider.java
index c50572f41dd..29a11caf641 100644
--- a/qt/org.eclipse.cdt.qt.core/src/org/eclipse/cdt/qt/core/QtMinGWToolChainProvider.java
+++ b/qt/org.eclipse.cdt.qt.core/src/org/eclipse/cdt/qt/core/QtMinGWToolChainProvider.java
@@ -7,6 +7,7 @@
*******************************************************************************/
package org.eclipse.cdt.qt.core;
+import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
@@ -16,6 +17,8 @@ import org.eclipse.cdt.build.gcc.core.GCCToolChain;
import org.eclipse.cdt.core.build.IToolChain;
import org.eclipse.cdt.core.build.IToolChainManager;
import org.eclipse.cdt.core.build.IToolChainProvider;
+import org.eclipse.cdt.core.envvar.EnvironmentVariable;
+import org.eclipse.cdt.core.envvar.IEnvironmentVariable;
import org.eclipse.cdt.internal.qt.core.Activator;
import org.eclipse.cdt.utils.WindowsRegistry;
import org.eclipse.core.runtime.CoreException;
@@ -46,12 +49,23 @@ public class QtMinGWToolChainProvider implements IToolChainProvider {
Path gcc = Paths.get("bin\\gcc.exe"); //$NON-NLS-1$
try {
Files.walk(installLocation.resolve("Tools"), 1) //$NON-NLS-1$
- .filter(path -> Files.exists(path.resolve(gcc))).map(path -> {
- GCCToolChain toolChain = new GCCToolChain(this, TOOLCHAIN_ID, "", //$NON-NLS-1$
- new Path[] { path.resolve("bin") }); //$NON-NLS-1$
+ .filter(path -> Files.exists(path.resolve(gcc))).forEach(path -> {
+ IEnvironmentVariable[] env = new IEnvironmentVariable[] {
+ new EnvironmentVariable("PATH", //$NON-NLS-1$
+ path.resolve("bin").toString(), //$NON-NLS-1$
+ IEnvironmentVariable.ENVVAR_PREPEND, File.pathSeparator) };
+ GCCToolChain toolChain = new GCCToolChain(this, path.resolve(gcc),
+ Platform.ARCH_X86, env);
toolChain.setProperty(IToolChain.ATTR_PACKAGE, "qt"); //$NON-NLS-1$
- return toolChain;
- }).forEach(toolChain -> manager.addToolChain(toolChain));
+ manager.addToolChain(toolChain);
+
+ if (Platform.getOSArch().equals(Platform.ARCH_X86_64)) {
+ toolChain = new GCCToolChain(this, path.resolve(gcc), Platform.ARCH_X86_64,
+ env);
+ toolChain.setProperty(IToolChain.ATTR_PACKAGE, "qt"); //$NON-NLS-1$
+ manager.addToolChain(toolChain);
+ }
+ });
} catch (IOException e) {
Activator.log(e);
}
diff --git a/qt/pom.xml b/qt/pom.xml
index 8ae1417f767..d0bada99e8d 100644
--- a/qt/pom.xml
+++ b/qt/pom.xml
@@ -12,12 +12,4 @@
org.eclipse.cdt.qt-parent
pom
-
-
- org.eclipse.cdt.qt.core
- org.eclipse.cdt.qt.ui
-
- org.eclipse.cdt.qt.ui.tests
- org.eclipse.cdt.qt-feature
-
diff --git a/releng/org.eclipse.cdt.target/cdt.target b/releng/org.eclipse.cdt.target/cdt.target
index 6db76f48f44..da98ccade8b 100644
--- a/releng/org.eclipse.cdt.target/cdt.target
+++ b/releng/org.eclipse.cdt.target/cdt.target
@@ -24,7 +24,7 @@
-
+
diff --git a/releng/org.eclipse.cdt.testing/plugin.xml b/releng/org.eclipse.cdt.testing/plugin.xml
new file mode 100644
index 00000000000..fbe88cde308
--- /dev/null
+++ b/releng/org.eclipse.cdt.testing/plugin.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/releng/pom.xml b/releng/pom.xml
index 4dc5b75886f..2d3ae1e2230 100644
--- a/releng/pom.xml
+++ b/releng/pom.xml
@@ -12,18 +12,4 @@
org.eclipse.cdt.releng-parent
pom
-
-
- org.eclipse.cdt.native-feature
- org.eclipse.cdt
- org.eclipse.cdt.platform-feature
- org.eclipse.cdt-feature
- org.eclipse.cdt.sdk
- org.eclipse.cdt.sdk-feature
- org.eclipse.cdt.target
- org.eclipse.cdt.testing
- org.eclipse.cdt.testing-feature
- org.eclipse.cdt.testing.repo
- org.eclipse.cdt.repo
-
diff --git a/remote/pom.xml b/remote/pom.xml
index 68574a4fb41..bb58a5b8c89 100644
--- a/remote/pom.xml
+++ b/remote/pom.xml
@@ -12,9 +12,4 @@
org.eclipse.cdt.remote-parent
pom
-
-
- org.eclipse.cdt.remote.core
- org.eclipse.cdt.remote-feature
-
diff --git a/testsrunner/pom.xml b/testsrunner/pom.xml
index 63d910b3861..3829aabbc17 100644
--- a/testsrunner/pom.xml
+++ b/testsrunner/pom.xml
@@ -12,14 +12,4 @@
org.eclipse.cdt.testsrunner-parent
pom
-
-
- org.eclipse.cdt.testsrunner
- org.eclipse.cdt.testsrunner.boost
- org.eclipse.cdt.testsrunner.gtest
- org.eclipse.cdt.testsrunner.qttest
- org.eclipse.cdt.testsrunner.tap
- org.eclipse.cdt.testsrunner.tests
- org.eclipse.cdt.testsrunner.feature
-
diff --git a/toolchains/arduino/pom.xml b/toolchains/arduino/pom.xml
index de80ec71678..4775ba8c5d7 100644
--- a/toolchains/arduino/pom.xml
+++ b/toolchains/arduino/pom.xml
@@ -13,10 +13,4 @@
org.eclipse.cdt.arduino-parent
pom
-
-
- org.eclipse.cdt.arduino.core
- org.eclipse.cdt.arduino.ui
- org.eclipse.cdt.arduino-feature
-
diff --git a/upc/pom.xml b/upc/pom.xml
index 92d0b5dfcc2..2c37f543e7a 100644
--- a/upc/pom.xml
+++ b/upc/pom.xml
@@ -12,16 +12,4 @@
org.eclipse.cdt.upc-parent
pom
-
-
- org.eclipse.cdt.core.parser.upc
- org.eclipse.cdt.core.parser.upc.feature
- org.eclipse.cdt.core.parser.upc.sdk.feature
-
- org.eclipse.cdt.managedbuilder.bupc.ui
- org.eclipse.cdt.bupc-feature
-
-
diff --git a/util/pom.xml b/util/pom.xml
index 255967f0987..2afff91bcc7 100644
--- a/util/pom.xml
+++ b/util/pom.xml
@@ -12,9 +12,4 @@
org.eclipse.cdt.util-parent
pom
-
-
- org.eclipse.cdt.util
- org.eclipse.cdt.util-feature
-
diff --git a/visualizer/pom.xml b/visualizer/pom.xml
index 7d6d59f0e5d..66ad5b66db4 100644
--- a/visualizer/pom.xml
+++ b/visualizer/pom.xml
@@ -12,11 +12,4 @@
org.eclipse.cdt.visualizer-parent
pom
-
-
- org.eclipse.cdt.visualizer.core
- org.eclipse.cdt.visualizer.examples
- org.eclipse.cdt.visualizer.ui
- org.eclipse.cdt.visualizer-feature
-
diff --git a/windows/pom.xml b/windows/pom.xml
index d85bab51c4a..4d125fc088e 100644
--- a/windows/pom.xml
+++ b/windows/pom.xml
@@ -12,9 +12,4 @@
org.eclipse.cdt.windows-parent
pom
-
-
- org.eclipse.cdt.msw.build
- org.eclipse.cdt.msw-feature
-
diff --git a/xlc/pom.xml b/xlc/pom.xml
index ec5b5c4e9b4..c42507a8fe0 100644
--- a/xlc/pom.xml
+++ b/xlc/pom.xml
@@ -1,30 +1,15 @@
- 4.0.0
+ 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">
+ 4.0.0
-
- org.eclipse.cdt
- cdt-parent
- 9.3.0-SNAPSHOT
-
+
+ org.eclipse.cdt
+ cdt-parent
+ 9.3.0-SNAPSHOT
+
- org.eclipse.cdt.xlc-parent
- pom
-
-
- org.eclipse.cdt.core.lrparser.xlc
- org.eclipse.cdt.errorparsers.xlc
- org.eclipse.cdt.make.xlc.core
- org.eclipse.cdt.managedbuilder.xlc.core
- org.eclipse.cdt.managedbuilder.xlc.ui
- org.eclipse.cdt.managedbuilder.xlupc.ui
- org.eclipse.cdt.xlc.feature
- org.eclipse.cdt.xlc.sdk-feature
- org.eclipse.cdt.errorparsers.xlc.tests
-
-
+ org.eclipse.cdt.xlc-parent
+ pom