Skip to content

Commit d41c3ab

Browse files
committed
feat: expose build_properties for the board
Ref: arduino/arduino-cli@0f3cd7e Signed-off-by: dankeboy36 <[email protected]>
1 parent bcf69b0 commit d41c3ab

File tree

7 files changed

+135
-5
lines changed

7 files changed

+135
-5
lines changed

arduino-ide-extension/package.json

+5-1
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,11 @@
174174
],
175175
"arduino": {
176176
"cli": {
177-
"version": "0.32.2"
177+
"version": {
178+
"owner": "cmaglie",
179+
"repo": "arduino-cli",
180+
"commitish": "allow_selection_of_board_property_expansion"
181+
}
178182
},
179183
"fwuploader": {
180184
"version": "2.2.2"

arduino-ide-extension/src/common/protocol/boards-service.ts

+1
Original file line numberDiff line numberDiff line change
@@ -441,6 +441,7 @@ export interface BoardDetails {
441441
readonly debuggingSupported: boolean;
442442
readonly VID: string;
443443
readonly PID: string;
444+
readonly buildProperties: string[];
444445
}
445446

446447
export interface Tool {

arduino-ide-extension/src/node/boards-service-impl.ts

+2
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,7 @@ export class BoardsServiceImpl
155155
VID = prop.get('vid') || '';
156156
PID = prop.get('pid') || '';
157157
}
158+
const buildProperties = detailsResp.getBuildPropertiesList();
158159

159160
return {
160161
fqbn,
@@ -164,6 +165,7 @@ export class BoardsServiceImpl
164165
debuggingSupported,
165166
VID,
166167
PID,
168+
buildProperties
167169
};
168170
}
169171

arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/board_pb.d.ts

+10
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@ export class BoardDetailsRequest extends jspb.Message {
1818
getFqbn(): string;
1919
setFqbn(value: string): BoardDetailsRequest;
2020

21+
getDoNotExpandBuildProperties(): boolean;
22+
setDoNotExpandBuildProperties(value: boolean): BoardDetailsRequest;
23+
2124

2225
serializeBinary(): Uint8Array;
2326
toObject(includeInstance?: boolean): BoardDetailsRequest.AsObject;
@@ -33,6 +36,7 @@ export namespace BoardDetailsRequest {
3336
export type AsObject = {
3437
instance?: cc_arduino_cli_commands_v1_common_pb.Instance.AsObject,
3538
fqbn: string,
39+
doNotExpandBuildProperties: boolean,
3640
}
3741
}
3842

@@ -93,6 +97,11 @@ export class BoardDetailsResponse extends jspb.Message {
9397
setIdentificationPropertiesList(value: Array<BoardIdentificationProperties>): BoardDetailsResponse;
9498
addIdentificationProperties(value?: BoardIdentificationProperties, index?: number): BoardIdentificationProperties;
9599

100+
clearBuildPropertiesList(): void;
101+
getBuildPropertiesList(): Array<string>;
102+
setBuildPropertiesList(value: Array<string>): BoardDetailsResponse;
103+
addBuildProperties(value: string, index?: number): string;
104+
96105

97106
serializeBinary(): Uint8Array;
98107
toObject(includeInstance?: boolean): BoardDetailsResponse.AsObject;
@@ -120,6 +129,7 @@ export namespace BoardDetailsResponse {
120129
programmersList: Array<cc_arduino_cli_commands_v1_common_pb.Programmer.AsObject>,
121130
debuggingSupported: boolean,
122131
identificationPropertiesList: Array<BoardIdentificationProperties.AsObject>,
132+
buildPropertiesList: Array<string>,
123133
}
124134
}
125135

arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/board_pb.js

+82-3
Original file line numberDiff line numberDiff line change
@@ -498,7 +498,8 @@ proto.cc.arduino.cli.commands.v1.BoardDetailsRequest.prototype.toObject = functi
498498
proto.cc.arduino.cli.commands.v1.BoardDetailsRequest.toObject = function(includeInstance, msg) {
499499
var f, obj = {
500500
instance: (f = msg.getInstance()) && cc_arduino_cli_commands_v1_common_pb.Instance.toObject(includeInstance, f),
501-
fqbn: jspb.Message.getFieldWithDefault(msg, 2, "")
501+
fqbn: jspb.Message.getFieldWithDefault(msg, 2, ""),
502+
doNotExpandBuildProperties: jspb.Message.getBooleanFieldWithDefault(msg, 3, false)
502503
};
503504

504505
if (includeInstance) {
@@ -544,6 +545,10 @@ proto.cc.arduino.cli.commands.v1.BoardDetailsRequest.deserializeBinaryFromReader
544545
var value = /** @type {string} */ (reader.readString());
545546
msg.setFqbn(value);
546547
break;
548+
case 3:
549+
var value = /** @type {boolean} */ (reader.readBool());
550+
msg.setDoNotExpandBuildProperties(value);
551+
break;
547552
default:
548553
reader.skipField();
549554
break;
@@ -588,6 +593,13 @@ proto.cc.arduino.cli.commands.v1.BoardDetailsRequest.serializeBinaryToWriter = f
588593
f
589594
);
590595
}
596+
f = message.getDoNotExpandBuildProperties();
597+
if (f) {
598+
writer.writeBool(
599+
3,
600+
f
601+
);
602+
}
591603
};
592604

593605

@@ -646,13 +658,31 @@ proto.cc.arduino.cli.commands.v1.BoardDetailsRequest.prototype.setFqbn = functio
646658
};
647659

