diff options
Diffstat (limited to 'toolchains/arduino/org.eclipse.cdt.arduino.core/src/org/eclipse/cdt/arduino/core/internal/board/ArduinoTool.java')
-rw-r--r-- | toolchains/arduino/org.eclipse.cdt.arduino.core/src/org/eclipse/cdt/arduino/core/internal/board/ArduinoTool.java | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/toolchains/arduino/org.eclipse.cdt.arduino.core/src/org/eclipse/cdt/arduino/core/internal/board/ArduinoTool.java b/toolchains/arduino/org.eclipse.cdt.arduino.core/src/org/eclipse/cdt/arduino/core/internal/board/ArduinoTool.java index 5361b1d7727..c3a9bf42af2 100644 --- a/toolchains/arduino/org.eclipse.cdt.arduino.core/src/org/eclipse/cdt/arduino/core/internal/board/ArduinoTool.java +++ b/toolchains/arduino/org.eclipse.cdt.arduino.core/src/org/eclipse/cdt/arduino/core/internal/board/ArduinoTool.java @@ -16,6 +16,7 @@ import java.util.Properties; import org.eclipse.cdt.arduino.core.internal.Activator; import org.eclipse.cdt.arduino.core.internal.ArduinoPreferences; import org.eclipse.cdt.arduino.core.internal.build.ArduinoBuildConfiguration; +import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Status; @@ -28,13 +29,6 @@ public class ArduinoTool { private transient ArduinoPackage pkg; - public void setOwner(ArduinoPackage pkg) { - this.pkg = pkg; - for (ArduinoToolSystem system : systems) { - system.setOwner(this); - } - } - public ArduinoPackage getPackage() { return pkg; } @@ -51,6 +45,13 @@ public class ArduinoTool { return systems; } + void init(ArduinoPackage pkg) { + this.pkg = pkg; + for (ArduinoToolSystem system : systems) { + system.setOwner(this); + } + } + public Path getInstallPath() { // TODO remove migration in Neon Path oldPath = ArduinoPreferences.getArduinoHome().resolve("tools").resolve(pkg.getName()).resolve(name) //$NON-NLS-1$ @@ -78,24 +79,25 @@ public class ArduinoTool { return getInstallPath().toFile().exists(); } - public IStatus install(IProgressMonitor monitor) { + public void install(IProgressMonitor monitor) throws CoreException { if (isInstalled()) { - return Status.OK_STATUS; + return; } for (ArduinoToolSystem system : systems) { if (system.isApplicable()) { - return system.install(monitor); + system.install(monitor); } } // No valid system - return new Status(IStatus.ERROR, Activator.getId(), "No valid system found for " + name); //$NON-NLS-1$ + throw new CoreException( + new Status(IStatus.ERROR, Activator.getId(), String.format("No valid system found for %s", name))); //$NON-NLS-1$ } public Properties getToolProperties() { Properties properties = new Properties(); - properties.put("runtime.tools." + name + ".path", ArduinoBuildConfiguration.pathString(getInstallPath())); //$NON-NLS-1$ //$NON-NLS-1$//$NON-NLS-2$ + properties.put("runtime.tools." + name + ".path", ArduinoBuildConfiguration.pathString(getInstallPath())); //$NON-NLS-1$//$NON-NLS-2$ properties.put("runtime.tools." + name + '-' + version + ".path", //$NON-NLS-1$//$NON-NLS-2$ ArduinoBuildConfiguration.pathString(getInstallPath())); //$NON-NLS-1$ return properties; |