diff --git a/arduino-debugger-extension/package.json b/arduino-debugger-extension/package.json index a29628d5..14871c7b 100644 --- a/arduino-debugger-extension/package.json +++ b/arduino-debugger-extension/package.json @@ -1,11 +1,11 @@ { "name": "arduino-debugger-extension", - "version": "0.0.7", + "version": "0.1.0", "description": "An extension for debugging Arduino programs", "license": "MIT", "dependencies": { "@theia/debug": "next", - "arduino-ide-extension": "0.0.7", + "arduino-ide-extension": "0.1.0", "cdt-gdb-adapter": "^0.0.14", "vscode-debugadapter": "^1.26.0", "vscode-debugprotocol": "^1.26.0" diff --git a/arduino-ide-extension/package.json b/arduino-ide-extension/package.json index 5b389af6..b683436b 100644 --- a/arduino-ide-extension/package.json +++ b/arduino-ide-extension/package.json @@ -1,6 +1,6 @@ { "name": "arduino-ide-extension", - "version": "0.0.7", + "version": "0.1.0", "description": "An extension for Theia building the Arduino IDE", "license": "MIT", "scripts": { diff --git a/arduino-ide-extension/scripts/download-cli.js b/arduino-ide-extension/scripts/download-cli.js index 6b2ae416..02d15b5a 100755 --- a/arduino-ide-extension/scripts/download-cli.js +++ b/arduino-ide-extension/scripts/download-cli.js @@ -10,7 +10,7 @@ (() => { - const DEFAULT_VERSION = '0.12.0-rc2'; // require('moment')().format('YYYYMMDD'); + const DEFAULT_VERSION = '0.12.0'; // require('moment')().format('YYYYMMDD'); const path = require('path'); const shell = require('shelljs'); diff --git a/arduino-ide-extension/src/browser/contributions/upload-sketch.ts b/arduino-ide-extension/src/browser/contributions/upload-sketch.ts index ed0b569d..59091031 100644 --- a/arduino-ide-extension/src/browser/contributions/upload-sketch.ts +++ b/arduino-ide-extension/src/browser/contributions/upload-sketch.ts @@ -98,20 +98,27 @@ export class UploadSketch extends SketchContribution { let options: CoreService.Upload.Options | undefined = undefined; const sketchUri = uri; const optimizeForDebug = this.editorMode.compileForDebug; + const { selectedPort } = boardsConfig; if (usingProgrammer) { const programmer = selectedProgrammer; if (!programmer) { throw new Error('Programmer is not selected. Please select a programmer.'); } + let port: undefined | string = undefined; + // If the port is set by the user, we pass it to the CLI as it might be required. + // If it is not set but the CLI requires it, we let the CLI to complain. + if (selectedPort) { + port = selectedPort.address; + } options = { sketchUri, fqbn, optimizeForDebug, - programmer + programmer, + port }; } else { - const { selectedPort } = boardsConfig; if (!selectedPort) { throw new Error('No ports selected. Please select a port.'); } diff --git a/arduino-ide-extension/src/browser/theia/core/application-shell.ts b/arduino-ide-extension/src/browser/theia/core/application-shell.ts index e72a9a80..4e1f6cd0 100644 --- a/arduino-ide-extension/src/browser/theia/core/application-shell.ts +++ b/arduino-ide-extension/src/browser/theia/core/application-shell.ts @@ -2,6 +2,7 @@ import { injectable, inject } from 'inversify'; import { EditorWidget } from '@theia/editor/lib/browser'; import { CommandService } from '@theia/core/lib/common/command'; +import { OutputWidget } from '@theia/output/lib/browser/output-widget'; import { ApplicationShell as TheiaApplicationShell, Widget } from '@theia/core/lib/browser'; import { Sketch } from '../../../common/protocol'; import { EditorMode } from '../../editor-mode'; @@ -22,6 +23,9 @@ export class ApplicationShell extends TheiaApplicationShell { protected track(widget: Widget): void { super.track(widget); + if (widget instanceof OutputWidget) { + widget.title.closable = false; // TODO: https://arduino.slack.com/archives/C01698YT7S4/p1598011990133700 + } if (!this.editorMode.proMode && widget instanceof EditorWidget) { // Make the editor un-closeable asynchronously. this.sketchesServiceClient.currentSketch().then(sketch => { diff --git a/arduino-ide-extension/src/common/protocol/core-service.ts b/arduino-ide-extension/src/common/protocol/core-service.ts index 1a0c6edc..cc51b738 100644 --- a/arduino-ide-extension/src/common/protocol/core-service.ts +++ b/arduino-ide-extension/src/common/protocol/core-service.ts @@ -26,7 +26,7 @@ export namespace CoreService { export namespace Upload { export type Options = Compile.Options & Readonly<{ port: string }> | - Compile.Options & Readonly<{ programmer: Programmer }>; + Compile.Options & Readonly<{ programmer: Programmer, port?: string }>; } } diff --git a/arduino-ide-extension/src/node/core-service-impl.ts b/arduino-ide-extension/src/node/core-service-impl.ts index 884c69c3..67163544 100644 --- a/arduino-ide-extension/src/node/core-service-impl.ts +++ b/arduino-ide-extension/src/node/core-service-impl.ts @@ -103,11 +103,12 @@ export class CoreServiceImpl implements CoreService { uploadReq.setInstance(instance); uploadReq.setSketchPath(sketchpath); uploadReq.setFqbn(fqbn); - if ('port' in options) { - uploadReq.setPort(options.port); - } else { + if ('programmer' in options) { uploadReq.setProgrammer(options.programmer.id); } + if (options.port) { + uploadReq.setPort(options.port); + } const result = client.upload(uploadReq); try { diff --git a/browser-app/package.json b/browser-app/package.json index c820c439..f6744682 100644 --- a/browser-app/package.json +++ b/browser-app/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "browser-app", - "version": "0.0.7", + "version": "0.1.0", "license": "MIT", "dependencies": { "@theia/core": "next", @@ -19,8 +19,8 @@ "@theia/process": "next", "@theia/terminal": "next", "@theia/workspace": "next", - "arduino-ide-extension": "0.0.7", - "arduino-debugger-extension": "0.0.7" + "arduino-ide-extension": "0.1.0", + "arduino-debugger-extension": "0.1.0" }, "devDependencies": { "@theia/cli": "next" diff --git a/electron-app/package.json b/electron-app/package.json index b4d408df..cf329882 100644 --- a/electron-app/package.json +++ b/electron-app/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "electron-app", - "version": "0.0.7", + "version": "0.1.0", "license": "MIT", "main": "src-gen/frontend/electron-main.js", "dependencies": { @@ -21,8 +21,8 @@ "@theia/process": "next", "@theia/terminal": "next", "@theia/workspace": "next", - "arduino-ide-extension": "0.0.7", - "arduino-debugger-extension": "0.0.7" + "arduino-ide-extension": "0.1.0", + "arduino-debugger-extension": "0.1.0" }, "devDependencies": { "@theia/cli": "next" diff --git a/package.json b/package.json index 8613b150..8f86ab75 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "arduino-editor", - "version": "0.0.7", + "version": "0.1.0", "description": "Arduino Pro IDE", "repository": "https://github.com/bcmi-labs/arduino-editor.git", "author": "Arduino SA",