648660

661+
/**
662+
* optional bool do_not_expand_build_properties = 3;
663+
* @return {boolean}
664+
*/
665+
proto.cc.arduino.cli.commands.v1.BoardDetailsRequest.prototype.getDoNotExpandBuildProperties = function() {
666+
return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));
667+
};
668+
669+
670+
/**
671+
* @param {boolean} value
672+
* @return {!proto.cc.arduino.cli.commands.v1.BoardDetailsRequest} returns this
673+
*/
674+
proto.cc.arduino.cli.commands.v1.BoardDetailsRequest.prototype.setDoNotExpandBuildProperties = function(value) {
675+
return jspb.Message.setProto3BooleanField(this, 3, value);
676+
};
677+
678+
649679

650680
/**
651681
* List of repeated fields within this message type.
652682
* @private {!Array<number>}
653683
* @const
654684
*/
655-
proto.cc.arduino.cli.commands.v1.BoardDetailsResponse.repeatedFields_ = [10,11,13,15];
685+
proto.cc.arduino.cli.commands.v1.BoardDetailsResponse.repeatedFields_ = [10,11,13,15,16];
656686

657687

658688

@@ -702,7 +732,8 @@ proto.cc.arduino.cli.commands.v1.BoardDetailsResponse.toObject = function(includ
702732
cc_arduino_cli_commands_v1_common_pb.Programmer.toObject, includeInstance),
703733
debuggingSupported: jspb.Message.getBooleanFieldWithDefault(msg, 14, false),
704734
identificationPropertiesList: jspb.Message.toObjectList(msg.getIdentificationPropertiesList(),
705-
proto.cc.arduino.cli.commands.v1.BoardIdentificationProperties.toObject, includeInstance)
735+
proto.cc.arduino.cli.commands.v1.BoardIdentificationProperties.toObject, includeInstance),
736+
buildPropertiesList: (f = jspb.Message.getRepeatedField(msg, 16)) == null ? undefined : f
706737
};
707738

708739
if (includeInstance) {
@@ -801,6 +832,10 @@ proto.cc.arduino.cli.commands.v1.BoardDetailsResponse.deserializeBinaryFromReade
801832
reader.readMessage(value,proto.cc.arduino.cli.commands.v1.BoardIdentificationProperties.deserializeBinaryFromReader);
802833
msg.addIdentificationProperties(value);
803834
break;
835+
case 16:
836+
var value = /** @type {string} */ (reader.readString());
837+
msg.addBuildProperties(value);
838+
break;
804839
default:
805840
reader.skipField();
806841
break;
@@ -934,6 +969,13 @@ proto.cc.arduino.cli.commands.v1.BoardDetailsResponse.serializeBinaryToWriter =
934969
proto.cc.arduino.cli.commands.v1.BoardIdentificationProperties.serializeBinaryToWriter
935970
);
936971
}
972+
f = message.getBuildPropertiesList();
973+
if (f.length > 0) {
974+
writer.writeRepeatedString(
975+
16,
976+
f
977+
);
978+
}
937979
};
938980

939981

@@ -1307,6 +1349,43 @@ proto.cc.arduino.cli.commands.v1.BoardDetailsResponse.prototype.clearIdentificat
13071349
};
13081350

13091351

