@@ -159,8 +159,8 @@ static public File getSettingsFile(String filename) {
159
159
}
160
160
161
161
static public File getSettingsFolder () {
162
- if (BaseNoGui . getPortableFolder () != null )
163
- return BaseNoGui . getPortableFolder ();
162
+ if (getPortableFolder () != null )
163
+ return getPortableFolder ();
164
164
165
165
File settingsFolder = null ;
166
166
@@ -326,16 +326,36 @@ static protected void loadHardware(File folder) {
326
326
File subfolder = new File (folder , target );
327
327
328
328
try {
329
- BaseNoGui . packages .put (target , new TargetPackage (target , subfolder ));
329
+ packages .put (target , new TargetPackage (target , subfolder ));
330
330
} catch (TargetPlatformException e ) {
331
331
System .out .println ("WARNING: Error loading hardware folder " + target );
332
332
System .out .println (" " + e .getMessage ());
333
333
}
334
334
}
335
335
}
336
336
337
- static public void newImportToLibraryTable () {
337
+ static public void populateImportToLibraryTable () {
338
+ // Populate importToLibraryTable
338
339
importToLibraryTable = new HashMap <String , Library >();
340
+ for (Library lib : getLibraries ()) {
341
+ try {
342
+ String headers [] = headerListFromIncludePath (lib .getSrcFolder ());
343
+ for (String header : headers ) {
344
+ Library old = importToLibraryTable .get (header );
345
+ if (old != null ) {
346
+ // If a library was already found with this header, keep
347
+ // it if the library's name matches the header name.
348
+ String name = header .substring (0 , header .length () - 2 );
349
+ if (old .getFolder ().getPath ().endsWith (name ))
350
+ continue ;
351
+ }
352
+ importToLibraryTable .put (header , lib );
353
+ }
354
+ } catch (IOException e ) {
355
+ showWarning (_ ("Error" ), I18n
356
+ .format ("Unable to list header files in {0}" , lib .getSrcFolder ()), e );
357
+ }
358
+ }
339
359
}
340
360
341
361
static public void prescanParameters (String args []) {
0 commit comments