mirror of
https://github.com/arduino/arduino-ide.git
synced 2025-07-24 11:46:32 +00:00
Install the Arduino_BuiltIn
to built-in location
Closes #1055. Signed-off-by: Akos Kitta <a.kitta@arduino.cc>
This commit is contained in:
parent
0d545bea0e
commit
1b7f86b231
@ -161,9 +161,9 @@
|
||||
"arduino": {
|
||||
"cli": {
|
||||
"version": {
|
||||
"owner": "arduino",
|
||||
"owner": "cmaglie",
|
||||
"repo": "arduino-cli",
|
||||
"commitish": "05d1446"
|
||||
"commitish": "byebye_bundles"
|
||||
}
|
||||
},
|
||||
"fwuploader": {
|
||||
|
@ -1,6 +1,10 @@
|
||||
import { LocalStorageService } from '@theia/core/lib/browser';
|
||||
import { inject, injectable } from '@theia/core/shared/inversify';
|
||||
import { BoardsService, LibraryService } from '../../common/protocol';
|
||||
import {
|
||||
BoardsService,
|
||||
LibraryLocation,
|
||||
LibraryService,
|
||||
} from '../../common/protocol';
|
||||
import { Contribution } from './contribution';
|
||||
|
||||
@injectable()
|
||||
@ -57,6 +61,7 @@ export class FirstStartupInstaller extends Contribution {
|
||||
item: builtInLibrary,
|
||||
installDependencies: true,
|
||||
noOverwrite: true, // We don't want to automatically replace custom libraries the user might already have in place
|
||||
installLocation: LibraryLocation.BUILTIN,
|
||||
});
|
||||
} catch (e) {
|
||||
// There's no error code, I need to parse the error message: https://github.com/arduino/arduino-cli/commit/2ea3608453b17b1157f8a1dc892af2e13e40f4f0#diff-1de7569144d4e260f8dde0e0d00a4e2a218c57966d583da1687a70d518986649R95
|
||||
|
@ -28,6 +28,7 @@ export interface LibraryService
|
||||
version?: Installable.Version;
|
||||
installDependencies?: boolean;
|
||||
noOverwrite?: boolean;
|
||||
installLocation?: LibraryLocation.BUILTIN | LibraryLocation.USER;
|
||||
}): Promise<void>;
|
||||
installZip(options: {
|
||||
zipUri: string;
|
||||
@ -141,7 +142,7 @@ export enum LibraryLocation {
|
||||
/**
|
||||
* In the `libraries` subdirectory of the Arduino IDE installation.
|
||||
*/
|
||||
IDE_BUILTIN = 0,
|
||||
BUILTIN = 0,
|
||||
|
||||
/**
|
||||
* In the `libraries` subdirectory of the user directory (sketchbook).
|
||||
|
@ -82,6 +82,9 @@ export class LibraryInstallRequest extends jspb.Message {
|
||||
getNoOverwrite(): boolean;
|
||||
setNoOverwrite(value: boolean): LibraryInstallRequest;
|
||||
|
||||
getInstallLocation(): LibraryInstallLocation;
|
||||
setInstallLocation(value: LibraryInstallLocation): LibraryInstallRequest;
|
||||
|
||||
|
||||
serializeBinary(): Uint8Array;
|
||||
toObject(includeInstance?: boolean): LibraryInstallRequest.AsObject;
|
||||
@ -100,6 +103,7 @@ export namespace LibraryInstallRequest {
|
||||
version: string,
|
||||
noDeps: boolean,
|
||||
noOverwrite: boolean,
|
||||
installLocation: LibraryInstallLocation,
|
||||
}
|
||||
}
|
||||
|
||||
@ -962,6 +966,11 @@ export namespace GitLibraryInstallResponse {
|
||||
}
|
||||
}
|
||||
|
||||
export enum LibraryInstallLocation {
|
||||
LIBRARY_INSTALL_LOCATION_USER = 0,
|
||||
LIBRARY_INSTALL_LOCATION_BUILTIN = 1,
|
||||
}
|
||||
|
||||
export enum LibrarySearchStatus {
|
||||
LIBRARY_SEARCH_STATUS_FAILED = 0,
|
||||
LIBRARY_SEARCH_STATUS_SUCCESS = 1,
|
||||
@ -973,7 +982,7 @@ export enum LibraryLayout {
|
||||
}
|
||||
|
||||
export enum LibraryLocation {
|
||||
LIBRARY_LOCATION_IDE_BUILTIN = 0,
|
||||
LIBRARY_LOCATION_BUILTIN = 0,
|
||||
LIBRARY_LOCATION_USER = 1,
|
||||
LIBRARY_LOCATION_PLATFORM_BUILTIN = 2,
|
||||
LIBRARY_LOCATION_REFERENCED_PLATFORM_BUILTIN = 3,
|
||||
|
@ -26,6 +26,7 @@ goog.exportSymbol('proto.cc.arduino.cli.commands.v1.LibraryDependency', null, gl
|
||||
goog.exportSymbol('proto.cc.arduino.cli.commands.v1.LibraryDependencyStatus', null, global);
|
||||
goog.exportSymbol('proto.cc.arduino.cli.commands.v1.LibraryDownloadRequest', null, global);
|
||||
goog.exportSymbol('proto.cc.arduino.cli.commands.v1.LibraryDownloadResponse', null, global);
|
||||
goog.exportSymbol('proto.cc.arduino.cli.commands.v1.LibraryInstallLocation', null, global);
|
||||
goog.exportSymbol('proto.cc.arduino.cli.commands.v1.LibraryInstallRequest', null, global);
|
||||
goog.exportSymbol('proto.cc.arduino.cli.commands.v1.LibraryInstallResponse', null, global);
|
||||
goog.exportSymbol('proto.cc.arduino.cli.commands.v1.LibraryLayout', null, global);
|
||||
@ -1012,7 +1013,8 @@ proto.cc.arduino.cli.commands.v1.LibraryInstallRequest.toObject = function(inclu
|
||||
name: jspb.Message.getFieldWithDefault(msg, 2, ""),
|
||||
version: jspb.Message.getFieldWithDefault(msg, 3, ""),
|
||||
noDeps: jspb.Message.getBooleanFieldWithDefault(msg, 4, false),
|
||||
noOverwrite: jspb.Message.getBooleanFieldWithDefault(msg, 5, false)
|
||||
noOverwrite: jspb.Message.getBooleanFieldWithDefault(msg, 5, false),
|
||||
installLocation: jspb.Message.getFieldWithDefault(msg, 6, 0)
|
||||
};
|
||||
|
||||
if (includeInstance) {
|
||||
@ -1070,6 +1072,10 @@ proto.cc.arduino.cli.commands.v1.LibraryInstallRequest.deserializeBinaryFromRead
|
||||
var value = /** @type {boolean} */ (reader.readBool());
|
||||
msg.setNoOverwrite(value);
|
||||
break;
|
||||
case 6:
|
||||
var value = /** @type {!proto.cc.arduino.cli.commands.v1.LibraryInstallLocation} */ (reader.readEnum());
|
||||
msg.setInstallLocation(value);
|
||||
break;
|
||||
default:
|
||||
reader.skipField();
|
||||
break;
|
||||
@ -1135,6 +1141,13 @@ proto.cc.arduino.cli.commands.v1.LibraryInstallRequest.serializeBinaryToWriter =
|
||||
f
|
||||
);
|
||||
}
|
||||
f = message.getInstallLocation();
|
||||
if (f !== 0.0) {
|
||||
writer.writeEnum(
|
||||
6,
|
||||
f
|
||||
);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@ -1247,6 +1260,24 @@ proto.cc.arduino.cli.commands.v1.LibraryInstallRequest.prototype.setNoOverwrite
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* optional LibraryInstallLocation install_location = 6;
|
||||
* @return {!proto.cc.arduino.cli.commands.v1.LibraryInstallLocation}
|
||||
*/
|
||||
proto.cc.arduino.cli.commands.v1.LibraryInstallRequest.prototype.getInstallLocation = function() {
|
||||
return /** @type {!proto.cc.arduino.cli.commands.v1.LibraryInstallLocation} */ (jspb.Message.getFieldWithDefault(this, 6, 0));
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* @param {!proto.cc.arduino.cli.commands.v1.LibraryInstallLocation} value
|
||||
* @return {!proto.cc.arduino.cli.commands.v1.LibraryInstallRequest} returns this
|
||||
*/
|
||||
proto.cc.arduino.cli.commands.v1.LibraryInstallRequest.prototype.setInstallLocation = function(value) {
|
||||
return jspb.Message.setProto3EnumField(this, 6, value);
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -7057,6 +7088,14 @@ proto.cc.arduino.cli.commands.v1.GitLibraryInstallResponse.prototype.hasTaskProg
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* @enum {number}
|
||||
*/
|
||||
proto.cc.arduino.cli.commands.v1.LibraryInstallLocation = {
|
||||
LIBRARY_INSTALL_LOCATION_USER: 0,
|
||||
LIBRARY_INSTALL_LOCATION_BUILTIN: 1
|
||||
};
|
||||
|
||||
/**
|
||||
* @enum {number}
|
||||
*/
|
||||
@ -7077,7 +7116,7 @@ proto.cc.arduino.cli.commands.v1.LibraryLayout = {
|
||||
* @enum {number}
|
||||
*/
|
||||
proto.cc.arduino.cli.commands.v1.LibraryLocation = {
|
||||
LIBRARY_LOCATION_IDE_BUILTIN: 0,
|
||||
LIBRARY_LOCATION_BUILTIN: 0,
|
||||
LIBRARY_LOCATION_USER: 1,
|
||||
LIBRARY_LOCATION_PLATFORM_BUILTIN: 2,
|
||||
LIBRARY_LOCATION_REFERENCED_PLATFORM_BUILTIN: 3,
|
||||
|
@ -21,6 +21,7 @@ import {
|
||||
ZipLibraryInstallRequest,
|
||||
LibrarySearchRequest,
|
||||
LibrarySearchResponse,
|
||||
LibraryInstallLocation,
|
||||
} from './cli-protocol/cc/arduino/cli/commands/v1/lib_pb';
|
||||
import { Installable } from '../common/protocol/installable';
|
||||
import { ILogger, notEmpty } from '@theia/core';
|
||||
@ -231,8 +232,8 @@ export class LibraryServiceImpl
|
||||
|
||||
private mapLocation(location: GrpcLibraryLocation): LibraryLocation {
|
||||
switch (location) {
|
||||
case GrpcLibraryLocation.LIBRARY_LOCATION_IDE_BUILTIN:
|
||||
return LibraryLocation.IDE_BUILTIN;
|
||||
case GrpcLibraryLocation.LIBRARY_LOCATION_BUILTIN:
|
||||
return LibraryLocation.BUILTIN;
|
||||
case GrpcLibraryLocation.LIBRARY_LOCATION_USER:
|
||||
return LibraryLocation.USER;
|
||||
case GrpcLibraryLocation.LIBRARY_LOCATION_PLATFORM_BUILTIN:
|
||||
@ -290,6 +291,7 @@ export class LibraryServiceImpl
|
||||
version?: Installable.Version;
|
||||
installDependencies?: boolean;
|
||||
noOverwrite?: boolean;
|
||||
installLocation?: LibraryLocation.BUILTIN | LibraryLocation.USER;
|
||||
}): Promise<void> {
|
||||
const item = options.item;
|
||||
const version = !!options.version
|
||||
@ -304,6 +306,15 @@ export class LibraryServiceImpl
|
||||
req.setVersion(version);
|
||||
req.setNoDeps(!options.installDependencies);
|
||||
req.setNoOverwrite(Boolean(options.noOverwrite));
|
||||
if (options.installLocation === LibraryLocation.BUILTIN) {
|
||||
req.setInstallLocation(
|
||||
LibraryInstallLocation.LIBRARY_INSTALL_LOCATION_BUILTIN
|
||||
);
|
||||
} else if (options.installLocation === LibraryLocation.USER) {
|
||||
req.setInstallLocation(
|
||||
LibraryInstallLocation.LIBRARY_INSTALL_LOCATION_USER
|
||||
);
|
||||
}
|
||||
|
||||
console.info('>>> Starting library package installation...', item);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user