diff --git a/arduino-core/src/cc/arduino/contributions/packages/ContributedPlatform.java b/arduino-core/src/cc/arduino/contributions/packages/ContributedPlatform.java index 5c70ba212..0cf37bd30 100644 --- a/arduino-core/src/cc/arduino/contributions/packages/ContributedPlatform.java +++ b/arduino-core/src/cc/arduino/contributions/packages/ContributedPlatform.java @@ -93,6 +93,6 @@ public abstract class ContributedPlatform extends DownloadableContribution { @Override public String toString() { - return getParsedVersion(); + return getName() + " " + getParsedVersion(); } } diff --git a/arduino-core/src/cc/arduino/contributions/packages/ContributedToolReference.java b/arduino-core/src/cc/arduino/contributions/packages/ContributedToolReference.java index ef4c808a8..ad29445a8 100644 --- a/arduino-core/src/cc/arduino/contributions/packages/ContributedToolReference.java +++ b/arduino-core/src/cc/arduino/contributions/packages/ContributedToolReference.java @@ -40,6 +40,7 @@ public abstract class ContributedToolReference { public ContributedTool resolve(Collection packages) { for (ContributedPackage pack : packages) { + assert pack.getTools() != null; for (ContributedTool tool : pack.getTools()) if (tool.getName().equals(getName()) && tool.getVersion().equals(getVersion()) && @@ -54,4 +55,4 @@ public abstract class ContributedToolReference { return "name=" + getName() + " version=" + getVersion() + " packager=" + getPackager(); } -} \ No newline at end of file +} diff --git a/arduino-core/src/cc/arduino/contributions/packages/ContributionsIndexer.java b/arduino-core/src/cc/arduino/contributions/packages/ContributionsIndexer.java index a38c8dd9a..f26289533 100644 --- a/arduino-core/src/cc/arduino/contributions/packages/ContributionsIndexer.java +++ b/arduino-core/src/cc/arduino/contributions/packages/ContributionsIndexer.java @@ -91,13 +91,20 @@ public class ContributionsIndexer { } List packages = index.getPackages(); + Collection packagesWithTools = Collections2.filter(packages, new Predicate() { + @Override + public boolean apply(ContributedPackage input) { + return input.getTools() != null; + } + }); + for (ContributedPackage pack : packages) { for (ContributedPlatform platform : pack.getPlatforms()) { // Set a reference to parent packages platform.setParentPackage(pack); // Resolve tools dependencies (works also as a check for file integrity) - platform.resolveToolsDependencies(packages); + platform.resolveToolsDependencies(packagesWithTools); } }