Skip to content

Commit d897daa

Browse files
committed
Added some error checking to avoid exceptions
1 parent 57cd708 commit d897daa

File tree

2 files changed

+27
-24
lines changed
  • it.baeyens.arduino.common/src/it/baeyens/arduino/common
  • it.baeyens.arduino.core/src/it/baeyens/arduino/tools

2 files changed

+27
-24
lines changed

it.baeyens.arduino.common/src/it/baeyens/arduino/common/Const.java

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -132,15 +132,13 @@ public class Const {
132132
public static final String ENV_KEY_JANTJE_SIZE_SWITCH = ENV_KEY_JANTJE_START + "SIZE.SWITCH";//$NON-NLS-1$
133133
public static final String ENV_KEY_JANTJE_BOARDS_FILE = ENV_KEY_JANTJE_START + "BOARDS_FILE";//$NON-NLS-1$
134134
public static final String ENV_KEY_JANTJE_PLATFORM_FILE = ENV_KEY_JANTJE_START + "PLATFORM_FILE";//$NON-NLS-1$
135-
public static final String ENV_KEY_JANTJE_REFERENCED_PLATFORM_FILE = ENV_KEY_JANTJE_START
136-
+ "REFERENCED_PLATFORM_FILE";//$NON-NLS-1$
135+
public static final String ENV_KEY_JANTJE_REFERENCED_PLATFORM_FILE = ENV_KEY_JANTJE_START + "REFERENCED_PLATFORM_FILE";//$NON-NLS-1$
137136
public static final String ENV_KEY_JANTJE_COM_PORT = ENV_KEY_JANTJE_START + "COM_PORT";//$NON-NLS-1$
138137
public static final String ENV_KEY_JANTJE_BOARD_NAME = ENV_KEY_JANTJE_START + "BOARD_NAME";//$NON-NLS-1$
139138

140139
public static final String ENV_KEY_JANTJE_ADDITIONAL_COMPILE_OPTIONS = ENV_KEY_JANTJE_START + "EXTRA.COMPILE";//$NON-NLS-1$
141140
public static final String ENV_KEY_JANTJE_ADDITIONAL_C_COMPILE_OPTIONS = ENV_KEY_JANTJE_START + "EXTRA.C.COMPILE";//$NON-NLS-1$
142-
public static final String ENV_KEY_JANTJE_ADDITIONAL_CPP_COMPILE_OPTIONS = ENV_KEY_JANTJE_START
143-
+ "EXTRA.CPP.COMPILE";//$NON-NLS-1$
141+
public static final String ENV_KEY_JANTJE_ADDITIONAL_CPP_COMPILE_OPTIONS = ENV_KEY_JANTJE_START + "EXTRA.CPP.COMPILE";//$NON-NLS-1$
144142
public static final String ENV_KEY_JANTJE_PACKAGE_ID = ENV_KEY_JANTJE_START + "PACKAGE_ID";//$NON-NLS-1$
145143
public static final String ENV_KEY_JANTJE_ARCITECTURE_ID = ENV_KEY_JANTJE_START + "ARCHITECTURE_ID";//$NON-NLS-1$
146144
public static final String ENV_KEY_JANTJE_BOARD_ID = ENV_KEY_JANTJE_START + "BOARD_ID";//$NON-NLS-1$
@@ -152,16 +150,15 @@ public class Const {
152150
// template Sketch information
153151

154152
public static final String ENV_KEY_JANTJE_SKETCH_TEMPLATE_FOLDER = ENV_KEY_JANTJE_START + "TEMPLATE_FOLDER";//$NON-NLS-1$
155-
public static final String ENV_KEY_JANTJE_SKETCH_TEMPLATE_USE_DEFAULT = ENV_KEY_JANTJE_START
156-
+ "TEMPLATE_USE_DEFAULT";//$NON-NLS-1$
153+
public static final String ENV_KEY_JANTJE_SKETCH_TEMPLATE_USE_DEFAULT = ENV_KEY_JANTJE_START + "TEMPLATE_USE_DEFAULT";//$NON-NLS-1$
157154

158155
public static final String ENV_KEY_WARNING_LEVEL_OFF = " -w ";//$NON-NLS-1$
159156
public static final String ENV_KEY_WARNING_LEVEL_ON = " -Wall ";//$NON-NLS-1$
160157

161158
public static final String ENV_KEY_GNU_SERIAL_PORTS = "gnu.io.rxtx.SerialPorts";//$NON-NLS-1$
162159
public static final String ENV_VALUE_GNU_SERIAL_PORTS_LINUX = "/dev/ttyACM0:/dev/ttyACM1:/dev/ttyACM2:/dev/ttyACM3:/dev/ttyUSB0::/dev/ttyUSB1::/dev/ttyUSB2::/dev/ttyUSB3::/dev/ttyUSB4";//$NON-NLS-1$
163160
// scope stuff
164-
public static final short SCOPE_START_DATA = (short) 0xCDAB;// This is the
161+
public static final short SCOPE_START_DATA = (short) 0xCDAB;// This is the 205 171 or -85 -51
165162
// flag that
166163
// indicates
167164
// scope data is

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

Lines changed: 23 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -264,23 +264,29 @@ private static Set<String> getUnresolvedProjectIncludes(IProject iProject) {
264264

265265
public static void checkLibraries(IProject affectedProject) {
266266
ICProjectDescriptionManager mngr = CoreModel.getDefault().getProjectDescriptionManager();
267-
ICProjectDescription projectDescription = mngr.getProjectDescription(affectedProject, true);
268-
ICConfigurationDescription configurationDescription = projectDescription.getActiveConfiguration();
269-
270-
Set<String> UnresolvedIncludedHeaders = getUnresolvedProjectIncludes(affectedProject);
271-
Set<String> alreadyAddedLibs = getAllLibrariesFromProject(affectedProject);
272-
HashMap<String, IPath> availableLibs = getAllInstalledLibraries(configurationDescription);
273-
UnresolvedIncludedHeaders.removeAll(alreadyAddedLibs);
274-
availableLibs.keySet().retainAll(UnresolvedIncludedHeaders);
275-
if (!availableLibs.isEmpty()) {
276-
// there are possible libraries to add
277-
Common.log(new Status(IStatus.INFO, Const.CORE_PLUGIN_ID, "list of libraries to add to project " //$NON-NLS-1$
278-
+ affectedProject.getName() + ": " + availableLibs.keySet().toString())); //$NON-NLS-1$
279-
addLibrariesToProject(affectedProject, configurationDescription, availableLibs);
280-
try {
281-
mngr.setProjectDescription(affectedProject, projectDescription, true, null);
282-
} catch (CoreException e) {
283-
e.printStackTrace();
267+
if (mngr != null) {
268+
ICProjectDescription projectDescription = mngr.getProjectDescription(affectedProject, true);
269+
if (projectDescription != null) {
270+
ICConfigurationDescription configurationDescription = projectDescription.getActiveConfiguration();
271+
if (configurationDescription != null) {
272+
273+
Set<String> UnresolvedIncludedHeaders = getUnresolvedProjectIncludes(affectedProject);
274+
Set<String> alreadyAddedLibs = getAllLibrariesFromProject(affectedProject);
275+
HashMap<String, IPath> availableLibs = getAllInstalledLibraries(configurationDescription);
276+
UnresolvedIncludedHeaders.removeAll(alreadyAddedLibs);
277+
availableLibs.keySet().retainAll(UnresolvedIncludedHeaders);
278+
if (!availableLibs.isEmpty()) {
279+
// there are possible libraries to add
280+
Common.log(new Status(IStatus.INFO, Const.CORE_PLUGIN_ID, "list of libraries to add to project " //$NON-NLS-1$
281+
+ affectedProject.getName() + ": " + availableLibs.keySet().toString())); //$NON-NLS-1$
282+
addLibrariesToProject(affectedProject, configurationDescription, availableLibs);
283+
try {
284+
mngr.setProjectDescription(affectedProject, projectDescription, true, null);
285+
} catch (CoreException e) {
286+
e.printStackTrace();
287+
}
288+
}
289+
}
284290
}
285291
}
286292
}

0 commit comments

Comments
 (0)