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