Skip to content

Commit aa654ba

Browse files
author
Federico Fissore
committed
Updating arduino-builder to 1.0.0-beta24
1 parent db61235 commit aa654ba

10 files changed

+32
-10
lines changed

arduino-core/src/cc/arduino/Compiler.java

+27-5
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,11 @@
3030
package cc.arduino;
3131

3232
import cc.arduino.i18n.I18NAwareMessageConsumer;
33+
import cc.arduino.packages.BoardPort;
3334
import org.apache.commons.exec.CommandLine;
3435
import org.apache.commons.exec.DefaultExecutor;
3536
import org.apache.commons.exec.PumpStreamHandler;
37+
import org.apache.commons.lang3.StringUtils;
3638
import processing.app.*;
3739
import processing.app.debug.*;
3840
import processing.app.helpers.PreferencesMap;
@@ -128,13 +130,14 @@ public String build(CompilerProgressListener progListener, boolean exportHex) th
128130

129131
TargetPlatform platform = board.getContainerPlatform();
130132
TargetPackage aPackage = platform.getContainerPackage();
133+
String vidpid = VIDPID();
131134

132-
PreferencesMap prefs = loadPreferences(board, platform, aPackage);
135+
PreferencesMap prefs = loadPreferences(board, platform, aPackage, vidpid);
133136

134137
MessageConsumerOutputStream out = new MessageConsumerOutputStream(new ProgressAwareMessageConsumer(new I18NAwareMessageConsumer(System.out), progListener), "\n");
135138
MessageConsumerOutputStream err = new MessageConsumerOutputStream(new I18NAwareMessageConsumer(System.err, Compiler.this), "\n");
136139

137-
callArduinoBuilder(board, platform, aPackage, BuilderAction.COMPILE, new PumpStreamHandler(out, err));
140+
callArduinoBuilder(board, platform, aPackage, vidpid, BuilderAction.COMPILE, new PumpStreamHandler(out, err));
138141

139142
out.flush();
140143
err.flush();
@@ -152,12 +155,27 @@ public String build(CompilerProgressListener progListener, boolean exportHex) th
152155
return sketch.getName() + ".ino";
153156
}
154157

155-
private PreferencesMap loadPreferences(TargetBoard board, TargetPlatform platform, TargetPackage aPackage) throws RunnerException, IOException {
158+
private String VIDPID() {
159+
BoardPort boardPort = BaseNoGui.getDiscoveryManager().find(PreferencesData.get("serial.port"));
160+
if (boardPort == null) {
161+
return "";
162+
}
163+
164+
String vid = boardPort.getPrefs().get("vid");
165+
String pid = boardPort.getPrefs().get("pid");
166+
if (StringUtils.isEmpty(vid) || StringUtils.isEmpty(pid)) {
167+
return "";
168+
}
169+
170+
return vid.toUpperCase() + "_" + pid.toUpperCase();
171+
}
172+
173+
private PreferencesMap loadPreferences(TargetBoard board, TargetPlatform platform, TargetPackage aPackage, String vidpid) throws RunnerException, IOException {
156174
ByteArrayOutputStream stdout = new ByteArrayOutputStream();
157175
ByteArrayOutputStream stderr = new ByteArrayOutputStream();
158176
MessageConsumerOutputStream err = new MessageConsumerOutputStream(new I18NAwareMessageConsumer(new PrintStream(stderr), Compiler.this), "\n");
159177
try {
160-
callArduinoBuilder(board, platform, aPackage, BuilderAction.DUMP_PREFS, new PumpStreamHandler(stdout, err));
178+
callArduinoBuilder(board, platform, aPackage, vidpid, BuilderAction.DUMP_PREFS, new PumpStreamHandler(stdout, err));
161179
} catch (RunnerException e) {
162180
System.err.println(new String(stderr.toByteArray()));
163181
throw e;
@@ -167,7 +185,7 @@ private PreferencesMap loadPreferences(TargetBoard board, TargetPlatform platfor
167185
return prefs;
168186
}
169187

170-
private void callArduinoBuilder(TargetBoard board, TargetPlatform platform, TargetPackage aPackage, BuilderAction action, PumpStreamHandler streamHandler) throws RunnerException {
188+
private void callArduinoBuilder(TargetBoard board, TargetPlatform platform, TargetPackage aPackage, String vidpid, BuilderAction action, PumpStreamHandler streamHandler) throws RunnerException {
171189
File executable = BaseNoGui.getContentFile("arduino-builder");
172190
CommandLine commandLine = new CommandLine(executable);
173191
commandLine.addArgument(action.value, false);
@@ -197,6 +215,10 @@ private void callArduinoBuilder(TargetBoard board, TargetPlatform platform, Targ
197215
String fqbn = Stream.of(aPackage.getId(), platform.getId(), board.getId(), boardOptions(board)).filter(s -> !s.isEmpty()).collect(Collectors.joining(":"));
198216
commandLine.addArgument("-fqbn=" + fqbn, false);
199217

218+
if (!"".equals(vidpid)) {
219+
commandLine.addArgument("-vid-pid=" + vidpid, false);
220+
}
221+
200222
commandLine.addArgument("-ide-version=" + BaseNoGui.REVISION, false);
201223
commandLine.addArgument("-build-path", false);
202224
commandLine.addArgument("\"" + buildPath + "\"", false);

build/arduino-builder-linux32-1.0.0-beta23.tar.bz2.sha

-1
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
d8c3e22428fa0953038f2ac21cd7be6d614fee30

build/arduino-builder-linux64-1.0.0-beta23.tar.bz2.sha

-1
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
329b5e616165fa5cf7414a75f5e544d598dc944f

build/arduino-builder-macosx-1.0.0-beta23.tar.bz2.sha

-1
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
d8f371c06abce0a177101a16ed90d8e3ee989d37

build/arduino-builder-windows-1.0.0-beta23.zip.sha

-1
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
5efc19b5245b994f71ceae41f9da4c4aab67bd16

build/build.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@
7171
</or>
7272
</condition>
7373

74-
<property name="ARDUINO-BUILDER-VERSION" value="1.0.0-beta23" />
74+
<property name="ARDUINO-BUILDER-VERSION" value="1.0.0-beta24" />
7575

7676
<!-- Libraries required for running arduino -->
7777
<fileset dir=".." id="runtime.jars">

0 commit comments

Comments
 (0)