Skip to content

Commit b30379d

Browse files
committed
Updated GRPC/arduino-cli to version 0.7.2
1 parent 197992c commit b30379d

File tree

6 files changed

+4079
-1579
lines changed

6 files changed

+4079
-1579
lines changed

arduino-core/src/cc/arduino/cli/ArduinoCore.java

Lines changed: 36 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -35,10 +35,15 @@
3535

3636
import cc.arduino.cli.commands.ArduinoCoreGrpc;
3737
import cc.arduino.cli.commands.ArduinoCoreGrpc.ArduinoCoreBlockingStub;
38-
import cc.arduino.cli.commands.Commands.Configuration;
3938
import cc.arduino.cli.commands.Commands.InitReq;
4039
import cc.arduino.cli.commands.Commands.InitResp;
4140
import cc.arduino.cli.commands.Common.Instance;
41+
import cc.arduino.cli.settings.SettingsGrpc;
42+
import cc.arduino.cli.settings.SettingsOuterClass;
43+
import cc.arduino.cli.settings.SettingsOuterClass.GetAllRequest;
44+
import cc.arduino.cli.settings.SettingsOuterClass.RawData;
45+
import cc.arduino.cli.settings.SettingsOuterClass.SetValueResponse;
46+
import cc.arduino.cli.settings.SettingsGrpc.SettingsBlockingStub;
4247
import io.grpc.ManagedChannel;
4348
import io.grpc.ManagedChannelBuilder;
4449
import processing.app.BaseNoGui;
@@ -48,7 +53,8 @@
4853
public class ArduinoCore {
4954

5055
private Process cliProcess;
51-
private ArduinoCoreBlockingStub blocking;
56+
private ArduinoCoreBlockingStub coreBlocking;
57+
private SettingsBlockingStub settingsBlocking;
5258
// private ArduinoCoreStub async;
5359

5460
public ArduinoCore() throws IOException {
@@ -82,17 +88,35 @@ public ArduinoCore() throws IOException {
8288
.usePlaintext() //
8389
.maxInboundMessageSize(Integer.MAX_VALUE) //
8490
.build();
85-
blocking = ArduinoCoreGrpc.newBlockingStub(channel);
91+
coreBlocking = ArduinoCoreGrpc.newBlockingStub(channel);
92+
settingsBlocking = SettingsGrpc.newBlockingStub(channel);
8693
// async = ArduinoCoreGrpc.newStub(channel);
8794
}
8895

96+
public void setDataDir(File dataDir) {
97+
settingsBlocking
98+
.setValue(SettingsOuterClass.Value.newBuilder().setKey("directories") //
99+
.setJsonData("{ \"data\": \"" + dataDir.getAbsolutePath() + "\" }") //
100+
.build());
101+
File downloadsDir = new File(dataDir, "staging");
102+
settingsBlocking
103+
.setValue(SettingsOuterClass.Value.newBuilder().setKey("directories") //
104+
.setJsonData("{ \"downloads\": \"" + downloadsDir.getAbsolutePath()
105+
+ "\" }") //
106+
.build());
107+
}
108+
109+
public void setSketchbookDir(File dataDir) {
110+
settingsBlocking
111+
.setValue(SettingsOuterClass.Value.newBuilder().setKey("directories") //
112+
.setJsonData("{ \"user\": \"" + dataDir.getAbsolutePath() + "\" }") //
113+
.build());
114+
}
115+
89116
public ArduinoCoreInstance init(File dataDir, File sketchbookDir) {
90-
InitReq req = InitReq.newBuilder()
91-
.setConfiguration(Configuration.newBuilder() //
92-
.setDataDir(dataDir.getAbsolutePath()) //
93-
.setSketchbookDir(sketchbookDir.getAbsolutePath()))
94-
.build();
95-
Iterator<InitResp> resp = blocking.init(req);
117+
setDataDir(dataDir);
118+
setSketchbookDir(sketchbookDir);
119+
Iterator<InitResp> resp = coreBlocking.init(InitReq.getDefaultInstance());
96120
Instance instance = null;
97121
while (resp.hasNext()) {
98122
InitResp r = resp.next();
@@ -110,14 +134,14 @@ public ArduinoCoreInstance init(File dataDir, File sketchbookDir) {
110134
instance = r.getInstance();
111135
}
112136
}
113-
return new ArduinoCoreInstance(instance, blocking);
137+
return new ArduinoCoreInstance(instance, coreBlocking);
114138
}
115139

116140
public static void main(String[] args) {
117141
try {
118142
ArduinoCore core = new ArduinoCore();
119-
ArduinoCoreInstance instance = core.init(new File("/mnt/ramdisk"),
120-
new File("/mnt/ramdisk/sketchbook"));
143+
ArduinoCoreInstance instance = core
144+
.init(new File("/mnt/ramdisk"), new File("/mnt/ramdisk/sketchbook"));
121145
instance.boardDetails("arduino:samd:mkr1000");
122146
instance.compile("arduino:samd:mkr1000",
123147
"/home/megabug/Arduino/alloc_check");

0 commit comments

Comments
 (0)