1352+
/**
1353+
* repeated string build_properties = 16;
1354+
* @return {!Array<string>}
1355+
*/
1356+
proto.cc.arduino.cli.commands.v1.BoardDetailsResponse.prototype.getBuildPropertiesList = function() {
1357+
return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 16));
1358+
};
1359+
1360+
1361+
/**
1362+
* @param {!Array<string>} value
1363+
* @return {!proto.cc.arduino.cli.commands.v1.BoardDetailsResponse} returns this
1364+
*/
1365+
proto.cc.arduino.cli.commands.v1.BoardDetailsResponse.prototype.setBuildPropertiesList = function(value) {
1366+
return jspb.Message.setField(this, 16, value || []);
1367+
};
1368+
1369+
1370+
/**
1371+
* @param {string} value
1372+
* @param {number=} opt_index
1373+
* @return {!proto.cc.arduino.cli.commands.v1.BoardDetailsResponse} returns this
1374+
*/
1375+
proto.cc.arduino.cli.commands.v1.BoardDetailsResponse.prototype.addBuildProperties = function(value, opt_index) {
1376+
return jspb.Message.addToRepeatedField(this, 16, value, opt_index);
1377+
};
1378+
1379+
1380+
/**
1381+
* Clears the list making it empty but non-null.
1382+
* @return {!proto.cc.arduino.cli.commands.v1.BoardDetailsResponse} returns this
1383+
*/
1384+
proto.cc.arduino.cli.commands.v1.BoardDetailsResponse.prototype.clearBuildPropertiesList = function() {
1385+
return this.setBuildPropertiesList([]);
1386+
};
1387+
1388+
13101389

13111390

13121391

arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/compile_pb.d.ts

+4
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,9 @@ export class CompileRequest extends jspb.Message {
9595
getSkipLibrariesDiscovery(): boolean;
9696
setSkipLibrariesDiscovery(value: boolean): CompileRequest;
9797

98+
getDoNotExpandBuildProperties(): boolean;
99+
setDoNotExpandBuildProperties(value: boolean): CompileRequest;
100+
98101

99102
serializeBinary(): Uint8Array;
100103
toObject(includeInstance?: boolean): CompileRequest.AsObject;
@@ -133,6 +136,7 @@ export namespace CompileRequest {
133136
signKey: string,
134137
encryptKey: string,
135138
skipLibrariesDiscovery: boolean,
139+
doNotExpandBuildProperties: boolean,
136140
}
137141
}
138142

arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/compile_pb.js

+31-1
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,8 @@ proto.cc.arduino.cli.commands.v1.CompileRequest.toObject = function(includeInsta
155155
keysKeychain: jspb.Message.getFieldWithDefault(msg, 25, ""),
156156
signKey: jspb.Message.getFieldWithDefault(msg, 26, ""),
157157
encryptKey: jspb.Message.getFieldWithDefault(msg, 27, ""),
158-
skipLibrariesDiscovery: jspb.Message.getBooleanFieldWithDefault(msg, 28, false)
158+
skipLibrariesDiscovery: jspb.Message.getBooleanFieldWithDefault(msg, 28, false),
159+
doNotExpandBuildProperties: jspb.Message.getBooleanFieldWithDefault(msg, 29, false)
159160
};
160161

161162
if (includeInstance) {
@@ -292,6 +293,10 @@ proto.cc.arduino.cli.commands.v1.CompileRequest.deserializeBinaryFromReader = fu
292293
var value = /** @type {boolean} */ (reader.readBool());
293294
msg.setSkipLibrariesDiscovery(value);
294295
break;
296+
case 29:
297+
var value = /** @type {boolean} */ (reader.readBool());
298+
msg.setDoNotExpandBuildProperties(value);
299+
break;
295300
default:
296301
reader.skipField();
297302
break;
@@ -488,6 +493,13 @@ proto.cc.arduino.cli.commands.v1.CompileRequest.serializeBinaryToWriter = functi
488493
f
489494
);
490495
}
496+
f = message.getDoNotExpandBuildProperties();
497+
if (f) {
498+
writer.writeBool(
499+
29,
500+
f
501+
);
502+
}
491503
};
492504

493505

@@ -1022,6 +1034,24 @@ proto.cc.arduino.cli.commands.v1.CompileRequest.prototype.setSkipLibrariesDiscov
10221034
};
10231035

10241036

1037+
/**
1038+
* optional bool do_not_expand_build_properties = 29;
1039+
* @return {boolean}
1040+
*/
1041+
proto.cc.arduino.cli.commands.v1.CompileRequest.prototype.getDoNotExpandBuildProperties = function() {
1042+
return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 29, false));
1043+
};
1044+
1045+
1046+
/**
1047+
* @param {boolean} value
1048+
* @return {!proto.cc.arduino.cli.commands.v1.CompileRequest} returns this
1049+
*/
1050+
proto.cc.arduino.cli.commands.v1.CompileRequest.prototype.setDoNotExpandBuildProperties = function(value) {
1051+
return jspb.Message.setProto3BooleanField(this, 29, value);
1052+
};
1053+
1054+
10251055

10261056
/**
10271057
* List of repeated fields within this message type.

0 commit comments

Comments
 (0)