| 476 | } |
| 477 | |
| 478 | static public void initPackages() throws Exception { |
| 479 | indexer = new ContributionsIndexer(getSettingsFolder(), getHardwareFolder(), getPlatform(), |
| 480 | new GPGDetachedSignatureVerifier()); |
| 481 | |
| 482 | try { |
| 483 | indexer.parseIndex(); |
| 484 | } catch (JsonProcessingException e) { |
| 485 | File indexFile = indexer.getIndexFile(Constants.DEFAULT_INDEX_FILE_NAME); |
| 486 | File indexSignatureFile = indexer.getIndexFile(Constants.DEFAULT_INDEX_FILE_NAME + ".sig"); |
| 487 | indexFile.delete(); |
| 488 | indexSignatureFile.delete(); |
| 489 | throw e; |
| 490 | } |
| 491 | indexer.syncWithFilesystem(); |
| 492 | |
| 493 | packages = new LinkedHashMap<>(); |
| 494 | loadHardware(getHardwareFolder()); |
| 495 | loadContributedHardware(indexer); |
| 496 | loadHardware(getSketchbookHardwareFolder()); |
| 497 | createToolPreferences(indexer.getInstalledTools(), true); |
| 498 | |
| 499 | librariesIndexer = new LibrariesIndexer(getSettingsFolder()); |
| 500 | try { |
| 501 | librariesIndexer.parseIndex(); |
| 502 | } catch (JsonProcessingException e) { |
| 503 | File librariesIndexFile = librariesIndexer.getIndexFile(); |
| 504 | librariesIndexFile.delete(); |
| 505 | } |
| 506 | |
| 507 | if (discoveryManager == null) { |
| 508 | discoveryManager = new DiscoveryManager(packages); |
| 509 | } |
| 510 | } |
| 511 | |
| 512 | static public void initPlatform() { |
| 513 | try { |