1
0
mirror of https://github.com/arduino/Arduino.git synced 2025-03-21 12:29:23 +01:00
This commit is contained in:
Federico Fissore 2012-12-12 17:23:46 +01:00
parent 15a7ebe568
commit 8dacb1eab0
2 changed files with 22 additions and 8 deletions

View File

@ -1153,9 +1153,14 @@ public class Base {
// Populate importToLibraryTable
importToLibraryTable = new HashMap<String, File>();
for (File subfolder : libraries.values()) {
String packages[] = headerListFromIncludePath(subfolder);
for (String pkg : packages)
importToLibraryTable.put(pkg, subfolder);
try {
String packages[] = headerListFromIncludePath(subfolder);
for (String pkg : packages) {
importToLibraryTable.put(pkg, subfolder);
}
} catch (IOException e) {
showWarning(_("Error"), I18n.format("Unable to list header files in {0}", subfolder), e);
}
}
// Update editors status bar
@ -1501,8 +1506,13 @@ public class Base {
Collections.sort(list, String.CASE_INSENSITIVE_ORDER);
ActionListener listener = new ActionListener() {
public void actionPerformed(ActionEvent e) {
activeEditor.getSketch().importLibrary(e.getActionCommand());
public void actionPerformed(ActionEvent event) {
String jarPath = event.getActionCommand();
try {
activeEditor.getSketch().importLibrary(jarPath);
} catch (IOException e) {
showWarning(_("Error"), I18n.format("Unable to list header files in {0}", jarPath), e);
}
}
};
@ -1524,8 +1534,12 @@ public class Base {
* the header files in its sub-folders, as those should be included from
* within the header files at the top-level).
*/
static public String[] headerListFromIncludePath(File path) {
return path.list(new OnlyFilesWithExtension(".h"));
static public String[] headerListFromIncludePath(File path) throws IOException {
String[] list = path.list(new OnlyFilesWithExtension(".h"));
if (list == null) {
throw new IOException();
}
return list;
}
protected void loadHardware(File folder) {

View File

@ -1124,7 +1124,7 @@ public class Sketch {
* Add import statements to the current tab for all of packages inside
* the specified jar file.
*/
public void importLibrary(String jarPath) {
public void importLibrary(String jarPath) throws IOException {
// make sure the user didn't hide the sketch folder
ensureExistence();