Skip to content

Commit 8c57add

Browse files
committed
Merge branch 'master' of https://github.com/amorellgarcia/arduino-eclipse-plugin into amorellgarcia-master
Conflicts: it.baeyens.arduino.core/src/it/baeyens/arduino/tools/ShouldHaveBeenInCDT.java
2 parents 5a9bfca + 900a472 commit 8c57add

File tree

3 files changed

+64
-5
lines changed

3 files changed

+64
-5
lines changed

it.baeyens.arduino.common/.classpath

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@
22
<classpath>
33
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
44
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
5-
<classpathentry excluding="it/baeyens/arduino/arduino/SerialMonitor.java" kind="src" path="src"/>
5+
<classpathentry excluding="it/baeyens/arduino/arduino/SerialMonitor.java|it/baeyens/arduino/arduino/mytest.java" kind="src" path="src"/>
66
<classpathentry kind="output" path="bin"/>
77
</classpath>

it.baeyens.arduino.core/plugin.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -267,7 +267,7 @@
267267
allPopups="true"
268268
locationURI="toolbar:org.eclipse.ui.main.toolbar">
269269
<toolbar
270-
id="it.baeyens.arduino.toolbar.main">
270+
id="it.baeyens.arduino.toolbar.main" label="Arduino">
271271
<command
272272
commandId="it.baeyens.arduino.actions.ArduinoBuildAction"
273273
disabledIcon="icons/check_disabled.png"

it.baeyens.arduino.core/src/it/baeyens/arduino/tools/ShouldHaveBeenInCDT.java

Lines changed: 62 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,23 @@
11
package it.baeyens.arduino.tools;
22

3+
<<<<<<< HEAD
34
import it.baeyens.arduino.ui.BuildConfigurationsPage.ConfigurationDescriptor;
45

56
import java.util.ArrayList;
67

8+
=======
9+
import org.eclipse.cdt.core.language.settings.providers.ILanguageSettingsProvider;
10+
>>>>>>> 900a472803717354280efa2760da613018fee890
711
import org.eclipse.cdt.core.language.settings.providers.ILanguageSettingsProvidersKeeper;
12+
import org.eclipse.cdt.core.language.settings.providers.LanguageSettingsManager;
13+
import org.eclipse.cdt.core.language.settings.providers.ScannerDiscoveryLegacySupport;
814
import org.eclipse.cdt.core.model.CoreModel;
915
import org.eclipse.cdt.core.settings.model.ICConfigurationDescription;
1016
import org.eclipse.cdt.core.settings.model.ICProjectDescription;
1117
import org.eclipse.cdt.core.settings.model.ICProjectDescriptionManager;
1218
import org.eclipse.cdt.core.settings.model.extension.CConfigurationData;
1319
import org.eclipse.cdt.managedbuilder.core.IBuilder;
20+
import org.eclipse.cdt.managedbuilder.core.IConfiguration;
1421
import org.eclipse.cdt.managedbuilder.core.IToolChain;
1522
import org.eclipse.cdt.managedbuilder.core.ManagedBuildManager;
1623
import org.eclipse.cdt.managedbuilder.internal.core.Configuration;
@@ -22,20 +29,28 @@
2229
import org.eclipse.core.runtime.CoreException;
2330
import org.eclipse.core.runtime.IProgressMonitor;
2431

32+
<<<<<<< HEAD
33+
=======
34+
import it.baeyens.arduino.ui.BuildConfigurationsPage.ConfigurationDescriptor;
35+
36+
import java.util.ArrayList;
37+
import java.util.List;
38+
39+
>>>>>>> 900a472803717354280efa2760da613018fee890
2540
@SuppressWarnings("restriction")
2641
// TOFIX Get this code in CDT so I should not have to do this
2742
public class ShouldHaveBeenInCDT {
2843
/*
2944
* Copied from wizard STDWizardHandler package package org.eclipse.cdt.managedbuilder.ui.wizards;; This method creates the .cProject file in your
3045
* project.
31-
*
46+
*
3247
* BK: modified this and made it work for multiple configs.
3348
*/
3449
/**
3550
* This method creates the .cProject file in your project. it is intended to be used with newly created projects. Using this method with project
3651
* that have existed for some time is unknown
37-
*
38-
*
52+
*
53+
*
3954
* @param project
4055
* The newly created project that needs a .cproject file.
4156
* @param alCfgs
@@ -103,16 +118,60 @@ public static void setCProjectDescription(IProject project, ArrayList<Configurat
103118
CConfigurationData data = cfg.getConfigurationData();
104119
ICConfigurationDescription cfgDes = des.createConfiguration(ManagedBuildManager.CFG_DATA_PROVIDER_ID, data);
105120

121+
<<<<<<< HEAD
106122
if (cfgDes instanceof ILanguageSettingsProvidersKeeper) {
107123
ILanguageSettingsProvidersKeeper lspk = (ILanguageSettingsProvidersKeeper) cfgDes;
108124
lspk.setDefaultLanguageSettingsProvidersIds(new String[] { alCfgs.get(i).ToolchainID });
109125
}
110126
// without this line the indexer doesn't work properly in juno
111127
ConfigurationDataProvider.setDefaultLanguageSettingsProviders(project, cfg, cfgDes);
128+
=======
129+
setDefaultLanguageSettingsProviders(project, alCfgs.get(i), cfg, cfgDes);
130+
>>>>>>> 900a472803717354280efa2760da613018fee890
112131
}
113132
monitor.worked(50);
114133
mngr.setProjectDescription(project, des);
115134

116135
}
117136

137+
private static void setDefaultLanguageSettingsProviders(IProject project, ConfigurationDescriptor cfgDes, IConfiguration cfg, ICConfigurationDescription cfgDescription) {
138+
// propagate the preference to project properties
139+
boolean isPreferenceEnabled = ScannerDiscoveryLegacySupport.isLanguageSettingsProvidersFunctionalityEnabled(null);
140+
ScannerDiscoveryLegacySupport.setLanguageSettingsProvidersFunctionalityEnabled(project, isPreferenceEnabled);
141+
142+
if (cfgDescription instanceof ILanguageSettingsProvidersKeeper) {
143+
ILanguageSettingsProvidersKeeper lspk = (ILanguageSettingsProvidersKeeper)cfgDescription;
144+
145+
lspk.setDefaultLanguageSettingsProvidersIds(new String[] {cfgDes.ToolchainID});
146+
147+
List<ILanguageSettingsProvider> providers = getDefaultLanguageSettingsProviders(cfg, cfgDescription);
148+
lspk.setLanguageSettingProviders(providers);
149+
}
150+
}
151+
152+
private static List<ILanguageSettingsProvider> getDefaultLanguageSettingsProviders(IConfiguration cfg, ICConfigurationDescription cfgDescription) {
153+
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
154+
String[] ids = cfg != null ? cfg.getDefaultLanguageSettingsProviderIds() : null;
155+
156+
if (ids == null) {
157+
// Try with legacy providers
158+
ids = ScannerDiscoveryLegacySupport.getDefaultProviderIdsLegacy(cfgDescription);
159+
}
160+
161+
if (ids != null) {
162+
for (String id : ids) {
163+
ILanguageSettingsProvider provider = null;
164+
if (!LanguageSettingsManager.isPreferShared(id)) {
165+
provider = LanguageSettingsManager.getExtensionProviderCopy(id, false);
166+
}
167+
if (provider == null) {
168+
provider = LanguageSettingsManager.getWorkspaceProvider(id);
169+
}
170+
providers.add(provider);
171+
}
172+
}
173+
174+
return providers;
175+
}
176+
118177
}

0 commit comments

Comments
 (0)