From b72aa375815bbf0ab2279a73ff955a6d241c836e Mon Sep 17 00:00:00 2001 From: Matheus Castello Date: Thu, 12 Sep 2024 19:30:35 -0300 Subject: [PATCH 01/34] scripts: tdc: scan: Add command scan list This command will display the list of the network devices found in a previous scan. Signed-off-by: Matheus Castello --- scripts/scanNetworkDevices.ps1 | 16 +++++++++++++--- scripts/zygote.ps1 | 11 +++++++++++ 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/scripts/scanNetworkDevices.ps1 b/scripts/scanNetworkDevices.ps1 index 725f93be5..c75a4c7ac 100644 --- a/scripts/scanNetworkDevices.ps1 +++ b/scripts/scanNetworkDevices.ps1 @@ -6,12 +6,22 @@ Write-Host "📡 :: NETWORK DEVICES :: 📡" Write-Host "" -RunCommandInBackgroundWithWaitAnimationAsync { - node $env:HOME/.apollox/scripts/node/scanNetworkDevices.mjs +if ( + $null -eq $args[1] +) { + RunCommandInBackgroundWithWaitAnimationAsync { + node $env:HOME/.apollox/scripts/node/scanNetworkDevices.mjs + } } # read the output -$nets = Get-Content "$env:HOME/.tcd/scan.json" | ConvertFrom-Json +if ( + Test-Path "$env:HOME/.tcd/scan.json" +) { + $nets = Get-Content "$env:HOME/.tcd/scan.json" | ConvertFrom-Json +} else { + $nets = @() +} if ($nets.Length -lt 1) { Write-Host -ForegroundColor DarkYellow ` diff --git a/scripts/zygote.ps1 b/scripts/zygote.ps1 index 0e0bd398b..411335b25 100755 --- a/scripts/zygote.ps1 +++ b/scripts/zygote.ps1 @@ -88,6 +88,11 @@ function _scan_network() { -f $env:HOME/.apollox/scripts/scanNetworkDevices.ps1 } +function _scan_network_display_previous_scan() { + pwsh -nop ` + -f $env:HOME/.apollox/scripts/scanNetworkDevices.ps1 display +} + function _connect_device() { # read the args $_id = Read-Host "Device id" @@ -351,8 +356,14 @@ try { Write-Host " ➡️ connect" Write-Host "`t interactively connect to a network device listed in the scan" Write-Host "" + Write-Host " ➡️ list" + Write-Host "`t display the list of the network devices found in the previous scan" + Write-Host "" exit 0 } + "list" { + _scan_network_display_previous_scan + } "connect" { _scan_network _connect_device From 0b92e08d1c7be4777261b0210e393a443b8647e9 Mon Sep 17 00:00:00 2001 From: Matheus Castello Date: Thu, 12 Sep 2024 19:31:38 -0300 Subject: [PATCH 02/34] scripts: connectDevice: Fix fixed size of the scan list Signed-off-by: Matheus Castello --- scripts/bash/tcd-env-setup.sh | 4 ++-- scripts/connectDevice.ps1 | 2 -- scripts/scanNetworkDevices.ps1 | 2 +- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/scripts/bash/tcd-env-setup.sh b/scripts/bash/tcd-env-setup.sh index 99fe4fe00..615d0390c 100755 --- a/scripts/bash/tcd-env-setup.sh +++ b/scripts/bash/tcd-env-setup.sh @@ -6,8 +6,8 @@ shopt -s expand_aliases _COMPOSE_FILE="$HOME/.tcd/docker-compose.yml" _BASH_COMPLETION_FILE="$HOME/.tcd/torizon-dev-completion.bash" export APOLLOX_REPO="toradex/vscode-torizon-templates" -export APOLLOX_BRANCH="next" -export BRANCH="next" +export APOLLOX_BRANCH="dev" +export BRANCH="dev" export UUID=$(id -u) export DGID=$(getent group docker | cut -d: -f3) diff --git a/scripts/connectDevice.ps1 b/scripts/connectDevice.ps1 index abd9e3b40..9c53c51dd 100644 --- a/scripts/connectDevice.ps1 +++ b/scripts/connectDevice.ps1 @@ -35,8 +35,6 @@ try { foreach ($_dev in $_jsonArray) { $_connectDevs.Add($_dev) | Out-Null } - } else { - $_connectDevs = @() } # get the scan from the file diff --git a/scripts/scanNetworkDevices.ps1 b/scripts/scanNetworkDevices.ps1 index c75a4c7ac..4e7293ea8 100644 --- a/scripts/scanNetworkDevices.ps1 +++ b/scripts/scanNetworkDevices.ps1 @@ -7,7 +7,7 @@ Write-Host "📡 :: NETWORK DEVICES :: 📡" Write-Host "" if ( - $null -eq $args[1] + $null -eq $args[0] ) { RunCommandInBackgroundWithWaitAnimationAsync { node $env:HOME/.apollox/scripts/node/scanNetworkDevices.mjs From f1e2b1c4ee5aca1bea27d0233eab981b1fdd9c5e Mon Sep 17 00:00:00 2001 From: Matheus Castello Date: Thu, 12 Sep 2024 20:15:03 -0300 Subject: [PATCH 03/34] scripts: scanNetworkDevices: Fix diplay option not listing devices [skip ci] Signed-off-by: Matheus Castello --- scripts/scanNetworkDevices.ps1 | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/scripts/scanNetworkDevices.ps1 b/scripts/scanNetworkDevices.ps1 index 4e7293ea8..b82ad9fae 100644 --- a/scripts/scanNetworkDevices.ps1 +++ b/scripts/scanNetworkDevices.ps1 @@ -28,6 +28,16 @@ if ($nets.Length -lt 1) { "`t ❌ :: No network devices found :: ❌" Write-Host "" exit 404 +} elseif ($args[0] -eq "display") { + $_ix = 0 + foreach ($net in $nets) { + $_ip = $net.Ip + $_hostname = $net.Hostname + + Write-Host "`t`t $_ix ➡️ $_hostname ($_ip)" + + $_ix++ + } } Write-Host "" From df4eeecf92aed9fb3cff59252f6b25735f7a6321 Mon Sep 17 00:00:00 2001 From: Matheus Castello Date: Thu, 12 Sep 2024 20:31:58 -0300 Subject: [PATCH 04/34] scripts: zigote: Change the behavior of the scan connect [skip ci] Instead of get the scan index interactively, now the user must provide the index as an argument to the connect command. Signed-off-by: Matheus Castello --- scripts/bash/torizon-dev-completion.bash | 1 + scripts/zygote.ps1 | 24 +++++++++++++++++------- 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/scripts/bash/torizon-dev-completion.bash b/scripts/bash/torizon-dev-completion.bash index ff7230015..500ae8418 100644 --- a/scripts/bash/torizon-dev-completion.bash +++ b/scripts/bash/torizon-dev-completion.bash @@ -16,6 +16,7 @@ TCD_COMP_ARGS_MAIN=" TCD_COMP_ARGS_SCAN=" help connect + list " TCD_COMP_ARGS_CONNECT=" diff --git a/scripts/zygote.ps1 b/scripts/zygote.ps1 index 411335b25..c6479db7c 100755 --- a/scripts/zygote.ps1 +++ b/scripts/zygote.ps1 @@ -93,16 +93,20 @@ function _scan_network_display_previous_scan() { -f $env:HOME/.apollox/scripts/scanNetworkDevices.ps1 display } -function _connect_device() { +function _connect_device { + param( + [Parameter(Mandatory = $true, HelpMessage="The device id to connect to")] + [string] $id + ) + # read the args - $_id = Read-Host "Device id" $_login = Read-Host "Login" $_pass = Read-Host "Password" -MaskInput Write-Host "" pwsh -nop ` -f $env:HOME/.apollox/scripts/connectDevice.ps1 ` - -id $_id ` + -id $id ` -login $_login ` -pass $_pass } @@ -353,8 +357,8 @@ try { "help" { Write-Host "📖 :: SCAN HELP :: 📖" Write-Host "" - Write-Host " ➡️ connect" - Write-Host "`t interactively connect to a network device listed in the scan" + Write-Host " ➡️ connect " + Write-Host "`t connect to a network device listed in the scan" Write-Host "" Write-Host " ➡️ list" Write-Host "`t display the list of the network devices found in the previous scan" @@ -365,8 +369,14 @@ try { _scan_network_display_previous_scan } "connect" { - _scan_network - _connect_device + # make sure that a scan index is provided + if ($null -eq $args[2]) { + Write-Host -ForegroundColor Red "❌ :: No scan index provided :: ❌" + Write-Host "" + exit 400 + } + + _connect_device -id $args[2] } Default { _scan_network From 5490fbb936b43b560a2bcf0781926550572c561e Mon Sep 17 00:00:00 2001 From: Andre Riesco Date: Wed, 9 Oct 2024 12:01:41 -0300 Subject: [PATCH 05/34] dotnetUno5: Add support for arm32 on dotnetUno5(and FrameBuffer) templates Signed-off-by: Andre Riesco --- README.md | 6 +- aspnetBlazor/.vscode/tasks.json | 6 +- dotnetAvalonia/.vscode/tasks.json | 6 +- dotnetAvaloniaFrameBuffer/.vscode/tasks.json | 2 +- dotnetUno5/.vscode/launch.json | 33 ++++ dotnetUno5/.vscode/tasks.json | 160 ++++++++++++++++- dotnetUno5FrameBuffer/.vscode/launch.json | 24 +++ dotnetUno5FrameBuffer/.vscode/tasks.json | 177 ++++++++++++++++++- templates.json | 4 +- 9 files changed, 399 insertions(+), 19 deletions(-) diff --git a/README.md b/README.md index 8cb315576..2b7a2df77 100644 --- a/README.md +++ b/README.md @@ -44,7 +44,7 @@ We encourage you to also contribute templates. The community supported templates | TEMPLATE | DESCRIPTION | RUNTIME | LANGUAGE | HW ARCH | FOLDER | CONTRIBUTOR | | -------------------------------------------------| --------------------------------------- | -------- | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |:-------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ | -| ![](assets/img/rust-console.png?raw=true) | Rust Console Application | libc | Rust | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [rustConsole](./rustConsole) | ![](https://avatars.githubusercontent.com/u/19845403?v=4) [@skkywalker](https://www.github.com/skkywalker) | +| ![](assets/img/rust-console.png?raw=true) | Rust Console Application | libc | Rust | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [rustConsole](./rustConsole) | ![](https://avatars.githubusercontent.com/u/19845403?v=4) [@skkywalker](https://www.github.com/skkywalker) | | ![](assets/img/jframe.png?raw=true) | Java Swing JFrame Application | JRE | Java | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [javaForms](./javaForms) | ![](https://avatars.githubusercontent.com/u/2633321?v=4) [@microhobby](https://www.github.com/microhobby) | | ![](assets/img/nodejsts.png?raw=true) | Node.js TypeScript Application | Node.js | TypeScript | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [nodeJSTypeScript](./nodeJSTypeScript) | ![](https://avatars.githubusercontent.com/u/2633321?v=4) [@microhobby](https://www.github.com/microhobby) | | ![](assets/img/electronjs.png?raw=true) | Node.js JavaScript Electron Application | Electron | JavaScript | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [nodeElectron](./nodeElectron) | ![](https://avatars.githubusercontent.com/u/2633321?v=4) [@microhobby](https://www.github.com/microhobby) | @@ -55,8 +55,8 @@ We encourage you to also contribute templates. The community supported templates | ![](assets/img/python3console.png?raw=true) | Python 3 Pyside 2(Qt5) QML | Pyside 2 | Python 3 | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [python3Pyside2QML](./python3Pyside2QML) | ![](https://avatars.githubusercontent.com/u/83607022?v=4) [@andreriesco](https://www.github.com/andreriesco) | | ![](assets/img/cconsole.png?raw=true) | C Makefile Console Application | libc | C | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) ![](assets/img/riscv64.png?raw=true&id=2) ![](assets/img/x8664.png?raw=true&id=2) | [cConsole](./cConsole) | ![](https://avatars.githubusercontent.com/u/19562097?v=4) [@hiagofranco](https://www.github.com/hiagofranco) | | ![](assets/img/zig-console.png?raw=true) | Zig Console Application | no-libc | Zig | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [zigConsole](./zigConsole) | ![](https://avatars.githubusercontent.com/u/6756180?v=4) [@kassane](https://www.github.com/kassane) | -| ![](assets/img/unogtk5.png?raw=true) | Java Swing JFrame Application | .NET 8.0 | C# | ![](assets/img/arm64.png?raw=true&id=2) | [dotnetUno5](./dotnetUno5) | ![](https://avatars.githubusercontent.com/u/2633321?v=4) [@microhobby](https://www.github.com/microhobby) | -| ![](assets/img/unofbdrm5.png?raw=true) | Node.js TypeScript Application | .NET 8.0 | C# | ![](assets/img/arm64.png?raw=true&id=2) | [dotnetUno5FrameBuffer](./dotnetUno5FrameBuffer) | ![](https://avatars.githubusercontent.com/u/2633321?v=4) [@microhobby](https://www.github.com/microhobby) | +| ![](assets/img/unogtk5.png?raw=true) | .NET 8 C# Uno 5 Platform Skia.GTK | .NET 8.0 | C# | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [dotnetUno5](./dotnetUno5) | ![](https://avatars.githubusercontent.com/u/2633321?v=4) [@microhobby](https://www.github.com/microhobby) | +| ![](assets/img/unofbdrm5.png?raw=true) | .NET 8 C# Uno 5 Platform Frame Buffer | .NET 8.0 | C# | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [dotnetUno5FrameBuffer](./dotnetUno5FrameBuffer) | ![](https://avatars.githubusercontent.com/u/2633321?v=4) [@microhobby](https://www.github.com/microhobby) | # List of Deprecated templates diff --git a/aspnetBlazor/.vscode/tasks.json b/aspnetBlazor/.vscode/tasks.json index dc1f4cf8c..ec962b294 100644 --- a/aspnetBlazor/.vscode/tasks.json +++ b/aspnetBlazor/.vscode/tasks.json @@ -155,7 +155,7 @@ }, { "label": "publish-debug-arm", - "detail": "dotnet build command for debugging the application on an armhf target", + "detail": "dotnet publish command for debugging the application on an armhf target", "command": "dotnet", "type": "process", "args": [ @@ -224,7 +224,7 @@ }, { "label": "publish-debug-amd64", - "detail": "dotnet build command for debugging the application on an amd64 target", + "detail": "dotnet publish command for debugging the application on an amd64 target", "command": "dotnet", "type": "process", "args": [ @@ -321,7 +321,7 @@ }, { "label": "publish-debug-arm64", - "detail": "dotnet build command for debugging the application on an arm64 target", + "detail": "dotnet publish command for debugging the application on an arm64 target", "command": "dotnet", "type": "process", "args": [ diff --git a/dotnetAvalonia/.vscode/tasks.json b/dotnetAvalonia/.vscode/tasks.json index 565bf99f4..d9dd0dc3e 100644 --- a/dotnetAvalonia/.vscode/tasks.json +++ b/dotnetAvalonia/.vscode/tasks.json @@ -173,7 +173,7 @@ }, { "label": "publish-debug-arm", - "detail": "dotnet build command for debugging the application on an armhf target", + "detail": "dotnet publish command for debugging the application on an armhf target", "command": "dotnet", "type": "process", "args": [ @@ -243,7 +243,7 @@ }, { "label": "publish-debug-arm64", - "detail": "dotnet build command for debugging the application on an arm64 target", + "detail": "dotnet publish command for debugging the application on an arm64 target", "command": "dotnet", "type": "process", "args": [ @@ -344,7 +344,7 @@ }, { "label": "publish-debug-amd64", - "detail": "dotnet build command for debugging the application on an amd64 target", + "detail": "dotnet publish command for debugging the application on an amd64 target", "hide": false, "type": "shell", "command": "rm", diff --git a/dotnetAvaloniaFrameBuffer/.vscode/tasks.json b/dotnetAvaloniaFrameBuffer/.vscode/tasks.json index 54badc03f..2b15ccc5b 100644 --- a/dotnetAvaloniaFrameBuffer/.vscode/tasks.json +++ b/dotnetAvaloniaFrameBuffer/.vscode/tasks.json @@ -140,7 +140,7 @@ }, { "label": "publish-debug-arm", - "detail": "dotnet build command for debugging the application on an armhf target", + "detail": "dotnet publish command for debugging the application on an armhf target", "command": "dotnet", "type": "process", "args": [ diff --git a/dotnetUno5/.vscode/launch.json b/dotnetUno5/.vscode/launch.json index 960b871bb..8e823e2d7 100644 --- a/dotnetUno5/.vscode/launch.json +++ b/dotnetUno5/.vscode/launch.json @@ -57,6 +57,39 @@ }, "preLaunchTask": "deploy-torizon-arm64" }, + { + "name": "Torizon ARMv7", + "type": "coreclr", + "request": "launch", + "program": "${config:torizon_app_root}/__change__.Skia.Gtk", + "cwd": "${config:torizon_app_root}", + "stopAtEntry": false, + "console": "internalConsole", + "env": { + "DOTNET_MODIFIABLE_ASSEMBLIES": "debug", + //"GDK_BACKEND": "x11", + //"GDK_GL": "gles", + "UNO_FULLSCREEN": "true" + }, + "args": [], + "pipeTransport": { + "pipeCwd": "${workspaceFolder}", + "pipeProgram": "ssh", + "pipeArgs": [ + "-T", + "-q", + "-p", + "${config:torizon_debug_ssh_port}", + "-o", + "StrictHostKeyChecking=no", + "-o", + "UserKnownHostsFile /dev/null", + "${config:torizon_run_as}@${config:torizon_ip}" // user@device + ], + "debuggerPath": "/vsdbg/vsdbg" + }, + "preLaunchTask": "deploy-torizon-arm" + }, { "name": "Torizon AMD64", "type": "coreclr", diff --git a/dotnetUno5/.vscode/tasks.json b/dotnetUno5/.vscode/tasks.json index dbd84b285..5cb21646d 100644 --- a/dotnetUno5/.vscode/tasks.json +++ b/dotnetUno5/.vscode/tasks.json @@ -125,8 +125,8 @@ } }, { - "label": "publish-debug-amd64", - "detail": "", + "label": "publish-debug-arm64", + "detail": "dotnet publish command for debugging the application on an arm64 target", "command": "dotnet", "type": "process", "args": [ @@ -137,7 +137,7 @@ "/property:GenerateFullPaths=true", "/consoleloggerparameters:NoSummary", "-r", - "linux-amd64", + "linux-arm64", "--no-self-contained" ], "dependsOrder": "sequence", @@ -155,8 +155,8 @@ } }, { - "label": "publish-debug-arm64", - "detail": "", + "label": "publish-debug-arm", + "detail": "dotnet publish command for debugging the application on an armhf target", "command": "dotnet", "type": "process", "args": [ @@ -167,7 +167,37 @@ "/property:GenerateFullPaths=true", "/consoleloggerparameters:NoSummary", "-r", - "linux-arm64", + "linux-arm", + "--no-self-contained" + ], + "dependsOrder": "sequence", + "problemMatcher": "$msCompile", + "icon": { + "id": "tools", + "color": "terminal.ansiYellow" + }, + "presentation": { + "echo": true, + "reveal": "always", + "focus": true, + "panel": "shared", + "group": "build-execution" + } + }, + { + "label": "publish-debug-amd64", + "detail": "dotnet publish command for debugging the application on an amd64 target", + "command": "dotnet", + "type": "process", + "args": [ + "publish", + "-c", + "Debug", + "${workspaceFolder}/__change__.Skia.Gtk/__change__.Skia.Gtk.csproj", + "/property:GenerateFullPaths=true", + "/consoleloggerparameters:NoSummary", + "-r", + "linux-amd64", "--no-self-contained" ], "dependsOrder": "sequence", @@ -224,6 +254,46 @@ "group": "build-execution" } }, + { + "label": "deploy-torizon-arm", + "detail": "", + "hide": true, + "command": "rsync", + "type": "process", + "args": [ + "-P", + "-av", + "-e", + "ssh -p ${config:torizon_debug_ssh_port} -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null", + "${workspaceFolder}/__change__.Skia.Gtk/bin/Debug/net8.0/linux-arm/publish/", + "${config:torizon_run_as}@${config:torizon_ip}:${config:torizon_app_root}" + ], + "dependsOn": [ + "validate-settings", + "validate-arch-arm", + "copy-docker-compose", + "pre-cleanup", + "publish-debug-arm", + "build-container-torizon-debug-arm", + "push-container-torizon-debug-arm", + "pull-container-torizon-debug-arm", + "run-container-torizon-debug-arm", + "pos-cleanup" + ], + "dependsOrder": "sequence", + "problemMatcher": "$msCompile", + "icon": { + "id": "debug-alt", + "color": "terminal.ansiYellow" + }, + "presentation": { + "echo": true, + "reveal": "always", + "focus": true, + "panel": "shared", + "group": "build-execution" + } + }, { "label": "deploy-torizon-amd64", "detail": "", @@ -314,6 +384,58 @@ "group": "build-execution" } }, + { + "label": "clean-debug-arm", + "detail": "dotnet clean command for cleaning the application build for the armhf target", + "command": "dotnet", + "type": "process", + "args": [ + "clean", + "${workspaceFolder}/__change__.Skia.Gtk/__change__.Skia.Gtk.csproj", + "-c", + "Debug", + "-r", + "linux-arm" + ], + "problemMatcher": "$msCompile", + "icon": { + "id": "trash", + "color": "terminal.ansiYellow" + }, + "presentation": { + "echo": true, + "reveal": "always", + "focus": true, + "panel": "shared", + "group": "build-execution" + } + }, + { + "label": "clean-debug-amd64", + "detail": "dotnet clean command for cleaning the application build for the amd64 target", + "command": "dotnet", + "type": "process", + "args": [ + "clean", + "${workspaceFolder}/__change__.Skia.Gtk/__change__.Skia.Gtk.csproj", + "-c", + "Debug", + "-r", + "linux-amd64" + ], + "problemMatcher": "$msCompile", + "icon": { + "id": "trash", + "color": "terminal.ansiYellow" + }, + "presentation": { + "echo": true, + "reveal": "always", + "focus": true, + "panel": "shared", + "group": "build-execution" + } + }, { "label": "run-app-for-hot-reload-local", "hide": true, @@ -440,6 +562,32 @@ "group": "build-execution" } }, + { + "label": "launch-hot-reload-arm", + "detail": "This task will launch the application on the board, without\nattach the debugger, this will allow the application to\nuse the Uno Platform hot reload feature.", + "command": "echo", + "type": "shell", + "args": [ + "✅" + ], + "dependsOrder": "sequence", + "dependsOn": [ + "config-hot-reload-address", + "deploy-torizon-arm", + "run-app-for-hot-reload" + ], + "icon": { + "id": "vm-connect", + "color": "terminal.ansiYellow" + }, + "presentation": { + "echo": true, + "reveal": "always", + "focus": true, + "panel": "shared", + "group": "build-execution" + } + }, { "label": "launch-hot-reload-amd64", "detail": "This task will launch the application on the board, without\nattach the debugger, this will allow the application to\nuse the Uno Platform hot reload feature.", diff --git a/dotnetUno5FrameBuffer/.vscode/launch.json b/dotnetUno5FrameBuffer/.vscode/launch.json index 5f7a8b1b2..bfb649624 100644 --- a/dotnetUno5FrameBuffer/.vscode/launch.json +++ b/dotnetUno5FrameBuffer/.vscode/launch.json @@ -28,6 +28,30 @@ "preLaunchTask": "run-torizon-arm64-debug", "postDebugTask": "stop-torizon-and-clean-framebuffer" }, + { + "name": "Torizon ARMv7", + "type": "coreclr", + "request": "attach", + "processName": "__change__.Skia.Linux.FrameBuffer", + "pipeTransport": { + "pipeCwd": "${workspaceFolder}", + "pipeProgram": "ssh", + "pipeArgs": [ + "-T", + "-q", + "-p", + "${config:torizon_debug_ssh_port}", + "-o", + "StrictHostKeyChecking=no", + "-o", + "UserKnownHostsFile /dev/null", + "${config:torizon_run_as}@${config:torizon_ip}" // user@device + ], + "debuggerPath": "/vsdbg/vsdbg" + }, + "preLaunchTask": "run-torizon-arm-debug", + "postDebugTask": "stop-torizon-and-clean-framebuffer" + }, { "name": "Torizon AMD64", "type": "coreclr", diff --git a/dotnetUno5FrameBuffer/.vscode/tasks.json b/dotnetUno5FrameBuffer/.vscode/tasks.json index a626435da..632128fc7 100644 --- a/dotnetUno5FrameBuffer/.vscode/tasks.json +++ b/dotnetUno5FrameBuffer/.vscode/tasks.json @@ -122,7 +122,7 @@ }, { "label": "publish-debug-amd64", - "detail": "", + "detail": "dotnet publish command for debugging the application on an amd64 target", "command": "dotnet", "type": "process", "args": [ @@ -152,7 +152,7 @@ }, { "label": "publish-debug-arm64", - "detail": "", + "detail": "dotnet publish command for debugging the application on an arm64 target", "command": "dotnet", "type": "process", "args": [ @@ -180,6 +180,36 @@ "group": "build-execution" } }, + { + "label": "publish-debug-arm", + "detail": "dotnet publish command for debugging the application on an armhf target", + "command": "dotnet", + "type": "process", + "args": [ + "publish", + "-c", + "Debug", + "${workspaceFolder}/__change__.Skia.Linux.FrameBuffer/__change__.Skia.Linux.FrameBuffer.csproj", + "/property:GenerateFullPaths=true", + "/consoleloggerparameters:NoSummary", + "-r", + "linux-arm", + "--no-self-contained" + ], + "dependsOrder": "sequence", + "problemMatcher": "$msCompile", + "icon": { + "id": "tools", + "color": "terminal.ansiYellow" + }, + "presentation": { + "echo": true, + "reveal": "always", + "focus": true, + "panel": "shared", + "group": "build-execution" + } + }, { "label": "deploy-torizon-amd64", "detail": "", @@ -262,6 +292,47 @@ "group": "build-execution" } }, + { + "label": "deploy-torizon-arm", + "detail": "", + "hide": true, + "command": "rsync", + "type": "process", + "args": [ + "-P", + "-av", + "-e", + "ssh -p ${config:torizon_debug_ssh_port} -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null", + "${workspaceFolder}/__change__.Skia.Linux.FrameBuffer/bin/Debug/net8.0/linux-arm/publish/", + "${config:torizon_run_as}@${config:torizon_ip}:${config:torizon_app_root}" + ], + "dependsOn": [ + "validate-settings", + "validate-arch-arm", + "copy-docker-compose", + "pre-cleanup", + "publish-debug-arm", + "build-container-torizon-debug-arm", + "push-container-torizon-debug-arm", + "pull-container-torizon-debug-arm", + "run-container-torizon-debug-arm", + "wait-a-bit", + "pos-cleanup" + ], + "dependsOrder": "sequence", + "problemMatcher": "$msCompile", + "icon": { + "id": "debug-alt", + "color": "terminal.ansiYellow" + }, + "presentation": { + "echo": true, + "reveal": "always", + "focus": true, + "panel": "shared", + "group": "build-execution" + } + }, { "label": "run-skia-fb-torizon-arm64", "detail": "Run the application without attach to the debugger. Util\n when you want to run the hot reload in the remote device.", @@ -409,6 +480,55 @@ "group": "build-execution" } }, + { + "label": "run-torizon-arm-debug", + "detail": "", + "hide": true, + "command": "ssh", + "type": "process", + "isBackground": true, + "args": [ + "-p", + "${config:torizon_debug_ssh_port}", + "-o", + "UserKnownHostsFile=/dev/null", + "-o", + "StrictHostKeyChecking=no", + "-ttt", + "${config:torizon_run_as}@${config:torizon_ip}", + "cd ${config:torizon_app_root} && DOTNET_MODIFIABLE_ASSEMBLIES=debug ./__change__.Skia.Linux.FrameBuffer -debug" + ], + "dependsOn": [ + "deploy-torizon-arm" + ], + "dependsOrder": "sequence", + "problemMatcher": { + "pattern": { + "regexp": "^([^\\s].*)\\((\\d+|\\d+,\\d+|\\d+,\\d+,\\d+,\\d+)\\):\\s+(error|warning|info)\\s+(TS\\d+)\\s*:\\s*(.*)$", + "file": 1, + "location": 2, + "severity": 3, + "code": 4, + "message": 5 + }, + "background": { + "activeOnStart": true, + "beginsPattern": "^\\s*", + "endsPattern": "^\\s*" + } + }, + "icon": { + "id": "debug-alt", + "color": "terminal.ansiYellow" + }, + "presentation": { + "echo": true, + "reveal": "always", + "focus": true, + "panel": "shared", + "group": "build-execution" + } + }, { "label": "stop-torizon-and-clean-framebuffer", "detail": "", @@ -504,6 +624,32 @@ "group": "build-execution" } }, + { + "label": "clean-debug-arm", + "detail": "dotnet clean command for cleaning the application build for the armhf target", + "command": "dotnet", + "type": "process", + "args": [ + "clean", + "${workspaceFolder}/__change__.Skia.Linux.FrameBuffer/__change__.Skia.Linux.FrameBuffer.csproj", + "-c", + "Debug", + "-r", + "linux-arm" + ], + "problemMatcher": "$msCompile", + "icon": { + "id": "trash", + "color": "terminal.ansiYellow" + }, + "presentation": { + "echo": true, + "reveal": "always", + "focus": true, + "panel": "shared", + "group": "build-execution" + } + }, { "label": "clean-debug-amd64", "detail": "dotnet clean command for cleaning the application build for the x86-64 target", @@ -631,6 +777,33 @@ "panel": "shared", "group": "build-execution" } + }, + { + "label": "launch-hot-reload-arm", + "detail": "This task will launch the application on the board, without\nattach the debugger, this will allow the application to\nuse the Uno Platform hot reload feature.", + "command": "echo", + "type": "shell", + "args": [ + "✅" + ], + "dependsOrder": "sequence", + "dependsOn": [ + "config-hot-reload-address", + "deploy-torizon-arm", + "launch-torizon-debug-hot-reload", + "stop-torizon-and-clean-framebuffer" + ], + "icon": { + "id": "vm-connect", + "color": "terminal.ansiYellow" + }, + "presentation": { + "echo": true, + "reveal": "always", + "focus": true, + "panel": "shared", + "group": "build-execution" + } } ], "inputs": [] diff --git a/templates.json b/templates.json index 90a87f859..0d6a96ab7 100644 --- a/templates.json +++ b/templates.json @@ -115,6 +115,7 @@ "tests": { "debuggers": { "local": ["Local Debug"], + "arm": ["Torizon ARMv7"], "arm64": ["Torizon ARMv8"] }, "debuggerConsole": null, @@ -135,7 +136,8 @@ "deprecated": false, "tests": { "debuggers": { - "arm64": ["Torizon ARMv8"] + "arm64": ["Torizon ARMv8"], + "arm": ["Torizon ARMv7"] }, "debuggerConsole": "run-torizon", "mainFile": "__change__/App.cs", From c25d37382fad27aa05ed1fc6fb63f6cf768d0fba Mon Sep 17 00:00:00 2001 From: Andre Riesco Date: Wed, 9 Oct 2024 14:55:01 -0300 Subject: [PATCH 06/34] dotnetUno5FrameBuffer: Fix release Dockerfile Signed-off-by: Andre Riesco --- dotnetUno5FrameBuffer/Dockerfile | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/dotnetUno5FrameBuffer/Dockerfile b/dotnetUno5FrameBuffer/Dockerfile index e7d35149f..217043c53 100644 --- a/dotnetUno5FrameBuffer/Dockerfile +++ b/dotnetUno5FrameBuffer/Dockerfile @@ -8,6 +8,7 @@ ARG IMAGE_ARCH= # Base container version ## ARG BASE_VERSION=3.3.1 +ARG DOTNET_BASE_VERSION=3-8.0 ## # Directory of the application inside container @@ -38,7 +39,9 @@ RUN dotnet restore && \ dotnet publish -c Release -r linux-${IMAGE_ARCH} --no-self-contained # BUILD ------------------------------------------------------------------------ - +# DOTNET ----------------------------------------------------------------------- + FROM --platform=linux/${IMAGE_ARCH} \ + commontorizon/dotnet:${DOTNET_BASE_VERSION} AS Dotnet # DEPLOY ----------------------------------------------------------------------- FROM --platform=linux/${IMAGE_ARCH} \ @@ -48,6 +51,11 @@ ARG IMAGE_ARCH ARG GPU ARG APP_ROOT +ENV DOTNET_ROOT=/dotnet +ENV PATH=$PATH:/dotnet + +COPY --from=Dotnet /dotnet /dotnet + # for vivante GPU we need some "special" sauce RUN apt-get -q -y update && \ if [ "${GPU}" = "-vivante" ] || [ "${GPU}" = "-imx8" ]; then \ From f9a82266fe870c1c5ac5106529abb586158e7dc3 Mon Sep 17 00:00:00 2001 From: Andre Riesco Date: Wed, 9 Oct 2024 19:25:35 -0300 Subject: [PATCH 07/34] python3Pyside2QML: Fix missing defaultInterpreter setting Signed-off-by: Andre Riesco --- python3Pyside2QML/.vscode/settings.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/python3Pyside2QML/.vscode/settings.json b/python3Pyside2QML/.vscode/settings.json index 6b2553da0..8eec97a2d 100644 --- a/python3Pyside2QML/.vscode/settings.json +++ b/python3Pyside2QML/.vscode/settings.json @@ -17,5 +17,6 @@ "tcb.packageName": "__change__", "tcb.version": "3.11.0", "torizon.gpuPrefixRC": true, - "qml-ls-client.qmllsPath": ".venv/lib/python3.11/site-packages/PySide6/qmlls" + "qml-ls-client.qmllsPath": ".venv/lib/python3.11/site-packages/PySide6/qmlls", + "python.defaultInterpreterPath": "./.venv/bin/python3" } From 5f5820fe7d94ef4e77913e77cccaef0e6a10fff8 Mon Sep 17 00:00:00 2001 From: Matheus Castello Date: Wed, 9 Oct 2024 21:43:04 -0300 Subject: [PATCH 08/34] README: Make the images fixed sizes Also fix the deprecated templates table that was very ugly! Signed-off-by: Matheus Castello --- DEPRECATED.md | 8 +-- README.md | 132 ++++++++++++++++++++++++-------------------------- 2 files changed, 69 insertions(+), 71 deletions(-) diff --git a/DEPRECATED.md b/DEPRECATED.md index dbaa029dd..5936fd910 100644 --- a/DEPRECATED.md +++ b/DEPRECATED.md @@ -1,8 +1,10 @@ # Deprecated templates +| TEMPLATE | DESCRIPTION | RUNTIME | LANGUAGE | HW ARCH | FOLDER | CONTRIBUTOR | +| -------- | ----------- | ------- | -------- | ------- | ------ | ----------- | +| ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/unogtk.png?raw=true) | .NET 6 C# Uno Platform Skia.GTK | .NET 6.0 | C# | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2)  ![](assets/img/x8664.png?raw=true&id=2) | [dotnetUno](./dotnetUno) | ![](https://avatars.githubusercontent.com/u/2633321?v=4&s=64&s=64) [@microhobby](https://www.github.com/microhobby) | +| ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/unofbdrm.png?raw=true) | .NET 6 C# Uno Platform Frame Buffer | .NET 6.0 | C# | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [dotnetUnoFrameBuffer](./dotnetUnoFrameBuffer) | ![](https://avatars.githubusercontent.com/u/2633321?v=4&s=64) [@microhobby](https://www.github.com/microhobby) | + Due to the eminent EOL of .NET 6, .NET 6 Uno and .NET 6 Uno FrameBuffer templates are deprecated, being replaced by the [.NET 8 Uno 5](./dotnetUno5) and [.NET 8 Uno 5 FrameBuffer](./dotnetUno5FrameBuffer) templates. Due to the quite big difference between .NET 6 Uno 4 and .NET 8 Uno 5, it is not possible to update the project via `try-update-template` task. To update it, create a new .NET 8 Uno 5 clean project and update the source files accordingly. - -| ![](assets/img/unogtk.png?raw=true) | .NET 6 C# Uno Platform Skia.GTK | .NET 6.0 | C# | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2)  ![](assets/img/x8664.png?raw=true&id=2) | [dotnetUno](./dotnetUno) | -| ![](assets/img/unofbdrm.png?raw=true) | .NET 6 C# Uno Platform Frame Buffer | .NET 6.0 | C# | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [dotnetUnoFrameBuffer](./dotnetUnoFrameBuffer) | ![](https://avatars.githubusercontent.com/u/2633321?v=4) [@microhobby](https://www.github.com/microhobby) | diff --git a/README.md b/README.md index 2b7a2df77..8fed4fc33 100644 --- a/README.md +++ b/README.md @@ -1,68 +1,64 @@ -# VS Code Torizon Templates - -This repository maintains the templates used in conjunction with the [VS Code Torizon Integrated Development Environment Extension](https://developer.toradex.com/torizon/application-development/ide-extension/). Focusing in the VS Code for automation between the development environment for remote debug, remote deploy of containerized applications for Toradex TorizonCore easy-to-use Industrial Linux Software Platform. - -## Toradex Supported Templates - -> ℹ️ **Toradex Supported Templates** are templates with development stacks commonly used by customers of the Torizon platform and are maintained by the Torizon team at Toradex. - -> ⚠️ Support for **x86-64** and **riscv64** architectures are experimental. - -| TEMPLATE | DESCRIPTION | RUNTIME | LANGUAGE | HW ARCH | FOLDER | -| ------------------------------------------- | ----------------------------------- | ----------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------ | -| ![](assets/img/cppconsole.png?raw=true) | C++ Makefile Console Application | libc | C++ | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) ![](assets/img/riscv64.png?raw=true&id=2) ![](assets/img/x8664.png?raw=true&id=2) | [cppConsole](./cppConsole) | -| ![](assets/img/cmakeconsole.png?raw=true) | C++ CMake Console Application | libc | C++ | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2)  | [cmakeConsole](./cmakeConsole) | -| ![](assets/img/qt6qml.png?raw=true) | C++ Qt 6 QML Application | Qt 6 | C++ / QML | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2)  ![](assets/img/x8664.png?raw=true&id=2) | [cppQML](./cppQML) | -| ![](assets/img/dotnetconsole.png?raw=true) | .NET 8 C# Console Application | .NET 8.0 | C# | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2)  ![](assets/img/x8664.png?raw=true&id=2) | [dotnetConsole](./dotnetConsole) | -| ![](assets/img/aspnetblazor.png?raw=true) | ASP.NET 8 Blazor Application | ASP.NET 8.0 | C# | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2)  ![](assets/img/x8664.png?raw=true&id=2) | [aspnetBlazor](./aspnetBlazor) | -| ![](assets/img/python3console.png?raw=true) | Python 3 Console Application | Python 3 | Python 3 | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [python3Console](./python3Console) | -| ![](assets/img/genericTemplate.png?raw=true)| Generic Template (Without Language) | None | None | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) ![](assets/img/riscv64.png?raw=true&id=2) ![](assets/img/x8664.png?raw=true&id=2) | [genericTemplate](./genericTemplate) | - - -# Partner Templates - -Partner templates are contributions that come from [Toradex partner network](https://www.toradex.com/support/partner-network) associates: - -| TEMPLATE | DESCRIPTION | RUNTIME | LANGUAGE | HW ARCH | FOLDER | -| --------------------------------------- | ---------------------- | --------- | -------- | ------------------------------------------------------------------------------- | ------------------------ | -| ![](assets/img/slint-cpp.png?raw=true) | C++ Slint Application | Slint 1.0 | C++ | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [cppSlint](./cppSlint) | -| ![](assets/img/slint-rust.png?raw=true) | Rust Slint Application | Slint 1.0 | Rust | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [rustSlint](./rustSlint) | - - - -# Contributing - -We encourage you to also contribute templates. The community supported templates can also be used in the [VS Code Torizon Integrated Development Environment Extension](https://developer.toradex.com/torizon/application-development/ide-extension/): - -- [Code of Conduct](./CODE_OF_CONDUCT.md) - -- [How to Contribute](./CONTRIBUTING.md) - -## Community Supported Templates - -> ⚠️ **Community Supported Templates** are templates with emerging development stacks or unstable technology stacks and are maintained by the Torizon community. - -| TEMPLATE | DESCRIPTION | RUNTIME | LANGUAGE | HW ARCH | FOLDER | CONTRIBUTOR | -| -------------------------------------------------| --------------------------------------- | -------- | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |:-------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ | -| ![](assets/img/rust-console.png?raw=true) | Rust Console Application | libc | Rust | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [rustConsole](./rustConsole) | ![](https://avatars.githubusercontent.com/u/19845403?v=4) [@skkywalker](https://www.github.com/skkywalker) | -| ![](assets/img/jframe.png?raw=true) | Java Swing JFrame Application | JRE | Java | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [javaForms](./javaForms) | ![](https://avatars.githubusercontent.com/u/2633321?v=4) [@microhobby](https://www.github.com/microhobby) | -| ![](assets/img/nodejsts.png?raw=true) | Node.js TypeScript Application | Node.js | TypeScript | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [nodeJSTypeScript](./nodeJSTypeScript) | ![](https://avatars.githubusercontent.com/u/2633321?v=4) [@microhobby](https://www.github.com/microhobby) | -| ![](assets/img/electronjs.png?raw=true) | Node.js JavaScript Electron Application | Electron | JavaScript | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [nodeElectron](./nodeElectron) | ![](https://avatars.githubusercontent.com/u/2633321?v=4) [@microhobby](https://www.github.com/microhobby) | -| ![](assets/img/monowinforms.png?raw=true) | Mono 4.7 C# Windows Forms Application | .NET 4.7 | C# | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [monoCsharpForms](./monoCsharpForms) | ![](https://avatars.githubusercontent.com/u/2633321?v=4) [@microhobby](https://www.github.com/microhobby) | -| ![](assets/img/avaloniafbdrm.png?raw=true) | .NET 8 C# Avalonia Frame Buffer DRM | .NET 8.0 | C# | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [dotnetAvaloniaFrameBuffer](./dotnetAvaloniaFrameBuffer) | ![](https://avatars.githubusercontent.com/u/2633321?v=4) [@microhobby](https://www.github.com/microhobby) | -| ![](assets/img/avaloniagtk.png?raw=true) | .NET 8 C# Avalonia GTK MVVM | .NET 8.0 | C# | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [dotnetAvalonia](./dotnetAvalonia) | ![](https://avatars.githubusercontent.com/u/2633321?v=4) [@microhobby](https://www.github.com/microhobby) | -| ![](assets/img/gambasform.png?raw=true) | Gambas3 Form Project | Gambas3 | Visual Basic | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [gambasForms](./gambasForms) | ![](https://avatars.githubusercontent.com/u/2633321?v=4) [@microhobby](https://www.github.com/microhobby) | -| ![](assets/img/python3console.png?raw=true) | Python 3 Pyside 2(Qt5) QML | Pyside 2 | Python 3 | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [python3Pyside2QML](./python3Pyside2QML) | ![](https://avatars.githubusercontent.com/u/83607022?v=4) [@andreriesco](https://www.github.com/andreriesco) | -| ![](assets/img/cconsole.png?raw=true) | C Makefile Console Application | libc | C | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) ![](assets/img/riscv64.png?raw=true&id=2) ![](assets/img/x8664.png?raw=true&id=2) | [cConsole](./cConsole) | ![](https://avatars.githubusercontent.com/u/19562097?v=4) [@hiagofranco](https://www.github.com/hiagofranco) | -| ![](assets/img/zig-console.png?raw=true) | Zig Console Application | no-libc | Zig | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [zigConsole](./zigConsole) | ![](https://avatars.githubusercontent.com/u/6756180?v=4) [@kassane](https://www.github.com/kassane) | -| ![](assets/img/unogtk5.png?raw=true) | .NET 8 C# Uno 5 Platform Skia.GTK | .NET 8.0 | C# | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [dotnetUno5](./dotnetUno5) | ![](https://avatars.githubusercontent.com/u/2633321?v=4) [@microhobby](https://www.github.com/microhobby) | -| ![](assets/img/unofbdrm5.png?raw=true) | .NET 8 C# Uno 5 Platform Frame Buffer | .NET 8.0 | C# | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [dotnetUno5FrameBuffer](./dotnetUno5FrameBuffer) | ![](https://avatars.githubusercontent.com/u/2633321?v=4) [@microhobby](https://www.github.com/microhobby) | - - -# List of Deprecated templates - -| ![](assets/img/unogtk.png?raw=true) | .NET 6 C# Uno Platform Skia.GTK | .NET 6.0 | C# | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2)  ![](assets/img/x8664.png?raw=true&id=2) | [dotnetUno](./dotnetUno) | -| ![](assets/img/unofbdrm.png?raw=true) | .NET 6 C# Uno Platform Frame Buffer | .NET 6.0 | C# | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [dotnetUnoFrameBuffer](./dotnetUnoFrameBuffer) | ![](https://avatars.githubusercontent.com/u/2633321?v=4) [@microhobby](https://www.github.com/microhobby) | - - -For the reason of deprecation and how to proceed with the update of this template, please check the [DEPRECATED.md file](./DEPRECATED.md). +# VS Code Torizon Templates + +This repository maintains the templates used in conjunction with the [VS Code Torizon Integrated Development Environment Extension](https://developer.toradex.com/torizon/application-development/ide-extension/). Focusing in the VS Code for automation between the development environment for remote debug, remote deploy of containerized applications for Toradex TorizonCore easy-to-use Industrial Linux Software Platform. + +## Toradex Supported Templates + +> ℹ️ **Toradex Supported Templates** are templates with development stacks commonly used by customers of the Torizon platform and are maintained by the Torizon team at Toradex. + +> ⚠️ Support for **x86-64** and **riscv64** architectures are experimental. + +| TEMPLATE | DESCRIPTION | RUNTIME | LANGUAGE | HW ARCH | FOLDER | +| -------- | ----------- | ------- | -------- | ------- | ------ | +| ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/cppconsole.png?raw=true) | C++ Makefile Console Application | libc | C++ | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) ![](assets/img/riscv64.png?raw=true&id=2) ![](assets/img/x8664.png?raw=true&id=2) | [cppConsole](./cppConsole) | +| ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/cmakeconsole.png?raw=true) | C++ CMake Console Application | libc | C++ | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [cmakeConsole](./cmakeConsole) | +| ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/qt6qml.png?raw=true) | C++ Qt 6 QML Application | Qt 6 | C++ / QML | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2)  ![](assets/img/x8664.png?raw=true&id=2) | [cppQML](./cppQML) | +| ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/dotnetconsole.png?raw=true) | .NET 8 C# Console Application | .NET 8.0 | C# | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2)  ![](assets/img/x8664.png?raw=true&id=2) | [dotnetConsole](./dotnetConsole) | +| ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/aspnetblazor.png?raw=true) | ASP.NET 8 Blazor Application | ASP.NET 8.0 | C# | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2)  ![](assets/img/x8664.png?raw=true&id=2) | [aspnetBlazor](./aspnetBlazor) | +| ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/python3console.png?raw=true) | Python 3 Console Application | Python 3 | Python 3 | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [python3Console](./python3Console) | +| ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/genericTemplate.png?raw=true) | Generic Template (Without Language) | None | None | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) ![](assets/img/riscv64.png?raw=true&id=2) ![](assets/img/x8664.png?raw=true&id=2) | [genericTemplate](./genericTemplate) | + +# Partner Templates + +Partner templates are contributions that come from [Toradex partner network](https://www.toradex.com/support/partner-network) associates: + +| TEMPLATE | DESCRIPTION | RUNTIME | LANGUAGE | HW ARCH | FOLDER | +| -------- | ----------- | ------- | -------- | ------- | ------ | +| ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/slint-cpp.png?raw=true) | C++ Slint Application | Slint 1.0 | C++ | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [cppSlint](./cppSlint) | +| ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/slint-rust.png?raw=true) | Rust Slint Application | Slint 1.0 | Rust | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [rustSlint](./rustSlint) | + +# Contributing + +We encourage you to also contribute templates. The community supported templates can also be used in the [VS Code Torizon Integrated Development Environment Extension](https://developer.toradex.com/torizon/application-development/ide-extension/): + +* [Code of Conduct](./CODE_OF_CONDUCT.md) +* [How to Contribute](./CONTRIBUTING.md) + +## Community Supported Templates + +> ⚠️ **Community Supported Templates** are templates with emerging development stacks or unstable technology stacks and are maintained by the Torizon community. + +| TEMPLATE | DESCRIPTION | RUNTIME | LANGUAGE | HW ARCH | FOLDER | CONTRIBUTOR | +| -------- | ----------- | ------- | -------- | ------- | ------ | ----------- | +| ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/rust-console.png?raw=true) | Rust Console Application | libc | Rust | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [rustConsole](./rustConsole) | ![](https://avatars.githubusercontent.com/u/19845403?v=4&s=64) [@skkywalker](https://www.github.com/skkywalker) | +| ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/jframe.png?raw=true) | Java Swing JFrame Application | JRE | Java | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [javaForms](./javaForms) | ![](https://avatars.githubusercontent.com/u/2633321?v=4&s=64) [@microhobby](https://www.github.com/microhobby) | +| ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/nodejsts.png?raw=true) | Node.js TypeScript Application | Node.js | TypeScript | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [nodeJSTypeScript](./nodeJSTypeScript) | ![](https://avatars.githubusercontent.com/u/2633321?v=4&s=64) [@microhobby](https://www.github.com/microhobby) | +| ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/electronjs.png?raw=true) | Node.js JavaScript Electron Application | Electron | JavaScript | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [nodeElectron](./nodeElectron) | ![](https://avatars.githubusercontent.com/u/2633321?v=4&s=64) [@microhobby](https://www.github.com/microhobby) | +| ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/monowinforms.png?raw=true) | Mono 4.7 C# Windows Forms Application | .NET 4.7 | C# | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [monoCsharpForms](./monoCsharpForms) | ![](https://avatars.githubusercontent.com/u/2633321?v=4&s=64) [@microhobby](https://www.github.com/microhobby) | +| ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/avaloniafbdrm.png?raw=true) | .NET 8 C# Avalonia Frame Buffer DRM | .NET 8.0 | C# | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [dotnetAvaloniaFrameBuffer](./dotnetAvaloniaFrameBuffer) | ![](https://avatars.githubusercontent.com/u/2633321?v=4&s=64) [@microhobby](https://www.github.com/microhobby) | +| ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/avaloniagtk.png?raw=true) | .NET 8 C# Avalonia GTK MVVM | .NET 8.0 | C# | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [dotnetAvalonia](./dotnetAvalonia) | ![](https://avatars.githubusercontent.com/u/2633321?v=4&s=64) [@microhobby](https://www.github.com/microhobby) | +| ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/gambasform.png?raw=true) | Gambas3 Form Project | Gambas3 | Visual Basic | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [gambasForms](./gambasForms) | ![](https://avatars.githubusercontent.com/u/2633321?v=4&s=64) [@microhobby](https://www.github.com/microhobby) | +| ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/python3console.png?raw=true) | Python 3 Pyside 2(Qt5) QML | Pyside 2 | Python 3 | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [python3Pyside2QML](./python3Pyside2QML) | ![](https://github.com/toradex/vscode-torizon-templates-documentation/blob/main/thumbnails/none.png?raw=true) [@andreriesco](https://www.github.com/andreriesco) | +| ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/cconsole.png?raw=true) | C Makefile Console Application | libc | C | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) ![](assets/img/riscv64.png?raw=true&id=2) ![](assets/img/x8664.png?raw=true&id=2) | [cConsole](./cConsole) | ![](https://avatars.githubusercontent.com/u/19562097?v=4&s=64) [@hiagofranco](https://www.github.com/hiagofranco) | +| ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/zig-console.png?raw=true) | Zig Console Application | no-libc | Zig | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [zigConsole](./zigConsole) | ![](https://avatars.githubusercontent.com/u/6756180?v=4&s=64) [@kassane](https://www.github.com/kassane) | +| ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/unogtk5.png?raw=true) | .NET 8 C# Uno 5 Platform Skia.GTK | .NET 8.0 | C# | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [dotnetUno5](./dotnetUno5) | ![](https://avatars.githubusercontent.com/u/2633321?v=4&s=64) [@microhobby](https://www.github.com/microhobby) | +| ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/unofbdrm5.png?raw=true) | .NET 8 C# Uno 5 Platform Frame Buffer | .NET 8.0 | C# | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [dotnetUno5FrameBuffer](./dotnetUno5FrameBuffer) | ![](https://avatars.githubusercontent.com/u/2633321?v=4&s=64) [@microhobby](https://www.github.com/microhobby) | + +# List of Deprecated templates + +| TEMPLATE | DESCRIPTION | RUNTIME | LANGUAGE | HW ARCH | FOLDER | CONTRIBUTOR | +| -------- | ----------- | ------- | -------- | ------- | ------ | ----------- | +| ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/unogtk.png?raw=true) | .NET 6 C# Uno Platform Skia.GTK | .NET 6.0 | C# | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2)  ![](assets/img/x8664.png?raw=true&id=2) | [dotnetUno](./dotnetUno) | ![](https://avatars.githubusercontent.com/u/2633321?v=4&s=64&s=64) [@microhobby](https://www.github.com/microhobby) | +| ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/unofbdrm.png?raw=true) | .NET 6 C# Uno Platform Frame Buffer | .NET 6.0 | C# | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [dotnetUnoFrameBuffer](./dotnetUnoFrameBuffer) | ![](https://avatars.githubusercontent.com/u/2633321?v=4&s=64) [@microhobby](https://www.github.com/microhobby) | + +For the reason of deprecation and how to proceed with the update of this template, please check the [DEPRECATED.md](./DEPRECATED.md) file. From 1086f236bb22c3505c170676d5995c0d76182d1b Mon Sep 17 00:00:00 2001 From: Matheus Castello Date: Thu, 10 Oct 2024 00:02:35 -0300 Subject: [PATCH 09/34] dotnetUno5FrameBuffer: Dockerfile: Fix identation Signed-off-by: Matheus Castello --- dotnetUno5FrameBuffer/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dotnetUno5FrameBuffer/Dockerfile b/dotnetUno5FrameBuffer/Dockerfile index 217043c53..1bfb9fe50 100644 --- a/dotnetUno5FrameBuffer/Dockerfile +++ b/dotnetUno5FrameBuffer/Dockerfile @@ -40,7 +40,7 @@ dotnet publish -c Release -r linux-${IMAGE_ARCH} --no-self-contained # BUILD ------------------------------------------------------------------------ # DOTNET ----------------------------------------------------------------------- - FROM --platform=linux/${IMAGE_ARCH} \ +FROM --platform=linux/${IMAGE_ARCH} \ commontorizon/dotnet:${DOTNET_BASE_VERSION} AS Dotnet # DEPLOY ----------------------------------------------------------------------- From 3c2db6abac85588c4148897924fb62717c744831 Mon Sep 17 00:00:00 2001 From: Leonardo Graboski Veiga Date: Tue, 5 Nov 2024 14:19:51 -0300 Subject: [PATCH 10/34] contributing: add how to test new template Signed-off-by: Leonardo Graboski Veiga --- CONTRIBUTING.md | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 901081652..519e486b7 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -60,7 +60,7 @@ The purpose of `Dockerfile.sdk` is to create an image with the cross toolchain S > ⚠️ The `Dockerfile.sdk` file is needed only if the application framework or runtime only runs machine code. -#### Scripts +### Scripts For some templates, complex and very specific tasks are required. For these cases add a new script in the [scripts](./scripts) folder. @@ -68,7 +68,7 @@ The idea is that the project created from the template should be independent of > ⚠️ Check the [createFromTemplate.ps1](./scripts/createFromTemplate.ps1) script for reference. -#### Substitution tags +### Substitution tags Substitution tags can be used inside files and as folders names to rename stuff needed by the project template. There are two substitution tags used by Torizon IDE Extension: @@ -78,7 +78,7 @@ Substitution tags can be used inside files and as folders names to rename stuff > ⚠️ Check the [createFromTemplate.ps1](./scripts/createFromTemplate.ps1) script for reference. -#### Dot VS Code Folder +### Dot VS Code Folder In the `.vscode` folder the following files are expected: @@ -108,7 +108,7 @@ In the `.vscode` folder the following files are expected: > ℹ️ All these are VS Code related files, check the Microsoft official documentation to know more: [Documentation for Visual Studio Code](https://code.visualstudio.com/docs) -#### Dot Conf Folder +### Dot Conf Folder In the `.conf` folder the following files are expected: @@ -129,7 +129,7 @@ In the `.conf` folder the following files are expected: > ⚠️ The "private" and public keys used on Torizon IDE Extension projects are only for debug purposes! -#### Dot Doc Folder +### Dot Doc Folder In the `.doc` folder is present the documentation specific of each template. @@ -139,6 +139,20 @@ This documentation should give some explanation of how the code is being built a The media (images, videos, GIFs and so on) of the template documentation should be stored on the [toradex/vscode-torizon-templates-documentation](https://github.com/toradex/vscode-torizon-templates-documentation/]) GitHub repository +### Root Folder + +In the `.` (root) folder, there are two files that must be edited when a template is created: + +- [README.md](./README.md): you must add the template to the list of Partner or Community templates. +- [templates.json](./templates.json): you must add a template entry to this file. When a new project is created, the IDE uses this file to list the template for the users. + +## Testing a New Template + +To test a new template, you must instruct the Torizon IDE Extension to use your repository. Export the following environment variables and open VS Code from a terminal: + +- `TEST_TEMPLATES_GIT_REPO`: path to your local repository or Git URL to your remote repository. +- `TEST_TEMPLATES_GIT_REPO_BRANCH`: Git branch where the template to be tested is being developed. The tip of the branch will be fetched. +- `TEST_TEMPLATES_GIT_TAG`: this tag is reserved for the IDE usage. For testing, set the value to be the same as `TEST_TEMPLATES_GIT_REPO_BRANCH`. ## Creating a Pull Request From 5a2b8de999f69105b7786c31fb57aaece4ddd555 Mon Sep 17 00:00:00 2001 From: Drew Moseley Date: Wed, 27 Nov 2024 10:18:36 -0500 Subject: [PATCH 11/34] Use quotes for the DOCKER_REGISTRY variable. This avoids the following error in the terminal tab on initialization: * Executing task: DOCKER_HOST= source ./.conf/tcb-env-setup.sh -s /work/dmoseley/scratch/hellotcb/storage -t 3.11.0 ./.conf/tcb-env-setup.sh: line 9: [: =: unary operator expected Signed-off-by: Drew Moseley --- scripts/bash/tcb-env-setup.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/bash/tcb-env-setup.sh b/scripts/bash/tcb-env-setup.sh index 704295828..7bb83aed8 100755 --- a/scripts/bash/tcb-env-setup.sh +++ b/scripts/bash/tcb-env-setup.sh @@ -6,7 +6,7 @@ shopt -s expand_aliases # For DockerHub the variable can be empty, by tcb platform push command # requires a value, so passing the default DockerHub registry to it if it is # empty -if [ $DOCKER_REGISTRY = "" ]; then +if [ "$DOCKER_REGISTRY" = "" ]; then export DOCKER_REGISTRY="registry-1.docker.io" fi From 300900376c451a6273bee33111944b6943482fdd Mon Sep 17 00:00:00 2001 From: Drew Moseley Date: Tue, 3 Dec 2024 12:56:02 -0500 Subject: [PATCH 12/34] build-application.yaml: Fix path to task.ps1 Signed-off-by: Drew Moseley --- assets/github/workflows/build-application.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/github/workflows/build-application.yaml b/assets/github/workflows/build-application.yaml index cc49179e5..e523da606 100644 --- a/assets/github/workflows/build-application.yaml +++ b/assets/github/workflows/build-application.yaml @@ -49,7 +49,7 @@ jobs: PLATFORM_CLIENT_ID: ${{ secrets.PLATFORM_CLIENT_ID }} PLATFORM_CLIENT_SECRET: ${{ secrets.PLATFORM_CLIENT_SECRET }} run: | - ./vscode/tasks.ps1 run docker-login + ./.vscode/tasks.ps1 run docker-login ./.vscode/tasks.ps1 run run-torizon-binfmt ./.vscode/tasks.ps1 run tcb-platform-publish From bd7e10cb6b115812871ec91bc5835c93e1bb58fc Mon Sep 17 00:00:00 2001 From: Matheus Castello Date: Thu, 24 Oct 2024 10:07:21 -0300 Subject: [PATCH 13/34] cmakeConsole: Drop commontorizon of the Toradex supported Signed-off-by: Matheus Castello --- cmakeConsole/.vscode/launch.json | 44 --------- cmakeConsole/.vscode/tasks.json | 150 +------------------------------ cmakeConsole/Dockerfile | 8 +- cmakeConsole/Dockerfile.debug | 4 +- cmakeConsole/Dockerfile.sdk | 4 +- 5 files changed, 9 insertions(+), 201 deletions(-) diff --git a/cmakeConsole/.vscode/launch.json b/cmakeConsole/.vscode/launch.json index 47e20a1ae..233717af5 100644 --- a/cmakeConsole/.vscode/launch.json +++ b/cmakeConsole/.vscode/launch.json @@ -26,50 +26,6 @@ ], "preLaunchTask": "build-debug-local" }, - { - "name": "Torizon AMD64", - "type": "cppdbg", - "request": "launch", - "program": "${config:torizon_app_root}/__change__", - "args": [], - "stopAtEntry": false, - "cwd": "${config:torizon_app_root}", - "environment": [], - "externalConsole": false, - "internalConsoleOptions": "openOnSessionStart", - "sourceFileMap": { - "${config:torizon_app_root}": "${workspaceFolder}" - }, - "pipeTransport": { - "debuggerPath": "/usr/bin/gdb", - "pipeProgram": "ssh", - "pipeArgs": [ - "-T", - "-q", - "-p", - "${config:torizon_debug_ssh_port}", - "-o", - "StrictHostKeyChecking=no", - "-o", - "UserKnownHostsFile /dev/null", - "${config:torizon_run_as}@${config:torizon_ip}" // user@device - ] - }, - "MIMode": "gdb", - "setupCommands": [ - { - "description": "Enable pretty-printing for gdb", - "text": "-enable-pretty-printing", - "ignoreFailures": true - }, - { - "description": "Set Disassembly Flavor to Intel", - "text": "-gdb-set disassembly-flavor intel", - "ignoreFailures": true - } - ], - "preLaunchTask": "deploy-torizon-amd64" - }, { "name": "Torizon ARMv7", "type": "cppdbg", diff --git a/cmakeConsole/.vscode/tasks.json b/cmakeConsole/.vscode/tasks.json index e6606d45d..fcf1d6a8b 100644 --- a/cmakeConsole/.vscode/tasks.json +++ b/cmakeConsole/.vscode/tasks.json @@ -374,155 +374,7 @@ "panel": "shared", "group": "build-execution" } - }, - { - "label": "build-configure-amd64", - "hide": true, - "command": "DOCKER_HOST=", - "type": "shell", - "args": [ - "docker", - "run", - "--rm", - "-v", - "${workspaceFolder}:${config:torizon_app_root}", - "cross-toolchain-amd64-__container__", - "cmake", - "-DCMAKE_BUILD_TYPE=Debug", - "-DCMAKE_CXX_COMPILER=x86_64-linux-gnu-g++", - "-DCMAKE_C_COMPILER=x86_64-linux-gnu-gcc", - "-Bbuild-amd64" - ], - "problemMatcher": [ - "$gcc" - ], - "dependsOrder": "sequence", - "dependsOn": [ - "build-container-image-sdk-amd64" - ], - "icon": { - "id": "tools", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, - { - "label": "build-debug-amd64", - "detail": "Build a debug version of the application for amd64 using\nthe toolchain from the SDK container.", - "command": "DOCKER_HOST=", - "type": "shell", - "args": [ - "docker", - "run", - "--rm", - "-v", - "${workspaceFolder}:${config:torizon_app_root}", - "cross-toolchain-amd64-__container__", - "cmake", - "--build", - "build-amd64" - ], - "problemMatcher": [ - "$gcc" - ], - "dependsOrder": "sequence", - "dependsOn": [ - "build-configure-amd64" - ], - "icon": { - "id": "tools", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, - { - "label": "deploy-torizon-amd64", - "detail": "", - "hide": true, - "command": "rsync", - "type": "process", - "args": [ - "-P", - "-av", - "-e", - "ssh -p ${config:torizon_debug_ssh_port} -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null", - "${workspaceFolder}/build-amd64/bin/", - "${config:torizon_run_as}@${config:torizon_ip}:${config:torizon_app_root}" - ], - "dependsOn": [ - "validate-settings", - "validate-arch-amd64", - "copy-docker-compose", - "pre-cleanup", - "build-debug-amd64", - "build-container-torizon-debug-amd64", - "push-container-torizon-debug-amd64", - "pull-container-torizon-debug-amd64", - "run-container-torizon-debug-amd64" - ], - "dependsOrder": "sequence", - "problemMatcher": "$msCompile", - "icon": { - "id": "debug-alt", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, - { - "label": "clean-amd64", - "detail": "Clean the build folder for amd64 using the\ncontainer SDK toolchain.", - "command": "DOCKER_HOST=", - "type": "shell", - "args": [ - "docker", - "run", - "--rm", - "-v", - "${workspaceFolder}:${config:torizon_app_root}", - "cross-toolchain-amd64-__container__", - "cmake", - "--build", - "build-amd64", - "--target", - "clean" - ], - "problemMatcher": [ - "$gcc" - ], - "dependsOrder": "sequence", - "dependsOn": [ - "build-container-image-sdk-arm64" - ], - "icon": { - "id": "trash", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, + } ], "inputs": [] } diff --git a/cmakeConsole/Dockerfile b/cmakeConsole/Dockerfile index 383ed3495..17edec185 100644 --- a/cmakeConsole/Dockerfile +++ b/cmakeConsole/Dockerfile @@ -1,5 +1,5 @@ -ARG CROSS_SDK_BASE_TAG=3.3.1 -ARG BASE_VERSION=3.3.1-bookworm +ARG CROSS_SDK_BASE_TAG=3.2.0 +ARG BASE_VERSION=3.5.0 ## # Board architecture ## @@ -12,7 +12,7 @@ ARG APP_ROOT= # BUILD ------------------------------------------------------------------------ -FROM commontorizon/debian-cross-toolchain-${IMAGE_ARCH}:${CROSS_SDK_BASE_TAG} AS build +FROM torizon/debian-cross-toolchain-${IMAGE_ARCH}:${CROSS_SDK_BASE_TAG} AS build ARG APP_ROOT ARG IMAGE_ARCH @@ -51,7 +51,7 @@ RUN cmake --build build-${IMAGE_ARCH} ## # Deploy Step ## -FROM --platform=linux/${IMAGE_ARCH} commontorizon/debian:${BASE_VERSION} AS deploy +FROM --platform=linux/${IMAGE_ARCH} torizon/debian:${BASE_VERSION} AS deploy ARG IMAGE_ARCH ARG APP_ROOT diff --git a/cmakeConsole/Dockerfile.debug b/cmakeConsole/Dockerfile.debug index c0e2a76e1..e94ed7ed4 100644 --- a/cmakeConsole/Dockerfile.debug +++ b/cmakeConsole/Dockerfile.debug @@ -9,7 +9,7 @@ ARG IMAGE_ARCH= ## # Base container version ## -ARG BASE_VERSION=3.3.1-bookworm +ARG BASE_VERSION=3.5.0 ## # Debug port @@ -31,7 +31,7 @@ ARG APP_ROOT= # Deploy Step ## FROM --platform=linux/${IMAGE_ARCH} \ - commontorizon/debian:${BASE_VERSION} AS debug + torizon/debian:${BASE_VERSION} AS debug ARG IMAGE_ARCH ARG DEBUG_SSH_PORT diff --git a/cmakeConsole/Dockerfile.sdk b/cmakeConsole/Dockerfile.sdk index fe85dfc67..18aecab14 100644 --- a/cmakeConsole/Dockerfile.sdk +++ b/cmakeConsole/Dockerfile.sdk @@ -1,5 +1,5 @@ # ARGUMENTS -------------------------------------------------------------------- -ARG CROSS_SDK_BASE_TAG=3.3.1 +ARG CROSS_SDK_BASE_TAG=3.2.0 ## # Board architecture @@ -13,7 +13,7 @@ ARG APP_ROOT= # BUILD ------------------------------------------------------------------------ -FROM commontorizon/debian-cross-toolchain-${IMAGE_ARCH}:${CROSS_SDK_BASE_TAG} +FROM torizon/debian-cross-toolchain-${IMAGE_ARCH}:${CROSS_SDK_BASE_TAG} ARG APP_ROOT ARG IMAGE_ARCH From 5e16ff9bbf4bf33c4496ab01446ea9f0b0402c12 Mon Sep 17 00:00:00 2001 From: Matheus Castello Date: Thu, 24 Oct 2024 10:09:21 -0300 Subject: [PATCH 14/34] cppConsole: Drop commontorizon from Toradex supported side effect, drop x86_64 support Signed-off-by: Matheus Castello --- cppConsole/.vscode/launch.json | 44 ------ cppConsole/.vscode/tasks.json | 262 +-------------------------------- cppConsole/Dockerfile | 8 +- cppConsole/Dockerfile.debug | 4 +- cppConsole/Dockerfile.sdk | 4 +- 5 files changed, 9 insertions(+), 313 deletions(-) diff --git a/cppConsole/.vscode/launch.json b/cppConsole/.vscode/launch.json index 4f2628d96..dbb4eda52 100644 --- a/cppConsole/.vscode/launch.json +++ b/cppConsole/.vscode/launch.json @@ -26,50 +26,6 @@ ], "preLaunchTask": "build-debug-local" }, - { - "name": "Torizon riscv64", - "type": "cppdbg", - "request": "launch", - "program": "${config:torizon_app_root}/__change__", - "args": [], - "stopAtEntry": false, - "cwd": "${config:torizon_app_root}", - "environment": [], - "externalConsole": false, - "internalConsoleOptions": "openOnSessionStart", - "sourceFileMap": { - "${config:torizon_app_root}": "${workspaceFolder}" - }, - "pipeTransport": { - "debuggerPath": "/usr/bin/gdb", - "pipeProgram": "ssh", - "pipeArgs": [ - "-T", - "-q", - "-p", - "${config:torizon_debug_ssh_port}", - "-o", - "StrictHostKeyChecking=no", - "-o", - "UserKnownHostsFile /dev/null", - "${config:torizon_run_as}@${config:torizon_ip}" // user@device - ] - }, - "MIMode": "gdb", - "setupCommands": [ - { - "description": "Enable pretty-printing for gdb", - "text": "-enable-pretty-printing", - "ignoreFailures": true - }, - { - "description": "Set Disassembly Flavor to Intel", - "text": "-gdb-set disassembly-flavor intel", - "ignoreFailures": true - } - ], - "preLaunchTask": "deploy-torizon-riscv64" - }, { "name": "Torizon AMD64", "type": "cppdbg", diff --git a/cppConsole/.vscode/tasks.json b/cppConsole/.vscode/tasks.json index 653a19a16..83cd53d55 100644 --- a/cppConsole/.vscode/tasks.json +++ b/cppConsole/.vscode/tasks.json @@ -25,33 +25,6 @@ "group": "build-execution" } }, - { - "label": "build-makedir-amd64", - "hide": true, - "command": "make", - "type": "shell", - "args": [ - "ARCH=amd64", - "makedir" - ], - "problemMatcher": [ - "$gcc" - ], - "dependsOn": [ - "build-container-image-sdk-amd64" - ], - "icon": { - "id": "tools", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, { "label": "build-makedir-arm", "hide": true, @@ -106,33 +79,6 @@ "group": "build-execution" } }, - { - "label": "build-makedir-riscv64", - "hide": true, - "command": "make", - "type": "shell", - "args": [ - "ARCH=riscv64", - "makedir" - ], - "problemMatcher": [ - "$gcc" - ], - "dependsOn": [ - "build-container-image-sdk-riscv64" - ], - "icon": { - "id": "tools", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, { "label": "build-debug-local", "detail": "Build a debug version of the application for amd64 using\nthe toolchain installed in the host.", @@ -312,158 +258,6 @@ "group": "build-execution" } }, - { - "label": "build-debug-amd64", - "detail": "Build a debug version of the application for amd64 using\nthe toolchain from the SDK container.", - "command": "DOCKER_HOST=", - "type": "shell", - "args": [ - "docker", - "run", - "--rm", - "-v", - "${workspaceFolder}:${config:torizon_app_root}", - "cross-toolchain-amd64-__container__", - "make", - "ARCH=amd64", - "CC=x86_64-linux-gnu-g++", - "debug" - ], - "problemMatcher": [ - "$gcc" - ], - "dependsOrder": "sequence", - "dependsOn": [ - "build-makedir-amd64" - ], - "icon": { - "id": "tools", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, - { - "label": "deploy-torizon-amd64", - "detail": "", - "hide": true, - "command": "rsync", - "type": "process", - "args": [ - "-P", - "-av", - "-e", - "ssh -p ${config:torizon_debug_ssh_port} -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null", - "${workspaceFolder}/build-amd64/debug/", - "${config:torizon_run_as}@${config:torizon_ip}:${config:torizon_app_root}" - ], - "dependsOn": [ - "validate-settings", - "validate-arch-amd64", - "copy-docker-compose", - "pre-cleanup", - "build-debug-amd64", - "build-container-torizon-debug-amd64", - "push-container-torizon-debug-amd64", - "pull-container-torizon-debug-amd64", - "run-container-torizon-debug-amd64", - "pos-cleanup" - ], - "dependsOrder": "sequence", - "problemMatcher": "$msCompile", - "icon": { - "id": "debug-alt", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, - { - "label": "build-debug-riscv64", - "detail": "Build a debug version of the application for riscv64 using\nthe toolchain from the SDK container.", - "command": "DOCKER_HOST=", - "type": "shell", - "args": [ - "docker", - "run", - "--rm", - "-v", - "${workspaceFolder}:${config:torizon_app_root}", - "cross-toolchain-riscv64-__container__", - "make", - "ARCH=riscv64", - "CC=riscv64-linux-gnu-g++", - "debug" - ], - "problemMatcher": [ - "$gcc" - ], - "dependsOrder": "sequence", - "dependsOn": [ - "build-makedir-riscv64" - ], - "icon": { - "id": "tools", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, - { - "label": "deploy-torizon-riscv64", - "detail": "", - "hide": true, - "command": "rsync", - "type": "process", - "args": [ - "-P", - "-av", - "-e", - "ssh -p ${config:torizon_debug_ssh_port} -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null", - "${workspaceFolder}/build-riscv64/debug/", - "${config:torizon_run_as}@${config:torizon_ip}:${config:torizon_app_root}" - ], - "dependsOn": [ - "validate-settings", - "validate-arch-riscv64", - "copy-docker-compose", - "pre-cleanup", - "build-debug-riscv64", - "build-container-torizon-debug-riscv64", - "push-container-torizon-debug-riscv64", - "pull-container-torizon-debug-riscv64", - "run-container-torizon-debug-riscv64", - "pos-cleanup" - ], - "dependsOrder": "sequence", - "problemMatcher": "$msCompile", - "icon": { - "id": "debug-alt", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, { "label": "clean-local", "detail": "Clean the local application build directory. `make clean`", @@ -541,61 +335,7 @@ "panel": "shared", "group": "build-execution" } - }, - { - "label": "clean-amd64", - "detail": "Clean the amd64 application build directory. `make clean`", - "command": "make", - "type": "shell", - "args": [ - "clean", - "ARCH=amd64" - ], - "problemMatcher": [ - "$gcc" - ], - "dependsOrder": "sequence", - "dependsOn": [ - ], - "icon": { - "id": "trash", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, - { - "label": "clean-riscv64", - "detail": "Clean the riscv64 application build directory. `make clean`", - "command": "make", - "type": "shell", - "args": [ - "clean", - "ARCH=riscv64" - ], - "problemMatcher": [ - "$gcc" - ], - "dependsOrder": "sequence", - "dependsOn": [ - ], - "icon": { - "id": "trash", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, + } ], "inputs": [] } diff --git a/cppConsole/Dockerfile b/cppConsole/Dockerfile index c7d126160..5ffac8c78 100644 --- a/cppConsole/Dockerfile +++ b/cppConsole/Dockerfile @@ -1,5 +1,5 @@ -ARG CROSS_SDK_BASE_TAG=3.3.1 -ARG BASE_VERSION=3.3.1-bookworm +ARG CROSS_SDK_BASE_TAG=3.2.0 +ARG BASE_VERSION=3.5.0 ## # Board architecture ## @@ -12,7 +12,7 @@ ARG APP_ROOT= # BUILD ------------------------------------------------------------------------ -FROM commontorizon/debian-cross-toolchain-${IMAGE_ARCH}:${CROSS_SDK_BASE_TAG} AS build +FROM torizon/debian-cross-toolchain-${IMAGE_ARCH}:${CROSS_SDK_BASE_TAG} AS build ARG APP_ROOT ARG IMAGE_ARCH @@ -49,7 +49,7 @@ RUN if [ "$IMAGE_ARCH" = "arm64" ] ; then \ # DEPLOY ----------------------------------------------------------------------- -FROM --platform=linux/${IMAGE_ARCH} commontorizon/debian:${BASE_VERSION} AS deploy +FROM --platform=linux/${IMAGE_ARCH} torizon/debian:${BASE_VERSION} AS deploy ARG IMAGE_ARCH ARG APP_ROOT diff --git a/cppConsole/Dockerfile.debug b/cppConsole/Dockerfile.debug index 2d55ebf25..57d055663 100644 --- a/cppConsole/Dockerfile.debug +++ b/cppConsole/Dockerfile.debug @@ -9,7 +9,7 @@ ARG IMAGE_ARCH= ## # Base container version ## -ARG BASE_VERSION=3.3.1-bookworm +ARG BASE_VERSION=3.5.0 ## # Debug port @@ -32,7 +32,7 @@ ARG APP_ROOT= # Deploy Step ## FROM --platform=linux/${IMAGE_ARCH} \ - commontorizon/debian:${BASE_VERSION} AS debug + torizon/debian:${BASE_VERSION} AS debug ARG IMAGE_ARCH ARG DEBUG_SSH_PORT diff --git a/cppConsole/Dockerfile.sdk b/cppConsole/Dockerfile.sdk index a77d7a4c2..4671f398b 100644 --- a/cppConsole/Dockerfile.sdk +++ b/cppConsole/Dockerfile.sdk @@ -1,5 +1,5 @@ # ARGUMENTS -------------------------------------------------------------------- -ARG CROSS_SDK_BASE_TAG=3.3.1 +ARG CROSS_SDK_BASE_TAG=3.2.0 ## # Board architecture @@ -13,7 +13,7 @@ ARG APP_ROOT= # BUILD ------------------------------------------------------------------------ -FROM commontorizon/debian-cross-toolchain-${IMAGE_ARCH}:${CROSS_SDK_BASE_TAG} +FROM torizon/debian-cross-toolchain-${IMAGE_ARCH}:${CROSS_SDK_BASE_TAG} ARG APP_ROOT ARG IMAGE_ARCH From 277465a884254dbb0f8e291c4226c02c2877d56f Mon Sep 17 00:00:00 2001 From: Matheus Castello Date: Thu, 24 Oct 2024 10:34:09 -0300 Subject: [PATCH 15/34] cppQML: Drop commontorizon from Toradex supported Signed-off-by: Matheus Castello --- cppQML/.vscode/launch.json | 49 ------- cppQML/.vscode/settings.json | 2 +- cppQML/.vscode/tasks.json | 247 ----------------------------------- cppQML/Dockerfile | 8 +- cppQML/Dockerfile.debug | 4 +- cppQML/Dockerfile.sdk | 4 +- cppQML/docker-compose.yml | 2 +- 7 files changed, 10 insertions(+), 306 deletions(-) diff --git a/cppQML/.vscode/launch.json b/cppQML/.vscode/launch.json index f63655d73..bb4bb0285 100644 --- a/cppQML/.vscode/launch.json +++ b/cppQML/.vscode/launch.json @@ -31,55 +31,6 @@ ], "preLaunchTask": "build-debug-local" }, - { - "name": "Torizon AMD64", - "type": "cppdbg", - "request": "launch", - "program": "${config:torizon_app_root}/__change__", - "args": [], - "stopAtEntry": false, - "cwd": "${config:torizon_app_root}", - "environment": [ - { - "name": "QT_LOGGING_RULES", - "value": "*.debug=true; qt.*.debug=false" - } - ], - "externalConsole": false, - "internalConsoleOptions": "openOnSessionStart", - "sourceFileMap": { - "${config:torizon_app_root}": "${workspaceFolder}" - }, - "pipeTransport": { - "debuggerPath": "/usr/bin/gdb", - "pipeProgram": "ssh", - "pipeArgs": [ - "-T", - "-q", - "-p", - "${config:torizon_debug_ssh_port}", - "-o", - "StrictHostKeyChecking=no", - "-o", - "UserKnownHostsFile /dev/null", - "${config:torizon_run_as}@${config:torizon_ip}" // user@device - ] - }, - "MIMode": "gdb", - "setupCommands": [ - { - "description": "Enable pretty-printing for gdb", - "text": "-enable-pretty-printing", - "ignoreFailures": true - }, - { - "description": "Set Disassembly Flavor to Intel", - "text": "-gdb-set disassembly-flavor intel", - "ignoreFailures": true - } - ], - "preLaunchTask": "deploy-torizon-amd64" - }, { "name": "Torizon ARMv8", "type": "cppdbg", diff --git a/cppQML/.vscode/settings.json b/cppQML/.vscode/settings.json index 4ad67394e..76a2df458 100644 --- a/cppQML/.vscode/settings.json +++ b/cppQML/.vscode/settings.json @@ -16,7 +16,7 @@ "torizon_app_root": "/home/torizon/app", "tcb.packageName": "__change__", "tcb.version": "3.11.0", - "torizon.gpuPrefixRC": true, + "torizon.gpuPrefixRC": false, "qtForPython.rcc.liveExecution.enabled": false, "qtForPython.qmlls.path": "/usr/lib/qt6/bin/qmlls", "qtForPython.qmlls.enabled": true, diff --git a/cppQML/.vscode/tasks.json b/cppQML/.vscode/tasks.json index 5bff7503b..e400bedf2 100644 --- a/cppQML/.vscode/tasks.json +++ b/cppQML/.vscode/tasks.json @@ -143,44 +143,6 @@ "group": "build-execution" } }, - { - "label": "open-in-qt-creator-debug-amd64", - "detail": "This task first builds the project and then opens it in Qt Creator.\nNeed to have the Qt Creator installed on your system.", - "command": "qtcreator", - "type": "process", - "options": { - "env": { - "QT_QPA_PLATFORM": "xcb", - "QT_QUICK_BACKEND": "software" - } - }, - "args": [ - "${workspaceFolder}", - "-settingspath", - "${workspaceFolder}/.qt", - "-theme", - "dark" - ], - "problemMatcher": [ - "$gcc" - ], - "dependsOrder": "sequence", - "dependsOn": [ - "build-debug-local", - "update-qt-ini-amd64" - ], - "icon": { - "id": "link-external", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, { "label": "kill-redirect-qml-debugger", "detail": "", @@ -346,40 +308,6 @@ "group": "build-execution" } }, - { - "label": "start-gdb-server-remote-amd64", - "detail": "Deploy and run the application for amd64 on the remote\ntarget by using gdbserver.", - "command": "ssh", - "type": "process", - "args": [ - "-p", - "${config:torizon_debug_ssh_port}", - "-o", - "UserKnownHostsFile=/dev/null", - "-o", - "StrictHostKeyChecking=no", - "${config:torizon_run_as}@${config:torizon_ip}", - "cd ${config:torizon_app_root} && export QT_LOGGING_RULES=\"*.debug=true; qt.*.debug=false\" && gdbserver localhost:${config:torizon_debug_port1} __change__ -qmljsdebugger=port:${config:torizon_debug_port2},block,services:DebugMessages,QmlDebugger,V8Debugger,QmlInspector,DebugTranslation" - ], - "dependsOrder": "sequence", - "dependsOn": [ - "kill-redirect-qml-debugger", - "deploy-torizon-amd64", - "redirect-qml-debugger" - ], - "problemMatcher": "$msCompile", - "icon": { - "id": "debug-alt-small", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, { "label": "build-configure-local", "hide": true, @@ -754,152 +682,6 @@ "group": "build-execution" } }, - { - "label": "build-configure-amd64", - "hide": true, - "command": "DOCKER_HOST=", - "type": "shell", - "args": [ - "docker", - "run", - "--rm", - "-v", - "${workspaceFolder}:${config:torizon_app_root}", - "cross-toolchain-amd64-__container__", - "cmake", - "-DCMAKE_BUILD_TYPE=Debug", - "-Bbuild-amd64" - ], - "problemMatcher": [ - "$gcc" - ], - "dependsOrder": "sequence", - "dependsOn": [ - "build-container-image-sdk-amd64" - ], - "icon": { - "id": "tools", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, - { - "label": "build-debug-amd64", - "detail": "Build a debug version of the application for arm64 using\nthe toolchain from the SDK container.", - "command": "DOCKER_HOST=", - "type": "shell", - "args": [ - "docker", - "run", - "--rm", - "-v", - "${workspaceFolder}:${config:torizon_app_root}", - "cross-toolchain-amd64-__container__", - "cmake", - "--build", - "build-amd64" - ], - "problemMatcher": [ - "$gcc" - ], - "dependsOrder": "sequence", - "dependsOn": [ - "build-configure-amd64" - ], - "icon": { - "id": "tools", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, - { - "label": "clean-amd64", - "detail": "Clean the build folder for amd64 using the\ncontainer SDK toolchain.", - "command": "DOCKER_HOST=", - "type": "shell", - "args": [ - "docker", - "run", - "--rm", - "-v", - "${workspaceFolder}:${config:torizon_app_root}", - "cross-toolchain-amd64-__container__", - "cmake", - "--build", - "build-amd64", - "--target", - "clean" - ], - "problemMatcher": [ - "$gcc" - ], - "dependsOrder": "sequence", - "dependsOn": [ - "build-container-image-sdk-amd64" - ], - "icon": { - "id": "trash", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, - { - "label": "deploy-torizon-amd64", - "detail": "", - "hide": true, - "command": "rsync", - "type": "process", - "args": [ - "-P", - "-av", - "-e", - "ssh -p ${config:torizon_debug_ssh_port} -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null", - "${workspaceFolder}/build-amd64/bin/", - "${config:torizon_run_as}@${config:torizon_ip}:${config:torizon_app_root}" - ], - "dependsOn": [ - "validate-settings", - "validate-arch-amd64", - "copy-docker-compose", - "pre-cleanup", - "build-debug-amd64", - "build-container-torizon-debug-amd64", - "push-container-torizon-debug-amd64", - "pull-container-torizon-debug-amd64", - "run-container-torizon-debug-amd64" - ], - "dependsOrder": "sequence", - "problemMatcher": "$msCompile", - "icon": { - "id": "debug-alt", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, { "label": "update-qt-ini-arm64", "detail": "", @@ -958,35 +740,6 @@ "group": "build-execution" } }, - { - "label": "update-qt-ini-amd64", - "detail": "", - "hide": true, - "command": "pwsh", - "type": "process", - "args": [ - "-nop", - "-c", - "${env:HOME}/.apollox/scripts/updateQtCreatorIni.ps1", - "${workspaceFolder}", - "${config:torizon_ip}:${config:torizon_debug_port1}", - "__change__", - "amd64" - ], - "dependsOrder": "sequence", - "problemMatcher": "$msCompile", - "icon": { - "id": "symbol-parameter", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, { "label": "update-qt-ini-local", "detail": "", diff --git a/cppQML/Dockerfile b/cppQML/Dockerfile index fdb8eb7fe..1e1d86020 100644 --- a/cppQML/Dockerfile +++ b/cppQML/Dockerfile @@ -2,11 +2,11 @@ ## # SDK container version ## -ARG SDK_BASE_VERSION=3.3.1 +ARG SDK_BASE_VERSION=3.4.0 ## # Base container version ## -ARG BASE_VERSION=3.3.1 +ARG BASE_VERSION=3.4.0 ## # Board architecture @@ -30,7 +30,7 @@ ARG APP_ROOT= # Build Step ## FROM --platform=linux/${IMAGE_ARCH} \ - commontorizon/qt6-wayland${GPU}:${SDK_BASE_VERSION} AS build + torizon/qt6-wayland${GPU}:${SDK_BASE_VERSION} AS build ARG IMAGE_ARCH ARG GPU @@ -102,7 +102,7 @@ RUN cmake --build build-${IMAGE_ARCH} # Deploy Step ## FROM --platform=linux/${IMAGE_ARCH} \ - commontorizon/qt6-wayland${GPU}:${BASE_VERSION} AS deploy + torizon/qt6-wayland${GPU}:${BASE_VERSION} AS deploy ARG IMAGE_ARCH ARG GPU diff --git a/cppQML/Dockerfile.debug b/cppQML/Dockerfile.debug index ebb2e2770..7c802924c 100644 --- a/cppQML/Dockerfile.debug +++ b/cppQML/Dockerfile.debug @@ -7,7 +7,7 @@ ARG IMAGE_ARCH= ## # Base container version ## -ARG BASE_VERSION=3.3.1 +ARG BASE_VERSION=3.4.0 ## # Debug port @@ -35,7 +35,7 @@ ARG APP_ROOT= # Deploy Step ## FROM --platform=linux/${IMAGE_ARCH} \ - commontorizon/qt6-wayland${GPU}:${BASE_VERSION} AS debug + torizon/qt6-wayland${GPU}:${BASE_VERSION} AS debug ARG IMAGE_ARCH ARG GPU diff --git a/cppQML/Dockerfile.sdk b/cppQML/Dockerfile.sdk index 62f5f2bfa..211c058a4 100644 --- a/cppQML/Dockerfile.sdk +++ b/cppQML/Dockerfile.sdk @@ -7,7 +7,7 @@ ARG IMAGE_ARCH= ## # Base container version ## -ARG BASE_VERSION=3.3.1 +ARG BASE_VERSION=3.4.0 ## # Board GPU vendor prefix @@ -27,7 +27,7 @@ ARG APP_ROOT= # BUild Step ## FROM --platform=linux/${IMAGE_ARCH} \ - commontorizon/qt6-wayland${GPU}:${BASE_VERSION} AS build + torizon/qt6-wayland${GPU}:${BASE_VERSION} AS build ARG IMAGE_ARCH ARG GPU diff --git a/cppQML/docker-compose.yml b/cppQML/docker-compose.yml index 8647066f4..e9ffde736 100644 --- a/cppQML/docker-compose.yml +++ b/cppQML/docker-compose.yml @@ -56,7 +56,7 @@ services: ] weston: - image: commontorizon/weston${GPU}:3.3.2 + image: torizon/weston${GPU}:3.5.0 environment: - ACCEPT_FSL_EULA=1 # Required to get udev events from host udevd via netlink From 6894a6007d3248cfb8b986ae157ee7c8b2a128fe Mon Sep 17 00:00:00 2001 From: Matheus Castello Date: Thu, 24 Oct 2024 11:01:54 -0300 Subject: [PATCH 16/34] dotnetConsole: Drop commontorizon from Toradex supported Side effect drop the x86_64 support from the project Signed-off-by: Matheus Castello --- dotnetConsole/.vscode/launch.json | 27 --------- dotnetConsole/.vscode/tasks.json | 95 ------------------------------- dotnetConsole/Dockerfile | 4 +- dotnetConsole/Dockerfile.debug | 4 +- 4 files changed, 4 insertions(+), 126 deletions(-) diff --git a/dotnetConsole/.vscode/launch.json b/dotnetConsole/.vscode/launch.json index 6381cea03..0cddab4e1 100644 --- a/dotnetConsole/.vscode/launch.json +++ b/dotnetConsole/.vscode/launch.json @@ -17,33 +17,6 @@ "console": "internalConsole", "stopAtEntry": false }, - { - "name": "Torizon AMD64", - "type": "coreclr", - "request": "launch", - "program": "${config:torizon_app_root}/__change__", - "cwd": "${config:torizon_app_root}", - "stopAtEntry": false, - "console": "internalConsole", - "args": [], - "pipeTransport": { - "pipeCwd": "${workspaceFolder}", - "pipeProgram": "ssh", - "pipeArgs": [ - "-T", - "-q", - "-p", - "${config:torizon_debug_ssh_port}", - "-o", - "StrictHostKeyChecking=no", - "-o", - "UserKnownHostsFile /dev/null", - "${config:torizon_run_as}@${config:torizon_ip}" // user@device - ], - "debuggerPath": "/vsdbg/vsdbg" - }, - "preLaunchTask": "deploy-torizon-amd64" - }, { "name": "Torizon ARMv7", "type": "coreclr", diff --git a/dotnetConsole/.vscode/tasks.json b/dotnetConsole/.vscode/tasks.json index f8102712b..c968ec827 100644 --- a/dotnetConsole/.vscode/tasks.json +++ b/dotnetConsole/.vscode/tasks.json @@ -103,32 +103,6 @@ "group": "build-execution" } }, - { - "label": "clean-debug-amd64", - "detail": "dotnet clean command for cleaning the application build for the amd64 target", - "command": "dotnet", - "type": "process", - "args": [ - "clean", - "${workspaceFolder}/__change__.csproj", - "-c", - "Debug", - "-r", - "linux-x64" - ], - "problemMatcher": "$msCompile", - "icon": { - "id": "trash", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, { "label": "watch-local", "detail": "dotnet watch command, watch the changes on the application, compile it and reload automatically", @@ -222,75 +196,6 @@ "group": "build-execution" } }, - { - "label": "publish-debug-amd64", - "detail": "", - "command": "dotnet", - "type": "process", - "args": [ - "publish", - "${workspaceFolder}/__change__.csproj", - "/property:GenerateFullPaths=true", - "/consoleloggerparameters:NoSummary", - "-c", - "Debug", - "-r", - "linux-amd64", - "--no-self-contained" - ], - "dependsOrder": "sequence", - "problemMatcher": "$msCompile", - "icon": { - "id": "tools", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, - { - "label": "deploy-torizon-amd64", - "detail": "", - "hide": true, - "command": "rsync", - "type": "process", - "args": [ - "-P", - "-av", - "-e", - "ssh -p ${config:torizon_debug_ssh_port} -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null", - "${workspaceFolder}/bin/Debug/net8.0/linux-x64/publish/", - "${config:torizon_run_as}@${config:torizon_ip}:${config:torizon_app_root}" - ], - "dependsOn": [ - "validate-settings", - "validate-arch-amd64", - "copy-docker-compose", - "pre-cleanup", - "publish-debug-amd64", - "build-container-torizon-debug-amd64", - "push-container-torizon-debug-amd64", - "pull-container-torizon-debug-amd64", - "run-container-torizon-debug-amd64" - ], - "dependsOrder": "sequence", - "problemMatcher": "$msCompile", - "icon": { - "id": "debug-alt", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, { "label": "publish-debug-arm64", "detail": "", diff --git a/dotnetConsole/Dockerfile b/dotnetConsole/Dockerfile index 3f316c787..24a375c21 100644 --- a/dotnetConsole/Dockerfile +++ b/dotnetConsole/Dockerfile @@ -7,7 +7,7 @@ ARG IMAGE_ARCH= ## # Base container version ## -ARG BASE_VERSION=3-8.0 +ARG BASE_VERSION=3.4-8.0.8 ## # Directory of the application inside container @@ -35,7 +35,7 @@ dotnet publish -c Release -r linux-${IMAGE_ARCH} --no-self-contained # DEPLOY ----------------------------------------------------------------------- FROM --platform=linux/${IMAGE_ARCH} \ - commontorizon/dotnet:${BASE_VERSION} AS deploy + torizon/dotnet:${BASE_VERSION} AS deploy ARG IMAGE_ARCH ARG APP_ROOT diff --git a/dotnetConsole/Dockerfile.debug b/dotnetConsole/Dockerfile.debug index e81351f31..53b80cb6e 100644 --- a/dotnetConsole/Dockerfile.debug +++ b/dotnetConsole/Dockerfile.debug @@ -7,7 +7,7 @@ ARG IMAGE_ARCH= ## # Base container version ## -ARG BASE_VERSION=3-8.0 +ARG BASE_VERSION=3.4-8.0.8 ## # Directory of the application inside container @@ -29,7 +29,7 @@ ARG SSHUSERNAME= # Deploy Step .NET ## FROM --platform=linux/${IMAGE_ARCH} \ - commontorizon/dotnet-debug:${BASE_VERSION} AS debug + torizon/dotnet-debug:${BASE_VERSION} AS debug ARG IMAGE_ARCH ARG APP_ROOT From da37e83fb2389720bec3862e897e5827112f31a3 Mon Sep 17 00:00:00 2001 From: Matheus Castello Date: Thu, 24 Oct 2024 13:16:02 -0300 Subject: [PATCH 17/34] aspnetBlazor: Drop commontorizon from Toradex supported Signed-off-by: Matheus Castello --- aspnetBlazor/.vscode/launch.json | 54 --------- aspnetBlazor/.vscode/tasks.json | 198 ------------------------------- aspnetBlazor/Dockerfile | 4 +- aspnetBlazor/Dockerfile.debug | 4 +- aspnetBlazor/docker-compose.yml | 4 +- 5 files changed, 6 insertions(+), 258 deletions(-) diff --git a/aspnetBlazor/.vscode/launch.json b/aspnetBlazor/.vscode/launch.json index 7b4390727..81d016a57 100644 --- a/aspnetBlazor/.vscode/launch.json +++ b/aspnetBlazor/.vscode/launch.json @@ -26,33 +26,6 @@ "/Views": "${workspaceFolder}/Views" } }, - { - "name": "Torizon AMD64", - "type": "coreclr", - "request": "launch", - "program": "${config:torizon_app_root}/__change__", - "cwd": "${config:torizon_app_root}", - "stopAtEntry": false, - "console": "internalConsole", - "args": [], - "pipeTransport": { - "pipeCwd": "${workspaceFolder}", - "pipeProgram": "ssh", - "pipeArgs": [ - "-T", - "-q", - "-p", - "${config:torizon_debug_ssh_port}", - "-o", - "StrictHostKeyChecking=no", - "-o", - "UserKnownHostsFile /dev/null", - "${config:torizon_run_as}@${config:torizon_ip}" // user@device - ], - "debuggerPath": "/vsdbg/vsdbg" - }, - "preLaunchTask": "deploy-torizon-amd64" - }, { "name": "Torizon ARMv7", "type": "coreclr", @@ -133,33 +106,6 @@ "debuggerPath": "/vsdbg/vsdbg" }, "preLaunchTask": "deploy-torizon-browser-arm64" - }, - { - "name": "Torizon Browser AMD64", - "type": "coreclr", - "request": "launch", - "program": "${config:torizon_app_root}/blazorzin", - "cwd": "${config:torizon_app_root}", - "stopAtEntry": false, - "console": "internalConsole", - "args": [], - "pipeTransport": { - "pipeCwd": "${workspaceFolder}", - "pipeProgram": "ssh", - "pipeArgs": [ - "-T", - "-q", - "-p", - "${config:torizon_debug_ssh_port}", - "-o", - "StrictHostKeyChecking=no", - "-o", - "UserKnownHostsFile /dev/null", - "${config:torizon_run_as}@${config:torizon_ip}" // user@device - ], - "debuggerPath": "/vsdbg/vsdbg" - }, - "preLaunchTask": "deploy-torizon-browser-amd64" } ] } diff --git a/aspnetBlazor/.vscode/tasks.json b/aspnetBlazor/.vscode/tasks.json index ec962b294..6007ffcaf 100644 --- a/aspnetBlazor/.vscode/tasks.json +++ b/aspnetBlazor/.vscode/tasks.json @@ -103,32 +103,6 @@ "group": "build-execution" } }, - { - "label": "clean-debug-amd64", - "detail": "dotnet clean command for cleaning the application build for the amd64 target", - "command": "dotnet", - "type": "process", - "args": [ - "clean", - "${workspaceFolder}/__change__.csproj", - "-c", - "Debug", - "-r", - "linux-x64" - ], - "problemMatcher": "$msCompile", - "icon": { - "id": "trash", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, { "label": "watch-local", "detail": "dotnet watch command, watch the changes on the application, compile it and reload automatically", @@ -222,103 +196,6 @@ "group": "build-execution" } }, - { - "label": "publish-debug-amd64", - "detail": "dotnet publish command for debugging the application on an amd64 target", - "command": "dotnet", - "type": "process", - "args": [ - "publish", - "${workspaceFolder}/__change__.csproj", - "/property:GenerateFullPaths=true", - "/consoleloggerparameters:NoSummary", - "-c", - "Debug", - "-r", - "linux-amd64", - "--no-self-contained" - ], - "dependsOrder": "sequence", - "problemMatcher": "$msCompile", - "icon": { - "id": "tools", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, - { - "label": "fixup-donet-arch-amd64", - "detail": "", - "hide": true, - "command": "rm", - "type": "shell", - "args": [ - "-rf", - "${workspaceFolder}/bin/Debug/net8.0/linux-amd64", - "&&", - "mv", - "bin/Debug/net8.0/linux-x64", - "bin/Debug/net8.0/linux-amd64" - ], - "dependsOrder": "sequence", - "problemMatcher": "$msCompile", - "icon": { - "id": "gear", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, - { - "label": "deploy-torizon-amd64", - "detail": "", - "hide": true, - "command": "rsync", - "type": "process", - "args": [ - "-P", - "-av", - "-e", - "ssh -p ${config:torizon_debug_ssh_port} -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null", - "${workspaceFolder}/bin/Debug/net8.0/linux-amd64/publish/", - "${config:torizon_run_as}@${config:torizon_ip}:${config:torizon_app_root}" - ], - "dependsOn": [ - "validate-settings", - "validate-arch-amd64", - "copy-docker-compose", - "pre-cleanup", - "publish-debug-amd64", - "build-container-torizon-debug-amd64", - "push-container-torizon-debug-amd64", - "pull-container-torizon-debug-amd64", - "run-container-torizon-debug-amd64" - ], - "dependsOrder": "sequence", - "problemMatcher": "$msCompile", - "icon": { - "id": "debug-alt", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, { "label": "publish-debug-arm64", "detail": "dotnet publish command for debugging the application on an arm64 target", @@ -385,41 +262,6 @@ "group": "build-execution" } }, - { - "label": "run-container-cog-torizon-debug-amd64", - "detail": "", - "hide": true, - "command": "DOCKER_HOST=${config:torizon_ip}:2375", - "type": "shell", - "args": [ - "LOCAL_REGISTRY=${config:host_ip}", - "TAG=amd64", - "GPU=${config:torizon_gpu}", - "docker", - "compose", - "-p", - "torizon", - "up", - "-d", - "blazorzin-browser-debug" - ], - "dependsOrder": "sequence", - "dependsOn": [ - "wait-a-bit" - ], - "problemMatcher": "$msCompile", - "icon": { - "id": "debug-alt", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, { "label": "deploy-torizon-arm64", "detail": "", @@ -497,46 +339,6 @@ "panel": "shared", "group": "build-execution" } - }, - { - "label": "deploy-torizon-browser-amd64", - "detail": "", - "hide": true, - "command": "rsync", - "type": "process", - "args": [ - "-P", - "-av", - "-e", - "ssh -p ${config:torizon_debug_ssh_port} -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null", - "${workspaceFolder}/bin/Debug/net8.0/linux-amd64/publish/", - "${config:torizon_run_as}@${config:torizon_ip}:${config:torizon_app_root}" - ], - "dependsOn": [ - "validate-settings", - "validate-arch-amd64", - "copy-docker-compose", - "pre-cleanup", - "publish-debug-amd64", - "fixup-donet-arch-amd64", - "build-container-torizon-debug-amd64", - "push-container-torizon-debug-amd64", - "pull-container-torizon-debug-amd64", - "run-container-cog-torizon-debug-amd64" - ], - "dependsOrder": "sequence", - "problemMatcher": "$msCompile", - "icon": { - "id": "debug-alt", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } } ], "inputs": [] diff --git a/aspnetBlazor/Dockerfile b/aspnetBlazor/Dockerfile index 6835a8402..4ecb1812f 100644 --- a/aspnetBlazor/Dockerfile +++ b/aspnetBlazor/Dockerfile @@ -7,7 +7,7 @@ ARG IMAGE_ARCH= ## # Base container version ## -ARG BASE_VERSION=3-8.0 +ARG BASE_VERSION=3.4-8.0.8 ## # Directory of the application inside container @@ -35,7 +35,7 @@ dotnet publish __change__.csproj -c Release -r linux-${IMAGE_ARCH} --no-self-con # DEPLOY ----------------------------------------------------------------------- FROM --platform=linux/${IMAGE_ARCH} \ - commontorizon/aspdotnet:${BASE_VERSION} AS deploy + torizon/aspdotnet:${BASE_VERSION} AS deploy ARG IMAGE_ARCH ARG APP_ROOT diff --git a/aspnetBlazor/Dockerfile.debug b/aspnetBlazor/Dockerfile.debug index 00afe4968..25e9fe02e 100644 --- a/aspnetBlazor/Dockerfile.debug +++ b/aspnetBlazor/Dockerfile.debug @@ -7,7 +7,7 @@ ARG IMAGE_ARCH= ## # Base container version ## -ARG BASE_VERSION=3-8.0 +ARG BASE_VERSION=3.4-8.0.8 ## # Directory of the application inside container @@ -28,7 +28,7 @@ ARG SSHUSERNAME= # Deploy Step .NET ## FROM --platform=linux/${IMAGE_ARCH} \ - commontorizon/aspdotnet-debug:${BASE_VERSION} AS debug + torizon/aspdotnet-debug:${BASE_VERSION} AS debug ARG IMAGE_ARCH ARG APP_ROOT diff --git a/aspnetBlazor/docker-compose.yml b/aspnetBlazor/docker-compose.yml index 4f0e3b5ea..dda8c7aee 100644 --- a/aspnetBlazor/docker-compose.yml +++ b/aspnetBlazor/docker-compose.yml @@ -39,7 +39,7 @@ services: - cog cog: - image: commontorizon/cog${GPU}:3.3.1 + image: torizon/cog${GPU}:3.4.0 command: http://localhost:7001 -w environment: - ACCEPT_FSL_EULA=1 @@ -70,7 +70,7 @@ services: - weston weston: - image: commontorizon/weston${GPU}:3.3.2 + image: torizon/weston${GPU}:3.5.0 environment: - ACCEPT_FSL_EULA=1 # Required to get udev events from host udevd via netlink From 609f02bebe9142bab36a6c7bedd0609a491eaa38 Mon Sep 17 00:00:00 2001 From: Matheus Castello Date: Thu, 24 Oct 2024 13:20:02 -0300 Subject: [PATCH 18/34] python3Console: Drop commontorizon from Toradex supported Signed-off-by: Matheus Castello --- python3Console/.vscode/launch.json | 17 ------- python3Console/.vscode/tasks.json | 74 ------------------------------ python3Console/Dockerfile | 4 +- python3Console/Dockerfile.debug | 4 +- 4 files changed, 4 insertions(+), 95 deletions(-) diff --git a/python3Console/.vscode/launch.json b/python3Console/.vscode/launch.json index 93a54d59f..d251eea8a 100644 --- a/python3Console/.vscode/launch.json +++ b/python3Console/.vscode/launch.json @@ -8,23 +8,6 @@ "program": "${workspaceFolder}/src/main.py", "preLaunchTask": "host-install-pip-requirements" }, - { - "name": "Torizon AMD64", - "type": "debugpy", - "request": "attach", - "justMyCode": false, - "connect": { - "host": "${config:torizon_ip}", - "port": "${config:torizon_debug_port}" - }, - "pathMappings": [ - { - "localRoot": "${workspaceFolder}", - "remoteRoot": "${config:torizon_app_root}" - } - ], - "preLaunchTask": "deploy-torizon-amd64" - }, { "name": "Torizon ARMv7", "type": "debugpy", diff --git a/python3Console/.vscode/tasks.json b/python3Console/.vscode/tasks.json index 7dfb70c2a..00b2f1217 100644 --- a/python3Console/.vscode/tasks.json +++ b/python3Console/.vscode/tasks.json @@ -258,80 +258,6 @@ "group": "build-execution" } }, - { - "label": "start-torizon-debug-amd64", - "detail": "", - "hide": true, - "command": "ssh", - "type": "process", - "args": [ - "-o", - "UserKnownHostsFile=/dev/null", - "-o", - "StrictHostKeyChecking=no", - "-p", - "${config:torizon_debug_ssh_port}", - "${config:torizon_run_as}@${config:torizon_ip}", - "cd ${config:torizon_app_root} && . ${config:torizon_app_root}/.venv/bin/activate && screen -d -m python3 -m debugpy --listen 0.0.0.0:${config:torizon_debug_port} --log-to src/log --wait-for-client src/main.py", - ], - "dependsOrder": "sequence", - "problemMatcher": "$msCompile", - "icon": { - "id": "debug-alt", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, - { - "label": "deploy-torizon-amd64", - "detail": "", - "hide": true, - "command": "ssh", - "type": "shell", - "args": [ - "-o", - "UserKnownHostsFile=/dev/null", - "-o", - "StrictHostKeyChecking=no", - "-p", - "${config:torizon_debug_ssh_port}", - "${config:torizon_run_as}@${config:torizon_ip}", - "cT=0; while ! grep -r \": wait_for_client()\" ${config:torizon_app_root}/src/log/debugpy.server*.log 2> /dev/null; do sleep 0.1; if [ \"$cT\" -eq 100 ]; then echo \"Problem debugging main.py file\"; break; fi; cT=$(expr $cT + 1); done" - ], - "dependsOn": [ - "validate-settings", - "validate-arch-amd64", - "host-install-pip-requirements", - "copy-docker-compose", - "pre-cleanup", - "build-container-torizon-debug-amd64", - "push-container-torizon-debug-amd64", - "pull-container-torizon-debug-amd64", - "run-container-torizon-debug-amd64", - "wait-a-bit", - "stop-torizon-debug-generic", - "rsync-torizon-generic", - "start-torizon-debug-amd64" - ], - "dependsOrder": "sequence", - "icon": { - "id": "debug-alt", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, { "label": "host-install-pip-requirements", "detail": "Install pip requirements on the host", diff --git a/python3Console/Dockerfile b/python3Console/Dockerfile index 6265af005..be5e9fb10 100644 --- a/python3Console/Dockerfile +++ b/python3Console/Dockerfile @@ -7,7 +7,7 @@ ARG IMAGE_ARCH= ## # Base container version ## -ARG BASE_VERSION=3.3.1-bookworm +ARG BASE_VERSION=3.5.0 ## # Directory of the application inside container @@ -15,7 +15,7 @@ ARG BASE_VERSION=3.3.1-bookworm ARG APP_ROOT= FROM --platform=linux/${IMAGE_ARCH} \ - commontorizon/debian:${BASE_VERSION} AS deploy + torizon/debian:${BASE_VERSION} AS deploy ARG IMAGE_ARCH ARG APP_ROOT diff --git a/python3Console/Dockerfile.debug b/python3Console/Dockerfile.debug index 5d100208b..362998427 100644 --- a/python3Console/Dockerfile.debug +++ b/python3Console/Dockerfile.debug @@ -7,7 +7,7 @@ ARG IMAGE_ARCH= ## # Base container version ## -ARG BASE_VERSION=3.3.1-bookworm +ARG BASE_VERSION=3.5.0 ## # Debug port @@ -26,7 +26,7 @@ ARG APP_ROOT= FROM --platform=linux/${IMAGE_ARCH} \ - commontorizon/debian:${BASE_VERSION} AS debug + torizon/debian:${BASE_VERSION} AS debug ARG IMAGE_ARCH ARG DEBUG_SSH_PORT From 4a6fe5b626009a13f5b93dcc86f14e7154a7acfa Mon Sep 17 00:00:00 2001 From: Matheus Castello Date: Thu, 24 Oct 2024 13:22:07 -0300 Subject: [PATCH 19/34] genericTemplate: Drop commontorizon from Toradex supported Signed-off-by: Matheus Castello --- genericTemplate/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/genericTemplate/Dockerfile b/genericTemplate/Dockerfile index bc8a1852b..188b4277d 100644 --- a/genericTemplate/Dockerfile +++ b/genericTemplate/Dockerfile @@ -1,4 +1,4 @@ -ARG BASE_VERSION=3.3.1-bookworm +ARG BASE_VERSION=3.5.0 ## # Board architecture @@ -16,7 +16,7 @@ ARG GPU= ARG APP_ROOT= # DEPLOY ------------------------------------------------------------------------ -FROM --platform=linux/${IMAGE_ARCH} commontorizon/debian:${BASE_VERSION} +FROM --platform=linux/${IMAGE_ARCH} torizon/debian:${BASE_VERSION} ARG IMAGE_ARCH ARG GPU From a1d6468651fe5293a9ba5bf5ce08edf59cc34495 Mon Sep 17 00:00:00 2001 From: Matheus Castello Date: Wed, 6 Nov 2024 18:46:59 -0300 Subject: [PATCH 20/34] all: Remove riscv64 support from the templates Signed-off-by: Matheus Castello --- README.md | 8 +- assets/tasks/common.json | 421 ----------------------------------- assets/tasks/inputs.json | 3 +- cConsole/.vscode/launch.json | 44 ---- cConsole/.vscode/tasks.json | 130 ----------- templates.json | 2 - 6 files changed, 5 insertions(+), 603 deletions(-) diff --git a/README.md b/README.md index 8fed4fc33..6dd952b86 100644 --- a/README.md +++ b/README.md @@ -6,17 +6,17 @@ This repository maintains the templates used in conjunction with the [VS Code To > ℹ️ **Toradex Supported Templates** are templates with development stacks commonly used by customers of the Torizon platform and are maintained by the Torizon team at Toradex. -> ⚠️ Support for **x86-64** and **riscv64** architectures are experimental. +> ⚠️ Support for **x86-64** architectures are experimental. | TEMPLATE | DESCRIPTION | RUNTIME | LANGUAGE | HW ARCH | FOLDER | | -------- | ----------- | ------- | -------- | ------- | ------ | -| ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/cppconsole.png?raw=true) | C++ Makefile Console Application | libc | C++ | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) ![](assets/img/riscv64.png?raw=true&id=2) ![](assets/img/x8664.png?raw=true&id=2) | [cppConsole](./cppConsole) | +| ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/cppconsole.png?raw=true) | C++ Makefile Console Application | libc | C++ | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) ![](assets/img/x8664.png?raw=true&id=2) | [cppConsole](./cppConsole) | | ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/cmakeconsole.png?raw=true) | C++ CMake Console Application | libc | C++ | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [cmakeConsole](./cmakeConsole) | | ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/qt6qml.png?raw=true) | C++ Qt 6 QML Application | Qt 6 | C++ / QML | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2)  ![](assets/img/x8664.png?raw=true&id=2) | [cppQML](./cppQML) | | ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/dotnetconsole.png?raw=true) | .NET 8 C# Console Application | .NET 8.0 | C# | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2)  ![](assets/img/x8664.png?raw=true&id=2) | [dotnetConsole](./dotnetConsole) | | ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/aspnetblazor.png?raw=true) | ASP.NET 8 Blazor Application | ASP.NET 8.0 | C# | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2)  ![](assets/img/x8664.png?raw=true&id=2) | [aspnetBlazor](./aspnetBlazor) | | ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/python3console.png?raw=true) | Python 3 Console Application | Python 3 | Python 3 | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [python3Console](./python3Console) | -| ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/genericTemplate.png?raw=true) | Generic Template (Without Language) | None | None | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) ![](assets/img/riscv64.png?raw=true&id=2) ![](assets/img/x8664.png?raw=true&id=2) | [genericTemplate](./genericTemplate) | +| ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/genericTemplate.png?raw=true) | Generic Template (Without Language) | None | None | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) ![](assets/img/x8664.png?raw=true&id=2) | [genericTemplate](./genericTemplate) | # Partner Templates @@ -49,7 +49,7 @@ We encourage you to also contribute templates. The community supported templates | ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/avaloniagtk.png?raw=true) | .NET 8 C# Avalonia GTK MVVM | .NET 8.0 | C# | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [dotnetAvalonia](./dotnetAvalonia) | ![](https://avatars.githubusercontent.com/u/2633321?v=4&s=64) [@microhobby](https://www.github.com/microhobby) | | ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/gambasform.png?raw=true) | Gambas3 Form Project | Gambas3 | Visual Basic | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [gambasForms](./gambasForms) | ![](https://avatars.githubusercontent.com/u/2633321?v=4&s=64) [@microhobby](https://www.github.com/microhobby) | | ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/python3console.png?raw=true) | Python 3 Pyside 2(Qt5) QML | Pyside 2 | Python 3 | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [python3Pyside2QML](./python3Pyside2QML) | ![](https://github.com/toradex/vscode-torizon-templates-documentation/blob/main/thumbnails/none.png?raw=true) [@andreriesco](https://www.github.com/andreriesco) | -| ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/cconsole.png?raw=true) | C Makefile Console Application | libc | C | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) ![](assets/img/riscv64.png?raw=true&id=2) ![](assets/img/x8664.png?raw=true&id=2) | [cConsole](./cConsole) | ![](https://avatars.githubusercontent.com/u/19562097?v=4&s=64) [@hiagofranco](https://www.github.com/hiagofranco) | +| ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/cconsole.png?raw=true) | C Makefile Console Application | libc | C | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) ![](assets/img/x8664.png?raw=true&id=2) | [cConsole](./cConsole) | ![](https://avatars.githubusercontent.com/u/19562097?v=4&s=64) [@hiagofranco](https://www.github.com/hiagofranco) | | ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/zig-console.png?raw=true) | Zig Console Application | no-libc | Zig | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [zigConsole](./zigConsole) | ![](https://avatars.githubusercontent.com/u/6756180?v=4&s=64) [@kassane](https://www.github.com/kassane) | | ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/unogtk5.png?raw=true) | .NET 8 C# Uno 5 Platform Skia.GTK | .NET 8.0 | C# | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [dotnetUno5](./dotnetUno5) | ![](https://avatars.githubusercontent.com/u/2633321?v=4&s=64) [@microhobby](https://www.github.com/microhobby) | | ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/unofbdrm5.png?raw=true) | .NET 8 C# Uno 5 Platform Frame Buffer | .NET 8.0 | C# | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [dotnetUno5FrameBuffer](./dotnetUno5FrameBuffer) | ![](https://avatars.githubusercontent.com/u/2633321?v=4&s=64) [@microhobby](https://www.github.com/microhobby) | diff --git a/assets/tasks/common.json b/assets/tasks/common.json index a492d3a7d..1f3878161 100644 --- a/assets/tasks/common.json +++ b/assets/tasks/common.json @@ -542,30 +542,6 @@ "group": "build-execution" } }, - { - "label": "apply-torizon-packages-riscv64", - "detail": "", - "hide": true, - "command": "pwsh", - "type": "process", - "args": [ - "-nop", - "${workspaceFolder}/.conf/torizonPackages.ps1", - "riscv" - ], - "dependsOrder": "sequence", - "icon": { - "id": "gear", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, { "label": "copy-docker-compose", "detail": "", @@ -754,30 +730,6 @@ "group": "build-execution" } }, - { - "label": "validate-arch-riscv64", - "detail": "", - "hide": true, - "command": "bash", - "type": "process", - "args": [ - "-c", - "[[ \"${config:torizon_arch}\" == \"riscv64\" ]] && true || false" - ], - "dependsOrder": "sequence", - "problemMatcher": "$msCompile", - "icon": { - "id": "gear", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, { "label": "containers-cleanup", "detail": "Docker compose down on the target (default device)", @@ -1035,57 +987,6 @@ "group": "build-execution" } }, - { - "label": "build-container-torizon-debug-riscv64", - "detail": "", - "hide": true, - "command": "DOCKER_HOST=", - "type": "shell", - "options": { - "env": { - "LOCAL_REGISTRY": "localhost", - "TAG": "riscv64", - "GPU": "${config:torizon_gpu}", - "DEBUG_SSH_PORT": "${config:torizon_debug_ssh_port}", - "DEBUG_PORT1": "${config:torizon_debug_port1}", - "DEBUG_PORT2": "${config:torizon_debug_port2}", - "DEBUG_PORT3": "${config:torizon_debug_port3}" - } - }, - "args": [ - "docker", - "compose", - "build", - "--pull", - "--build-arg", - "SSHUSERNAME=${config:torizon_run_as}", - "--build-arg", - "APP_ROOT=${config:torizon_app_root}", - "--build-arg", - "IMAGE_ARCH=riscv64", - "--build-arg", - "DEBUG_SSH_PORT=${config:torizon_debug_ssh_port}", - "--build-arg", - "GPU=${config:torizon_gpu}", - "__container__-debug" - ], - "dependsOrder": "sequence", - "dependsOn": [ - "apply-torizon-packages-riscv64" - ], - "problemMatcher": "$msCompile", - "icon": { - "id": "tools", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, { "label": "build-container-image-sdk-arm64", "detail": "", @@ -1209,47 +1110,6 @@ "group": "build-execution" } }, - { - "label": "build-container-image-sdk-riscv64", - "detail": "", - "hide": true, - "command": "DOCKER_HOST=", - "type": "shell", - "args": [ - "docker", - "build", - "--pull", - "-f", - "${workspaceFolder}/Dockerfile.sdk", - "${workspaceFolder}", - "-t", - "cross-toolchain-riscv64-__container__", - "--build-arg", - "IMAGE_ARCH=riscv64", - "--build-arg", - "GPU=${config:torizon_gpu}", - "--build-arg", - "APP_ROOT=${config:torizon_app_root}" - ], - "dependsOrder": "sequence", - "dependsOn": [ - "apply-torizon-packages-riscv64" - ], - "problemMatcher": [ - "$gcc" - ], - "icon": { - "id": "tools", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, { "label": "push-container-torizon-debug-arm", "detail": "", @@ -1361,43 +1221,6 @@ "group": "build-execution" } }, - { - "label": "push-container-torizon-debug-riscv64", - "detail": "", - "hide": true, - "command": "DOCKER_HOST=", - "type": "shell", - "options": { - "env": { - "LOCAL_REGISTRY": "localhost", - "TAG": "riscv64", - "GPU": "${config:torizon_gpu}", - "DEBUG_SSH_PORT": "${config:torizon_debug_ssh_port}", - "DEBUG_PORT1": "${config:torizon_debug_port1}", - "DEBUG_PORT2": "${config:torizon_debug_port2}", - "DEBUG_PORT3": "${config:torizon_debug_port3}" - } - }, - "args": [ - "docker", - "compose", - "push", - "__container__-debug" - ], - "dependsOrder": "sequence", - "problemMatcher": "$msCompile", - "icon": { - "id": "repo-push", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, { "label": "pull-container-torizon-debug-arm64", "detail": "", @@ -1506,42 +1329,6 @@ "group": "build-execution" } }, - { - "label": "pull-container-torizon-debug-riscv64", - "detail": "", - "hide": true, - "command": "DOCKER_HOST=${config:torizon_ip}:2375", - "type": "shell", - "args": [ - "LOCAL_REGISTRY=${config:host_ip}", - "TAG=riscv64", - "GPU=${config:torizon_gpu}", - "DEBUG_SSH_PORT=${config:torizon_debug_ssh_port}", - "DEBUG_PORT1=${config:torizon_debug_port1}", - "DEBUG_PORT2=${config:torizon_debug_port2}", - "DEBUG_PORT3=${config:torizon_debug_port3}", - "docker", - "compose", - "pull", - "__container__-debug" - ], - "dependsOrder": "sequence", - "dependsOn": [ - "wait-a-bit" - ], - "problemMatcher": "$msCompile", - "icon": { - "id": "repo-pull", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, { "label": "run-container-torizon-debug-arm64", "detail": "", @@ -1659,45 +1446,6 @@ "group": "build-execution" } }, - { - "label": "run-container-torizon-debug-riscv64", - "detail": "", - "hide": true, - "command": "DOCKER_HOST=${config:torizon_ip}:2375", - "type": "shell", - "args": [ - "LOCAL_REGISTRY=${config:host_ip}", - "TAG=riscv64", - "GPU=${config:torizon_gpu}", - "DEBUG_SSH_PORT=${config:torizon_debug_ssh_port}", - "DEBUG_PORT1=${config:torizon_debug_port1}", - "DEBUG_PORT2=${config:torizon_debug_port2}", - "DEBUG_PORT3=${config:torizon_debug_port3}", - "docker", - "compose", - "-p", - "torizon", - "up", - "-d", - "__container__-debug" - ], - "dependsOrder": "sequence", - "dependsOn": [ - "wait-a-bit" - ], - "problemMatcher": "$msCompile", - "icon": { - "id": "debug-alt", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, { "label": "build-container-torizon-release-arm64", "detail": "", @@ -1845,55 +1593,6 @@ "group": "build-execution" } }, - { - "label": "build-container-torizon-release-riscv64", - "detail": "", - "hide": true, - "command": "DOCKER_HOST=", - "type": "shell", - "options": { - "env": { - "DOCKER_LOGIN": "localhost:5002", - "TAG": "riscv64", - "GPU": "${config:torizon_gpu}", - "DEBUG_SSH_PORT": "${config:torizon_debug_ssh_port}", - "DEBUG_PORT1": "${config:torizon_debug_port1}", - "DEBUG_PORT2": "${config:torizon_debug_port2}", - "DEBUG_PORT3": "${config:torizon_debug_port3}" - } - }, - "args": [ - "docker", - "compose", - "build", - "--pull", - "--build-arg", - "SSHUSERNAME=${config:torizon_run_as}", - "--build-arg", - "APP_ROOT=${config:torizon_app_root}", - "--build-arg", - "IMAGE_ARCH=riscv64", - "--build-arg", - "GPU=${config:torizon_gpu}", - "__container__" - ], - "dependsOrder": "sequence", - "dependsOn": [ - "apply-torizon-packages-riscv64" - ], - "problemMatcher": "$msCompile", - "icon": { - "id": "tools", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, { "label": "push-container-torizon-release-arm64", "detail": "", @@ -2011,45 +1710,6 @@ "group": "build-execution" } }, - { - "label": "push-container-torizon-release-riscv64", - "detail": "", - "hide": true, - "command": "DOCKER_HOST=", - "type": "shell", - "options": { - "env": { - "DOCKER_LOGIN": "localhost:5002", - "TAG": "riscv64", - "DEBUG_SSH_PORT": "${config:torizon_debug_ssh_port}", - "DEBUG_PORT1": "${config:torizon_debug_port1}", - "DEBUG_PORT2": "${config:torizon_debug_port2}", - "DEBUG_PORT3": "${config:torizon_debug_port3}" - } - }, - "args": [ - "docker", - "compose", - "push", - "__container__" - ], - "dependsOn": [ - "build-container-torizon-release-riscv64" - ], - "dependsOrder": "sequence", - "problemMatcher": "$msCompile", - "icon": { - "id": "repo-push", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, { "label": "pull-container-torizon-release-arm64", "detail": "", @@ -2161,43 +1821,6 @@ "group": "build-execution" } }, - { - "label": "pull-container-torizon-release-riscv64", - "detail": "", - "hide": true, - "command": "DOCKER_HOST=${config:torizon_ip}:2375", - "type": "shell", - "args": [ - "LOCAL_REGISTRY=${config:host_ip}", - "DOCKER_LOGIN=${config:host_ip}:5002", - "TAG=riscv64", - "GPU=${config:torizon_gpu}", - "DEBUG_SSH_PORT=${config:torizon_debug_ssh_port}", - "DEBUG_PORT1=${config:torizon_debug_port1}", - "DEBUG_PORT2=${config:torizon_debug_port2}", - "DEBUG_PORT3=${config:torizon_debug_port3}", - "docker", - "compose", - "pull", - "__container__" - ], - "dependsOrder": "sequence", - "dependsOn": [ - "push-container-torizon-release-riscv64" - ], - "problemMatcher": "$msCompile", - "icon": { - "id": "repo-pull", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, { "label": "run-container-torizon-release-arm64", "detail": "This task will build the application based in the production Dockerfile, push it to the local registry (localhost:5002), pull it on the board and run it on the board, showing the result in the VSCode terminal", @@ -2330,50 +1953,6 @@ "group": "build-execution" } }, - { - "label": "run-container-torizon-release-riscv64", - "detail": "This task will build the application based in the production Dockerfile, push it to the local registry (localhost:5002), pull it on the board and run it on the board, showing the result in the VSCode terminal", - "command": "DOCKER_HOST=${config:torizon_ip}:2375", - "type": "shell", - "args": [ - "DOCKER_LOGIN=${config:host_ip}:5002", - "TAG=riscv64", - "GPU=${config:torizon_gpu}", - "DEBUG_SSH_PORT=${config:torizon_debug_ssh_port}", - "DEBUG_PORT1=${config:torizon_debug_port1}", - "DEBUG_PORT2=${config:torizon_debug_port2}", - "DEBUG_PORT3=${config:torizon_debug_port3}", - "docker", - "compose", - "-p", - "torizon", - "up", - "__container__" - ], - "dependsOrder": "sequence", - "dependsOn": [ - "validate-settings", - "validate-arch-riscv64", - "copy-docker-compose", - "pre-cleanup", - "build-container-torizon-release-riscv64", - "push-container-torizon-release-riscv64", - "pull-container-torizon-release-riscv64", - "wait-a-bit" - ], - "problemMatcher": "$msCompile", - "icon": { - "id": "run", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, { "label": "show-project-documentation", "detail": "This task will open the project specific documentation\nin a new tab.", diff --git a/assets/tasks/inputs.json b/assets/tasks/inputs.json index e6d3ca1e0..dd0530652 100644 --- a/assets/tasks/inputs.json +++ b/assets/tasks/inputs.json @@ -33,8 +33,7 @@ "options": [ "arm", "arm64", - "amd64", - "riscv64" + "amd64" ] } ] diff --git a/cConsole/.vscode/launch.json b/cConsole/.vscode/launch.json index e1f2797c1..99736a9a6 100644 --- a/cConsole/.vscode/launch.json +++ b/cConsole/.vscode/launch.json @@ -27,50 +27,6 @@ ], "preLaunchTask": "build-debug-local" }, - { - "name": "Torizon riscv64", - "type": "cppdbg", - "request": "launch", - "program": "${config:torizon_app_root}/__change__", - "args": [], - "stopAtEntry": false, - "cwd": "${config:torizon_app_root}", - "environment": [], - "externalConsole": false, - "internalConsoleOptions": "openOnSessionStart", - "sourceFileMap": { - "${config:torizon_app_root}": "${workspaceFolder}" - }, - "pipeTransport": { - "debuggerPath": "/usr/bin/gdb", - "pipeProgram": "ssh", - "pipeArgs": [ - "-T", - "-q", - "-p", - "${config:torizon_debug_ssh_port}", - "-o", - "StrictHostKeyChecking=no", - "-o", - "UserKnownHostsFile /dev/null", - "${config:torizon_run_as}@${config:torizon_ip}" // user@device - ] - }, - "MIMode": "gdb", - "setupCommands": [ - { - "description": "Enable pretty-printing for gdb", - "text": "-enable-pretty-printing", - "ignoreFailures": true - }, - { - "description": "Set Disassembly Flavor to Intel", - "text": "-gdb-set disassembly-flavor intel", - "ignoreFailures": true - } - ], - "preLaunchTask": "deploy-torizon-riscv64" - }, { "name": "Torizon AMD64", "type": "cppdbg", diff --git a/cConsole/.vscode/tasks.json b/cConsole/.vscode/tasks.json index f6267d002..1c0fa0076 100644 --- a/cConsole/.vscode/tasks.json +++ b/cConsole/.vscode/tasks.json @@ -106,33 +106,6 @@ "group": "build-execution" } }, - { - "label": "build-makedir-riscv64", - "hide": true, - "command": "make", - "type": "shell", - "args": [ - "ARCH=riscv64", - "makedir" - ], - "problemMatcher": [ - "$gcc" - ], - "dependsOn": [ - "build-container-image-sdk-riscv64" - ], - "icon": { - "id": "tools", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, { "label": "build-debug-local", "detail": "Build a debug version of the application for amd64 using\nthe toolchain installed in the host.", @@ -389,82 +362,6 @@ "group": "build-execution" } }, - { - "label": "build-debug-riscv64", - "detail": "Build a debug version of the application for riscv64 using\nthe toolchain from the SDK container.", - "command": "DOCKER_HOST=", - "type": "shell", - "args": [ - "docker", - "run", - "--rm", - "-v", - "${workspaceFolder}:${config:torizon_app_root}", - "cross-toolchain-riscv64-__container__", - "make", - "ARCH=riscv64", - "CC=riscv64-linux-gnu-gcc", - "debug" - ], - "problemMatcher": [ - "$gcc" - ], - "dependsOrder": "sequence", - "dependsOn": [ - "build-makedir-riscv64" - ], - "icon": { - "id": "tools", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, - { - "label": "deploy-torizon-riscv64", - "detail": "", - "hide": true, - "command": "rsync", - "type": "process", - "args": [ - "-P", - "-av", - "-e", - "ssh -p ${config:torizon_debug_ssh_port} -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null", - "${workspaceFolder}/build-riscv64/debug/", - "${config:torizon_run_as}@${config:torizon_ip}:${config:torizon_app_root}" - ], - "dependsOn": [ - "validate-settings", - "validate-arch-riscv64", - "copy-docker-compose", - "pre-cleanup", - "build-debug-riscv64", - "build-container-torizon-debug-riscv64", - "push-container-torizon-debug-riscv64", - "pull-container-torizon-debug-riscv64", - "run-container-torizon-debug-riscv64", - "pos-cleanup" - ], - "dependsOrder": "sequence", - "problemMatcher": "$msCompile", - "icon": { - "id": "debug-alt", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, { "label": "clean-local", "detail": "Clean the local application build directory. `make clean`", @@ -570,33 +467,6 @@ "group": "build-execution" } }, - { - "label": "clean-riscv64", - "detail": "Clean the riscv64 application build directory. `make clean`", - "command": "make", - "type": "shell", - "args": [ - "clean", - "ARCH=riscv64" - ], - "problemMatcher": [ - "$gcc" - ], - "dependsOrder": "sequence", - "dependsOn": [ - ], - "icon": { - "id": "trash", - "color": "terminal.ansiYellow" - }, - "presentation": { - "echo": true, - "reveal": "always", - "focus": true, - "panel": "shared", - "group": "build-execution" - } - }, ], "inputs": [] } diff --git a/templates.json b/templates.json index 0d6a96ab7..2c0888f85 100644 --- a/templates.json +++ b/templates.json @@ -231,7 +231,6 @@ "tests" : { "debuggers": { "local": ["Local AMD64"], - "riscv": ["Torizon riscv64"], "amd64": ["Torizon AMD64"], "arm": ["Torizon ARMv7"], "arm64": ["Torizon ARMv8"] @@ -277,7 +276,6 @@ "tests" : { "debuggers": { "local": ["Local AMD64"], - "riscv": ["Torizon riscv64"], "amd64": ["Torizon AMD64"], "arm": ["Torizon ARMv7"], "arm64": ["Torizon ARMv8"] From f02accb508e4f7f9992156025fd715e9b8428103 Mon Sep 17 00:00:00 2001 From: Matheus Castello Date: Wed, 6 Nov 2024 19:37:54 -0300 Subject: [PATCH 21/34] scripts: installDepsScripts: installDotnetSDK8: Fix package not found If the package is not there the apt will fail, and we are enforcing the exit on error, so we need to disable it before try to check if there is a package to remove. Signed-off-by: Matheus Castello --- scripts/installDepsScripts/installDotnetSDK8.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/installDepsScripts/installDotnetSDK8.sh b/scripts/installDepsScripts/installDotnetSDK8.sh index c288d4908..282a5fb26 100755 --- a/scripts/installDepsScripts/installDotnetSDK8.sh +++ b/scripts/installDepsScripts/installDotnetSDK8.sh @@ -50,9 +50,10 @@ if [ "$source" != "https://packages.microsoft.com/$repo/$repo_version/prod" ]; t rm packages-microsoft-prod.deb # Remove the dotnet-sdk installation that doesn't come from the Microsoft source + set +e sudo apt-get remove --purge $package -y - sudo apt-get autoremove -y + set -e # Enforce the preference for the dotnet and aspnet packages comming from the Microsoft source if [ ! -f /etc/apt/preferences ] || ! grep -q "Package: dotnet\* aspnet\* netstandard\*" /etc/apt/preferences From 41dd8cc49b2d3aaf4445d042ec317f0d52f91e6e Mon Sep 17 00:00:00 2001 From: Matheus Castello Date: Fri, 29 Nov 2024 16:07:14 -0300 Subject: [PATCH 22/34] tasks: common: Drop commontorizon/binfmt usage Signed-off-by: Matheus Castello --- assets/tasks/common.json | 2 +- tcb/.vscode/tasks.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/assets/tasks/common.json b/assets/tasks/common.json index 1f3878161..dc1b17d01 100644 --- a/assets/tasks/common.json +++ b/assets/tasks/common.json @@ -363,7 +363,7 @@ "-ContainerRuntime", "docker", "-RunArguments", - "\"--rm --privileged commontorizon/binfmt:9.0.2\"", + "\"--rm --privileged torizon/binfmt:latest\"", "-ContainerName", "binfmt" ], diff --git a/tcb/.vscode/tasks.json b/tcb/.vscode/tasks.json index c10a7af11..57ed2e70d 100644 --- a/tcb/.vscode/tasks.json +++ b/tcb/.vscode/tasks.json @@ -185,7 +185,7 @@ "-ContainerRuntime", "docker", "-RunArguments", - "\"--rm --privileged commontorizon/binfmt:9.0.2\"", + "\"--rm --privileged torizon/binfmt:latest\"", "-ContainerName", "binfmt" ], From 871b92d1e1b1e526667fdd40007e4ce767290537 Mon Sep 17 00:00:00 2001 From: Matheus Castello Date: Mon, 2 Dec 2024 11:52:07 -0300 Subject: [PATCH 23/34] tasks: common: Use armhf as IMAGE_ARCH for 32bit arm This is part of the drop of commontorizon images. The Toradex images have the prefix armhf for the 32bit arm architecture and the linux/armhf also works as a valid architecture for the docker platform. Signed-off-by: Matheus Castello --- assets/tasks/common.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/assets/tasks/common.json b/assets/tasks/common.json index dc1b17d01..cbff05707 100644 --- a/assets/tasks/common.json +++ b/assets/tasks/common.json @@ -912,7 +912,7 @@ "--build-arg", "APP_ROOT=${config:torizon_app_root}", "--build-arg", - "IMAGE_ARCH=arm", + "IMAGE_ARCH=armhf", "--build-arg", "DEBUG_SSH_PORT=${config:torizon_debug_ssh_port}", "--build-arg", @@ -1044,7 +1044,7 @@ "-t", "cross-toolchain-arm-__container__", "--build-arg", - "IMAGE_ARCH=arm", + "IMAGE_ARCH=armhf", "--build-arg", "GPU=${config:torizon_gpu}", "--build-arg", @@ -1522,7 +1522,7 @@ "--build-arg", "APP_ROOT=${config:torizon_app_root}", "--build-arg", - "IMAGE_ARCH=arm", + "IMAGE_ARCH=armhf", "--build-arg", "GPU=${config:torizon_gpu}", "__container__" From 9f5267b54b5e0ed777c44431743d507e45aea498 Mon Sep 17 00:00:00 2001 From: Matheus Castello Date: Mon, 2 Dec 2024 11:58:50 -0300 Subject: [PATCH 24/34] README: Remove x86_64 from the templates list The x86_64 architecture is not supported by Toradex images, and the experiments here are over. So, we should remove the x86_64 architecture from the templates list. Signed-off-by: Matheus Castello --- DEPRECATED.md | 2 +- README.md | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/DEPRECATED.md b/DEPRECATED.md index 5936fd910..512ef86f6 100644 --- a/DEPRECATED.md +++ b/DEPRECATED.md @@ -2,7 +2,7 @@ | TEMPLATE | DESCRIPTION | RUNTIME | LANGUAGE | HW ARCH | FOLDER | CONTRIBUTOR | | -------- | ----------- | ------- | -------- | ------- | ------ | ----------- | -| ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/unogtk.png?raw=true) | .NET 6 C# Uno Platform Skia.GTK | .NET 6.0 | C# | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2)  ![](assets/img/x8664.png?raw=true&id=2) | [dotnetUno](./dotnetUno) | ![](https://avatars.githubusercontent.com/u/2633321?v=4&s=64&s=64) [@microhobby](https://www.github.com/microhobby) | +| ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/unogtk.png?raw=true) | .NET 6 C# Uno Platform Skia.GTK | .NET 6.0 | C# | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2)   | [dotnetUno](./dotnetUno) | ![](https://avatars.githubusercontent.com/u/2633321?v=4&s=64&s=64) [@microhobby](https://www.github.com/microhobby) | | ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/unofbdrm.png?raw=true) | .NET 6 C# Uno Platform Frame Buffer | .NET 6.0 | C# | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [dotnetUnoFrameBuffer](./dotnetUnoFrameBuffer) | ![](https://avatars.githubusercontent.com/u/2633321?v=4&s=64) [@microhobby](https://www.github.com/microhobby) | Due to the eminent EOL of .NET 6, .NET 6 Uno and .NET 6 Uno FrameBuffer templates are deprecated, being replaced by the [.NET 8 Uno 5](./dotnetUno5) and [.NET 8 Uno 5 FrameBuffer](./dotnetUno5FrameBuffer) templates. diff --git a/README.md b/README.md index 6dd952b86..3cd05ba93 100644 --- a/README.md +++ b/README.md @@ -10,13 +10,13 @@ This repository maintains the templates used in conjunction with the [VS Code To | TEMPLATE | DESCRIPTION | RUNTIME | LANGUAGE | HW ARCH | FOLDER | | -------- | ----------- | ------- | -------- | ------- | ------ | -| ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/cppconsole.png?raw=true) | C++ Makefile Console Application | libc | C++ | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) ![](assets/img/x8664.png?raw=true&id=2) | [cppConsole](./cppConsole) | +| ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/cppconsole.png?raw=true) | C++ Makefile Console Application | libc | C++ | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2)  | [cppConsole](./cppConsole) | | ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/cmakeconsole.png?raw=true) | C++ CMake Console Application | libc | C++ | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [cmakeConsole](./cmakeConsole) | -| ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/qt6qml.png?raw=true) | C++ Qt 6 QML Application | Qt 6 | C++ / QML | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2)  ![](assets/img/x8664.png?raw=true&id=2) | [cppQML](./cppQML) | -| ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/dotnetconsole.png?raw=true) | .NET 8 C# Console Application | .NET 8.0 | C# | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2)  ![](assets/img/x8664.png?raw=true&id=2) | [dotnetConsole](./dotnetConsole) | -| ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/aspnetblazor.png?raw=true) | ASP.NET 8 Blazor Application | ASP.NET 8.0 | C# | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2)  ![](assets/img/x8664.png?raw=true&id=2) | [aspnetBlazor](./aspnetBlazor) | +| ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/qt6qml.png?raw=true) | C++ Qt 6 QML Application | Qt 6 | C++ / QML | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2)   | [cppQML](./cppQML) | +| ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/dotnetconsole.png?raw=true) | .NET 8 C# Console Application | .NET 8.0 | C# | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2)   | [dotnetConsole](./dotnetConsole) | +| ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/aspnetblazor.png?raw=true) | ASP.NET 8 Blazor Application | ASP.NET 8.0 | C# | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2)   | [aspnetBlazor](./aspnetBlazor) | | ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/python3console.png?raw=true) | Python 3 Console Application | Python 3 | Python 3 | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [python3Console](./python3Console) | -| ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/genericTemplate.png?raw=true) | Generic Template (Without Language) | None | None | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) ![](assets/img/x8664.png?raw=true&id=2) | [genericTemplate](./genericTemplate) | +| ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/genericTemplate.png?raw=true) | Generic Template (Without Language) | None | None | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [genericTemplate](./genericTemplate) | # Partner Templates @@ -49,7 +49,7 @@ We encourage you to also contribute templates. The community supported templates | ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/avaloniagtk.png?raw=true) | .NET 8 C# Avalonia GTK MVVM | .NET 8.0 | C# | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [dotnetAvalonia](./dotnetAvalonia) | ![](https://avatars.githubusercontent.com/u/2633321?v=4&s=64) [@microhobby](https://www.github.com/microhobby) | | ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/gambasform.png?raw=true) | Gambas3 Form Project | Gambas3 | Visual Basic | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [gambasForms](./gambasForms) | ![](https://avatars.githubusercontent.com/u/2633321?v=4&s=64) [@microhobby](https://www.github.com/microhobby) | | ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/python3console.png?raw=true) | Python 3 Pyside 2(Qt5) QML | Pyside 2 | Python 3 | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [python3Pyside2QML](./python3Pyside2QML) | ![](https://github.com/toradex/vscode-torizon-templates-documentation/blob/main/thumbnails/none.png?raw=true) [@andreriesco](https://www.github.com/andreriesco) | -| ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/cconsole.png?raw=true) | C Makefile Console Application | libc | C | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) ![](assets/img/x8664.png?raw=true&id=2) | [cConsole](./cConsole) | ![](https://avatars.githubusercontent.com/u/19562097?v=4&s=64) [@hiagofranco](https://www.github.com/hiagofranco) | +| ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/cconsole.png?raw=true) | C Makefile Console Application | libc | C | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2)  | [cConsole](./cConsole) | ![](https://avatars.githubusercontent.com/u/19562097?v=4&s=64) [@hiagofranco](https://www.github.com/hiagofranco) | | ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/zig-console.png?raw=true) | Zig Console Application | no-libc | Zig | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [zigConsole](./zigConsole) | ![](https://avatars.githubusercontent.com/u/6756180?v=4&s=64) [@kassane](https://www.github.com/kassane) | | ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/unogtk5.png?raw=true) | .NET 8 C# Uno 5 Platform Skia.GTK | .NET 8.0 | C# | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [dotnetUno5](./dotnetUno5) | ![](https://avatars.githubusercontent.com/u/2633321?v=4&s=64) [@microhobby](https://www.github.com/microhobby) | | ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/unofbdrm5.png?raw=true) | .NET 8 C# Uno 5 Platform Frame Buffer | .NET 8.0 | C# | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [dotnetUno5FrameBuffer](./dotnetUno5FrameBuffer) | ![](https://avatars.githubusercontent.com/u/2633321?v=4&s=64) [@microhobby](https://www.github.com/microhobby) | @@ -58,7 +58,7 @@ We encourage you to also contribute templates. The community supported templates | TEMPLATE | DESCRIPTION | RUNTIME | LANGUAGE | HW ARCH | FOLDER | CONTRIBUTOR | | -------- | ----------- | ------- | -------- | ------- | ------ | ----------- | -| ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/unogtk.png?raw=true) | .NET 6 C# Uno Platform Skia.GTK | .NET 6.0 | C# | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2)  ![](assets/img/x8664.png?raw=true&id=2) | [dotnetUno](./dotnetUno) | ![](https://avatars.githubusercontent.com/u/2633321?v=4&s=64&s=64) [@microhobby](https://www.github.com/microhobby) | +| ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/unogtk.png?raw=true) | .NET 6 C# Uno Platform Skia.GTK | .NET 6.0 | C# | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2)   | [dotnetUno](./dotnetUno) | ![](https://avatars.githubusercontent.com/u/2633321?v=4&s=64&s=64) [@microhobby](https://www.github.com/microhobby) | | ![](https://raw.githubusercontent.com/toradex/vscode-torizon-templates-documentation/refs/heads/main/thumbnails/unofbdrm.png?raw=true) | .NET 6 C# Uno Platform Frame Buffer | .NET 6.0 | C# | ![](assets/img/arm32.png?raw=true&id=2) ![](assets/img/arm64.png?raw=true&id=2) | [dotnetUnoFrameBuffer](./dotnetUnoFrameBuffer) | ![](https://avatars.githubusercontent.com/u/2633321?v=4&s=64) [@microhobby](https://www.github.com/microhobby) | For the reason of deprecation and how to proceed with the update of this template, please check the [DEPRECATED.md](./DEPRECATED.md) file. From e3af1186e06519db3e76f8cb0d23195fdbb6a60a Mon Sep 17 00:00:00 2001 From: Matheus Castello Date: Mon, 2 Dec 2024 12:02:46 -0300 Subject: [PATCH 25/34] scripts: installDepsScripts: installDotnetSDK7: Fix package not found If the package is not there the apt will fail, and we are enforcing the exit on error, so we need to disable it before try to check if there is a package to remove. Signed-off-by: Matheus Castello --- scripts/installDepsScripts/installDotnetSDK7.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/installDepsScripts/installDotnetSDK7.sh b/scripts/installDepsScripts/installDotnetSDK7.sh index 63a076568..bd52f2449 100755 --- a/scripts/installDepsScripts/installDotnetSDK7.sh +++ b/scripts/installDepsScripts/installDotnetSDK7.sh @@ -50,9 +50,10 @@ if [ "$source" != "https://packages.microsoft.com/$repo/$repo_version/prod" ]; t rm packages-microsoft-prod.deb # Remove the dotnet-sdk installation that doesn't come from the Microsoft source + set +e sudo apt-get remove --purge $package -y - sudo apt-get autoremove -y + set -e # Enforce the preference for the dotnet and aspnet packages comming from the Microsoft source if [ ! -f /etc/apt/preferences ] || ! grep -q "Package: dotnet\* aspnet\* netstandard\*" /etc/apt/preferences From eb503d6cf10aa2405c0838d9468d9726f99d64a7 Mon Sep 17 00:00:00 2001 From: Matheus Castello Date: Mon, 2 Dec 2024 13:24:03 -0300 Subject: [PATCH 26/34] all: Dockerfile: Adjust the build steps to use armhf instead arm The Toradex cross toolchain images use the prefix armhf instead of arm, and the templates are expecting arm as the prefix for the armv7 32bit. Signed-off-by: Matheus Castello --- aspnetBlazor/Dockerfile | 13 ++++++++++++- cConsole/Dockerfile | 2 +- cmakeConsole/Dockerfile | 2 +- cppConsole/Dockerfile | 2 +- cppQML/Dockerfile | 2 +- dotnetAvalonia/Dockerfile | 15 +++++++++++---- dotnetAvaloniaFrameBuffer/Dockerfile | 15 +++++++++++---- dotnetConsole/Dockerfile | 13 ++++++++++++- dotnetSlint/Dockerfile | 12 +++++++++++- dotnetUno5/Dockerfile | 12 +++++++++++- dotnetUno5FrameBuffer/Dockerfile | 12 +++++++++++- nodeJSTypeScript/Dockerfile | 2 +- rustConsole/Dockerfile | 2 +- rustSlint/Dockerfile | 2 +- rustSlint/Dockerfile.sdk | 2 +- zigConsole/Dockerfile | 6 +++--- 16 files changed, 90 insertions(+), 24 deletions(-) diff --git a/aspnetBlazor/Dockerfile b/aspnetBlazor/Dockerfile index 4ecb1812f..846da6a49 100644 --- a/aspnetBlazor/Dockerfile +++ b/aspnetBlazor/Dockerfile @@ -28,7 +28,18 @@ WORKDIR ${APP_ROOT} # build RUN dotnet restore __change__.csproj && \ -dotnet publish __change__.csproj -c Release -r linux-${IMAGE_ARCH} --no-self-contained + if [ "$IMAGE_ARCH" = "arm64" ] ; then \ + export ARCH=${IMAGE_ARCH} ; \ + elif [ "$IMAGE_ARCH" = "armhf" ] ; then \ + export ARCH="arm" ; \ + elif [ "$IMAGE_ARCH" = "amd64" ] ; then \ + export ARCH="x64" ; \ + fi && \ + dotnet publish __change__.csproj -c Release -r linux-${ARCH} --no-self-contained && \ + if [ "${IMAGE_ARCH}" = "amd64" ]; then \ + mv ./bin/Release/net8.0/linux-x64 ./bin/Release/net8.0/linux-amd64 ; \ + fi + # BUILD ------------------------------------------------------------------------ diff --git a/cConsole/Dockerfile b/cConsole/Dockerfile index 33a384a01..050ee44b1 100644 --- a/cConsole/Dockerfile +++ b/cConsole/Dockerfile @@ -40,7 +40,7 @@ RUN rm -rf ${APP_ROOT}/build-${IMAGE_ARCH} # Compile the application RUN if [ "$IMAGE_ARCH" = "arm64" ] ; then \ make ARCH=${IMAGE_ARCH} CC=aarch64-linux-gnu-gcc ; \ - elif [ "$IMAGE_ARCH" = "arm" ] ; then \ + elif [ "$IMAGE_ARCH" = "armhf" ] ; then \ make ARCH=${IMAGE_ARCH} CC=arm-linux-gnueabihf-gcc ; \ elif [ "$IMAGE_ARCH" = "amd64" ] ; then \ make ARCH=${IMAGE_ARCH} CC=x86_64-linux-gnu-gcc ; \ diff --git a/cmakeConsole/Dockerfile b/cmakeConsole/Dockerfile index 17edec185..dd0eea333 100644 --- a/cmakeConsole/Dockerfile +++ b/cmakeConsole/Dockerfile @@ -39,7 +39,7 @@ RUN rm -rf ${APP_ROOT}/build-${IMAGE_ARCH} RUN if [ "$IMAGE_ARCH" = "arm64" ] ; then \ cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER=aarch64-linux-gnu-g++ -DCMAKE_C_COMPILER=aarch64-linux-gnu-gcc -Bbuild-${IMAGE_ARCH} ; \ - elif [ "$IMAGE_ARCH" = "arm" ] ; then \ + elif [ "$IMAGE_ARCH" = "armhf" ] ; then \ cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER=arm-linux-gnueabihf-g++ -DCMAKE_C_COMPILER=arm-linux-gnueabihf-gcc -Bbuild-${IMAGE_ARCH} ; \ fi diff --git a/cppConsole/Dockerfile b/cppConsole/Dockerfile index 5ffac8c78..4f6fc6ae4 100644 --- a/cppConsole/Dockerfile +++ b/cppConsole/Dockerfile @@ -39,7 +39,7 @@ RUN rm -rf ${APP_ROOT}/build-${IMAGE_ARCH} # Compile the application RUN if [ "$IMAGE_ARCH" = "arm64" ] ; then \ make ARCH=${IMAGE_ARCH} CC=aarch64-linux-gnu-g++ ; \ - elif [ "$IMAGE_ARCH" = "arm" ] ; then \ + elif [ "$IMAGE_ARCH" = "armhf" ] ; then \ make ARCH=${IMAGE_ARCH} CC=arm-linux-gnueabihf-g++ ; \ elif [ "$IMAGE_ARCH" = "amd64" ] ; then \ make ARCH=${IMAGE_ARCH} CC=x86_64-linux-gnu-g++ ; \ diff --git a/cppQML/Dockerfile b/cppQML/Dockerfile index 1e1d86020..906e4df13 100644 --- a/cppQML/Dockerfile +++ b/cppQML/Dockerfile @@ -89,7 +89,7 @@ RUN rm -rf ${APP_ROOT}/build-${IMAGE_ARCH} RUN if [ "$IMAGE_ARCH" = "arm64" ] ; then \ cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER=aarch64-linux-gnu-g++ -DCMAKE_C_COMPILER=aarch64-linux-gnu-gcc -Bbuild-${IMAGE_ARCH} ; \ - elif [ "$IMAGE_ARCH" = "arm" ] ; then \ + elif [ "$IMAGE_ARCH" = "armhf" ] ; then \ cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER=arm-linux-gnueabihf-g++ -DCMAKE_C_COMPILER=arm-linux-gnueabihf-gcc -Bbuild-${IMAGE_ARCH} ; \ fi diff --git a/dotnetAvalonia/Dockerfile b/dotnetAvalonia/Dockerfile index b3ad23b77..9a23c53e0 100644 --- a/dotnetAvalonia/Dockerfile +++ b/dotnetAvalonia/Dockerfile @@ -32,10 +32,17 @@ WORKDIR ${APP_ROOT} # build RUN dotnet restore __change__.csproj && \ -dotnet publish __change__.csproj -c Release -r linux-${IMAGE_ARCH} --no-self-contained && \ -if [ "${IMAGE_ARCH}" = "amd64" ]; then \ - mv ./bin/Release/net8.0/linux-x64 ./bin/Release/net8.0/linux-amd64 ; \ -fi + if [ "$IMAGE_ARCH" = "arm64" ] ; then \ + export ARCH=${IMAGE_ARCH} ; \ + elif [ "$IMAGE_ARCH" = "armhf" ] ; then \ + export ARCH="arm" ; \ + elif [ "$IMAGE_ARCH" = "amd64" ] ; then \ + export ARCH="x64" ; \ + fi && \ + dotnet publish __change__.csproj -c Release -r linux-${ARCH} --no-self-contained && \ + if [ "${IMAGE_ARCH}" = "amd64" ]; then \ + mv ./bin/Release/net8.0/linux-x64 ./bin/Release/net8.0/linux-amd64 ; \ + fi # BUILD ------------------------------------------------------------------------ diff --git a/dotnetAvaloniaFrameBuffer/Dockerfile b/dotnetAvaloniaFrameBuffer/Dockerfile index 63fb16149..d99a4116c 100644 --- a/dotnetAvaloniaFrameBuffer/Dockerfile +++ b/dotnetAvaloniaFrameBuffer/Dockerfile @@ -34,10 +34,17 @@ WORKDIR ${APP_ROOT} # build RUN dotnet restore __change__.csproj && \ -dotnet publish __change__.csproj -c Release -r linux-${IMAGE_ARCH} --no-self-contained && \ -if [ "${IMAGE_ARCH}" = "amd64" ]; then \ - mv ./bin/Release/net8.0/linux-x64 ./bin/Release/net8.0/linux-amd64 ; \ -fi + if [ "$IMAGE_ARCH" = "arm64" ] ; then \ + export ARCH=${IMAGE_ARCH} ; \ + elif [ "$IMAGE_ARCH" = "armhf" ] ; then \ + export ARCH="arm" ; \ + elif [ "$IMAGE_ARCH" = "amd64" ] ; then \ + export ARCH="x64" ; \ + fi && \ + dotnet publish __change__.csproj -c Release -r linux-${ARCH} --no-self-contained && \ + if [ "${IMAGE_ARCH}" = "amd64" ]; then \ + mv ./bin/Release/net8.0/linux-x64 ./bin/Release/net8.0/linux-amd64 ; \ + fi # BUILD ------------------------------------------------------------------------ diff --git a/dotnetConsole/Dockerfile b/dotnetConsole/Dockerfile index 24a375c21..3cb7e965c 100644 --- a/dotnetConsole/Dockerfile +++ b/dotnetConsole/Dockerfile @@ -28,7 +28,18 @@ WORKDIR ${APP_ROOT} # build RUN dotnet restore && \ -dotnet publish -c Release -r linux-${IMAGE_ARCH} --no-self-contained + if [ "$IMAGE_ARCH" = "arm64" ] ; then \ + export ARCH=${IMAGE_ARCH} ; \ + elif [ "$IMAGE_ARCH" = "armhf" ] ; then \ + export ARCH="arm" ; \ + elif [ "$IMAGE_ARCH" = "amd64" ] ; then \ + export ARCH="x64" ; \ + fi && \ + dotnet publish -c Release -r linux-${ARCH} --no-self-contained && \ + if [ "${IMAGE_ARCH}" = "amd64" ]; then \ + mv ./bin/Release/net8.0/linux-x64 ./bin/Release/net8.0/linux-amd64 ; \ + fi + # BUILD ------------------------------------------------------------------------ diff --git a/dotnetSlint/Dockerfile b/dotnetSlint/Dockerfile index c752f2396..220beb803 100644 --- a/dotnetSlint/Dockerfile +++ b/dotnetSlint/Dockerfile @@ -40,7 +40,17 @@ WORKDIR ${APP_ROOT} # build RUN dotnet restore && \ - dotnet publish -c Release -r linux-${IMAGE_ARCH} + if [ "$IMAGE_ARCH" = "arm64" ] ; then \ + export ARCH=${IMAGE_ARCH} ; \ + elif [ "$IMAGE_ARCH" = "armhf" ] ; then \ + export ARCH="arm" ; \ + elif [ "$IMAGE_ARCH" = "amd64" ] ; then \ + export ARCH="x64" ; \ + fi && \ + dotnet publish -c Release -r linux-${ARCH} && \ + if [ "${IMAGE_ARCH}" = "amd64" ]; then \ + mv ./bin/Release/net8.0/linux-x64 ./bin/Release/net8.0/linux-amd64 ; \ + fi # BUILD ------------------------------------------------------------------------ diff --git a/dotnetUno5/Dockerfile b/dotnetUno5/Dockerfile index 2c417d4cf..8c185119c 100644 --- a/dotnetUno5/Dockerfile +++ b/dotnetUno5/Dockerfile @@ -35,7 +35,17 @@ WORKDIR ${APP_ROOT}/__change__.Skia.Gtk # build RUN dotnet restore && \ -dotnet publish -c Release -r linux-${IMAGE_ARCH} --no-self-contained + if [ "$IMAGE_ARCH" = "arm64" ] ; then \ + export ARCH=${IMAGE_ARCH} ; \ + elif [ "$IMAGE_ARCH" = "armhf" ] ; then \ + export ARCH="arm" ; \ + elif [ "$IMAGE_ARCH" = "amd64" ] ; then \ + export ARCH="x64" ; \ + fi && \ + dotnet publish -c Release -r linux-${IMAGE_ARCH} --no-self-contained && \ + if [ "${IMAGE_ARCH}" = "amd64" ]; then \ + mv ./bin/Release/net8.0/linux-x64 ./bin/Release/net8.0/linux-amd64 ; \ + fi # BUILD ------------------------------------------------------------------------ diff --git a/dotnetUno5FrameBuffer/Dockerfile b/dotnetUno5FrameBuffer/Dockerfile index 1bfb9fe50..ece94d2ba 100644 --- a/dotnetUno5FrameBuffer/Dockerfile +++ b/dotnetUno5FrameBuffer/Dockerfile @@ -36,7 +36,17 @@ WORKDIR ${APP_ROOT}/__change__.Skia.Linux.FrameBuffer # build RUN dotnet restore && \ -dotnet publish -c Release -r linux-${IMAGE_ARCH} --no-self-contained + if [ "$IMAGE_ARCH" = "arm64" ] ; then \ + export ARCH=${IMAGE_ARCH} ; \ + elif [ "$IMAGE_ARCH" = "armhf" ] ; then \ + export ARCH="arm" ; \ + elif [ "$IMAGE_ARCH" = "amd64" ] ; then \ + export ARCH="x64" ; \ + fi && \ + dotnet publish -c Release -r linux-${IMAGE_ARCH} --no-self-contained && \ + if [ "${IMAGE_ARCH}" = "amd64" ]; then \ + mv ./bin/Release/net8.0/linux-x64 ./bin/Release/net8.0/linux-amd64 ; \ + fi # BUILD ------------------------------------------------------------------------ # DOTNET ----------------------------------------------------------------------- diff --git a/nodeJSTypeScript/Dockerfile b/nodeJSTypeScript/Dockerfile index 8c1ef1638..a269ed36a 100644 --- a/nodeJSTypeScript/Dockerfile +++ b/nodeJSTypeScript/Dockerfile @@ -58,7 +58,7 @@ RUN rm -rf ${APP_ROOT}/out RUN if [ "$IMAGE_ARCH" = "arm64" ] ; then \ npm run output-arm64; \ - elif [ "$IMAGE_ARCH" = "arm" ] ; then \ + elif [ "$IMAGE_ARCH" = "armhf" ] ; then \ npm run output-arm; \ elif [ "$IMAGE_ARCH" = "amd64" ] ; then \ npm run output-amd64; \ diff --git a/rustConsole/Dockerfile b/rustConsole/Dockerfile index 75c072230..c783337e6 100644 --- a/rustConsole/Dockerfile +++ b/rustConsole/Dockerfile @@ -37,7 +37,7 @@ RUN apt-get update && \ RUN if [ "$IMAGE_ARCH" = "arm64" ] ; then \ echo aarch64-unknown-linux-gnu > ~/rust-toolchain-arch.txt; \ - elif [ "$IMAGE_ARCH" = "arm" ] ; then \ + elif [ "$IMAGE_ARCH" = "armhf" ] ; then \ echo armv7-unknown-linux-gnueabihf > ~/rust-toolchain-arch.txt; \ elif [ "$IMAGE_ARCH" = "amd64" ] ; then \ echo x86_64-unknown-linux-gnu > ~/rust-toolchain-arch.txt; \ diff --git a/rustSlint/Dockerfile b/rustSlint/Dockerfile index 7d32348ed..66f3d936c 100644 --- a/rustSlint/Dockerfile +++ b/rustSlint/Dockerfile @@ -34,7 +34,7 @@ ENV IMAGE_ARCH ${IMAGE_ARCH} RUN if [ "$IMAGE_ARCH" = "arm64" ] ; then \ echo aarch64-unknown-linux-gnu > /rust-toolchain-arch.txt; \ echo arm64 > /cross-toolchain-arch.txt; \ - elif [ "$IMAGE_ARCH" = "arm" ] ; then \ + elif [ "$IMAGE_ARCH" = "armhf" ] ; then \ echo armv7-unknown-linux-gnueabihf > /rust-toolchain-arch.txt; \ echo armhf > /cross-toolchain-arch.txt; \ elif [ "$IMAGE_ARCH" = "amd64" ] ; then \ diff --git a/rustSlint/Dockerfile.sdk b/rustSlint/Dockerfile.sdk index 461d54fd0..54faeae3f 100644 --- a/rustSlint/Dockerfile.sdk +++ b/rustSlint/Dockerfile.sdk @@ -30,7 +30,7 @@ ARG APP_ROOT RUN if [ "$IMAGE_ARCH" = "arm64" ] ; then \ echo aarch64-unknown-linux-gnu > /rust-toolchain-arch.txt; \ echo arm64 > /cross-toolchain-arch.txt; \ - elif [ "$IMAGE_ARCH" = "arm" ] ; then \ + elif [ "$IMAGE_ARCH" = "armhf" ] ; then \ echo armv7-unknown-linux-gnueabihf > /rust-toolchain-arch.txt; \ echo armhf > /cross-toolchain-arch.txt; \ elif [ "$IMAGE_ARCH" = "amd64" ] ; then \ diff --git a/zigConsole/Dockerfile b/zigConsole/Dockerfile index 73ee72b05..ca187875a 100644 --- a/zigConsole/Dockerfile +++ b/zigConsole/Dockerfile @@ -43,7 +43,7 @@ RUN if [ "$IMAGE_ARCH" = "arm64" ] ; then \ unzip zigup.ubuntu-latest-aarch64.zip -d /usr/bin && \ chmod +x /usr/bin/zigup && \ zigup --install-dir /zig 0.11.0 ; \ - elif [ "$IMAGE_ARCH" = "arm" ] ; then \ + elif [ "$IMAGE_ARCH" = "armhf" ] ; then \ wget -q https://github.com/kassane/zigup/releases/download/2023_09_29/zigup.ubuntu-latest-armv7a.zip && \ unzip zigup.ubuntu-latest-armv7a.zip -d /usr/bin && \ chmod +x /usr/bin/zigup && \ @@ -79,7 +79,7 @@ RUN rm -rf ${APP_ROOT}/target # (ReleaseSmall | ReleaseFast) no runtime stacktrace (undefined & fast) RUN if [ "$IMAGE_ARCH" = "arm64" ] ; then \ zig build -Doptimize=ReleaseSmall -Dtarget=aarch64-linux-gnu --summary all -freference-trace ; \ - elif [ "$IMAGE_ARCH" = "arm" ] ; then \ + elif [ "$IMAGE_ARCH" = "armhf" ] ; then \ zig build -Doptimize=ReleaseSmall -Dtarget=arm-linux-gnu --summary all -freference-trace ; \ elif [ "$IMAGE_ARCH" = "amd64" ] ; then \ zig build -Doptimize=ReleaseSmall -Dtarget=x86_64-linux-gnu --summary all -freference-trace ; \ @@ -88,7 +88,7 @@ RUN if [ "$IMAGE_ARCH" = "arm64" ] ; then \ RUN mkdir -p target/deploy && \ if [ "$IMAGE_ARCH" = "arm64" ] ; then \ cp -r zig-out/aarch64/ReleaseSmall/bin/* target/deploy ; \ - elif [ "$IMAGE_ARCH" = "arm" ] ; then \ + elif [ "$IMAGE_ARCH" = "armhf" ] ; then \ cp -r zig-out/arm/ReleaseSmall/bin/* target/deploy ; \ elif [ "$IMAGE_ARCH" = "amd64" ] ; then \ cp zig-out/x86_64/ReleaseSmall/bin/$APP_EXECUTABLE target/deploy ; \ From cb89081544d09b770cf9118ccdecb3ec46a42b06 Mon Sep 17 00:00:00 2001 From: Matheus Castello Date: Mon, 2 Dec 2024 21:50:09 -0300 Subject: [PATCH 27/34] dotnet: Dockerfile: Make the move of the publish folder generic Signed-off-by: Matheus Castello --- aspnetBlazor/Dockerfile | 4 +--- dotnetAvalonia/Dockerfile | 4 +--- dotnetAvaloniaFrameBuffer/Dockerfile | 4 +--- dotnetConsole/Dockerfile | 4 +--- dotnetSlint/Dockerfile | 5 ++--- dotnetUno5/Dockerfile | 5 ++--- dotnetUno5FrameBuffer/Dockerfile | 5 ++--- 7 files changed, 10 insertions(+), 21 deletions(-) diff --git a/aspnetBlazor/Dockerfile b/aspnetBlazor/Dockerfile index 846da6a49..eeb36ea2a 100644 --- a/aspnetBlazor/Dockerfile +++ b/aspnetBlazor/Dockerfile @@ -36,9 +36,7 @@ RUN dotnet restore __change__.csproj && \ export ARCH="x64" ; \ fi && \ dotnet publish __change__.csproj -c Release -r linux-${ARCH} --no-self-contained && \ - if [ "${IMAGE_ARCH}" = "amd64" ]; then \ - mv ./bin/Release/net8.0/linux-x64 ./bin/Release/net8.0/linux-amd64 ; \ - fi + mv ./bin/Release/net8.0/linux-${ARCH} ./bin/Release/net8.0/linux-${IMAGE_ARCH} # BUILD ------------------------------------------------------------------------ diff --git a/dotnetAvalonia/Dockerfile b/dotnetAvalonia/Dockerfile index 9a23c53e0..88be10ce3 100644 --- a/dotnetAvalonia/Dockerfile +++ b/dotnetAvalonia/Dockerfile @@ -40,9 +40,7 @@ RUN dotnet restore __change__.csproj && \ export ARCH="x64" ; \ fi && \ dotnet publish __change__.csproj -c Release -r linux-${ARCH} --no-self-contained && \ - if [ "${IMAGE_ARCH}" = "amd64" ]; then \ - mv ./bin/Release/net8.0/linux-x64 ./bin/Release/net8.0/linux-amd64 ; \ - fi + mv ./bin/Release/net8.0/linux-${ARCH} ./bin/Release/net8.0/linux-${IMAGE_ARCH} # BUILD ------------------------------------------------------------------------ diff --git a/dotnetAvaloniaFrameBuffer/Dockerfile b/dotnetAvaloniaFrameBuffer/Dockerfile index d99a4116c..80c66dc41 100644 --- a/dotnetAvaloniaFrameBuffer/Dockerfile +++ b/dotnetAvaloniaFrameBuffer/Dockerfile @@ -42,9 +42,7 @@ RUN dotnet restore __change__.csproj && \ export ARCH="x64" ; \ fi && \ dotnet publish __change__.csproj -c Release -r linux-${ARCH} --no-self-contained && \ - if [ "${IMAGE_ARCH}" = "amd64" ]; then \ - mv ./bin/Release/net8.0/linux-x64 ./bin/Release/net8.0/linux-amd64 ; \ - fi + mv ./bin/Release/net8.0/linux-${ARCH} ./bin/Release/net8.0/linux-${IMAGE_ARCH} # BUILD ------------------------------------------------------------------------ diff --git a/dotnetConsole/Dockerfile b/dotnetConsole/Dockerfile index 3cb7e965c..4d9d73df2 100644 --- a/dotnetConsole/Dockerfile +++ b/dotnetConsole/Dockerfile @@ -36,9 +36,7 @@ RUN dotnet restore && \ export ARCH="x64" ; \ fi && \ dotnet publish -c Release -r linux-${ARCH} --no-self-contained && \ - if [ "${IMAGE_ARCH}" = "amd64" ]; then \ - mv ./bin/Release/net8.0/linux-x64 ./bin/Release/net8.0/linux-amd64 ; \ - fi + mv ./bin/Release/net8.0/linux-${ARCH} ./bin/Release/net8.0/linux-${IMAGE_ARCH} # BUILD ------------------------------------------------------------------------ diff --git a/dotnetSlint/Dockerfile b/dotnetSlint/Dockerfile index 220beb803..d361d6505 100644 --- a/dotnetSlint/Dockerfile +++ b/dotnetSlint/Dockerfile @@ -48,9 +48,8 @@ RUN dotnet restore && \ export ARCH="x64" ; \ fi && \ dotnet publish -c Release -r linux-${ARCH} && \ - if [ "${IMAGE_ARCH}" = "amd64" ]; then \ - mv ./bin/Release/net8.0/linux-x64 ./bin/Release/net8.0/linux-amd64 ; \ - fi + mv ./bin/Release/net8.0/linux-${ARCH} ./bin/Release/net8.0/linux-${IMAGE_ARCH} + # BUILD ------------------------------------------------------------------------ diff --git a/dotnetUno5/Dockerfile b/dotnetUno5/Dockerfile index 8c185119c..36015ef98 100644 --- a/dotnetUno5/Dockerfile +++ b/dotnetUno5/Dockerfile @@ -43,9 +43,8 @@ RUN dotnet restore && \ export ARCH="x64" ; \ fi && \ dotnet publish -c Release -r linux-${IMAGE_ARCH} --no-self-contained && \ - if [ "${IMAGE_ARCH}" = "amd64" ]; then \ - mv ./bin/Release/net8.0/linux-x64 ./bin/Release/net8.0/linux-amd64 ; \ - fi + mv ./bin/Release/net8.0/linux-${ARCH} ./bin/Release/net8.0/linux-${IMAGE_ARCH} + # BUILD ------------------------------------------------------------------------ diff --git a/dotnetUno5FrameBuffer/Dockerfile b/dotnetUno5FrameBuffer/Dockerfile index ece94d2ba..d5f868edf 100644 --- a/dotnetUno5FrameBuffer/Dockerfile +++ b/dotnetUno5FrameBuffer/Dockerfile @@ -44,9 +44,8 @@ RUN dotnet restore && \ export ARCH="x64" ; \ fi && \ dotnet publish -c Release -r linux-${IMAGE_ARCH} --no-self-contained && \ - if [ "${IMAGE_ARCH}" = "amd64" ]; then \ - mv ./bin/Release/net8.0/linux-x64 ./bin/Release/net8.0/linux-amd64 ; \ - fi + mv ./bin/Release/net8.0/linux-${ARCH} ./bin/Release/net8.0/linux-${IMAGE_ARCH} + # BUILD ------------------------------------------------------------------------ # DOTNET ----------------------------------------------------------------------- From 711eb70d87ada014ee6662221d94e529a655eed1 Mon Sep 17 00:00:00 2001 From: Matheus Castello Date: Wed, 4 Dec 2024 12:43:38 -0300 Subject: [PATCH 28/34] tasks: common: Add CROSS_SDK_BASE_TAG to the build args As there is no consistency in the Toradex official images, we need to specify the CROSS_SDK_BASE_TAG to the build args to ensure that the correct version of the SDK is used. Signed-off-by: Matheus Castello --- assets/tasks/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/assets/tasks/common.json b/assets/tasks/common.json index cbff05707..0a0b9584c 100644 --- a/assets/tasks/common.json +++ b/assets/tasks/common.json @@ -914,6 +914,8 @@ "--build-arg", "IMAGE_ARCH=armhf", "--build-arg", + "CROSS_SDK_BASE_TAG=3.5.0", + "--build-arg", "DEBUG_SSH_PORT=${config:torizon_debug_ssh_port}", "--build-arg", "GPU=${config:torizon_gpu}", @@ -1046,6 +1048,8 @@ "--build-arg", "IMAGE_ARCH=armhf", "--build-arg", + "CROSS_SDK_BASE_TAG=3.5.0", + "--build-arg", "GPU=${config:torizon_gpu}", "--build-arg", "APP_ROOT=${config:torizon_app_root}" @@ -1524,6 +1528,8 @@ "--build-arg", "IMAGE_ARCH=armhf", "--build-arg", + "CROSS_SDK_BASE_TAG=3.5.0", + "--build-arg", "GPU=${config:torizon_gpu}", "__container__" ], From d6baa6d75d5d2e92d9db2f10bc93e28a599dacc2 Mon Sep 17 00:00:00 2001 From: Matheus Castello Date: Wed, 4 Dec 2024 13:06:54 -0300 Subject: [PATCH 29/34] scripts: createDockerComposeProduction: Fix arm 32bit architecture Following the changes for have the arm 32bit architecture as armhf instead of arm, this commit updates the script to reflect this change. Signed-off-by: Matheus Castello --- scripts/createDockerComposeProduction.ps1 | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/scripts/createDockerComposeProduction.ps1 b/scripts/createDockerComposeProduction.ps1 index 44110e1b7..03d92be3b 100644 --- a/scripts/createDockerComposeProduction.ps1 +++ b/scripts/createDockerComposeProduction.ps1 @@ -62,7 +62,9 @@ if ($null -eq $env:TORIZON_ARCH) { if ($TORIZON_ARCH -eq "aarch64") { $TORIZON_ARCH = "arm64" } elseif ($TORIZON_ARCH -eq "armv7l") { - $TORIZON_ARCH = "arm" + $TORIZON_ARCH = "armhf" + } elseif ($TORIZON_ARCH -eq "arm") { + $TORIZON_ARCH = "armhf" } elseif ($TORIZON_ARCH -eq "x86_64") { $TORIZON_ARCH = "amd64" } elseif ($TORIZON_ARCH -eq "riscv") { From 8e562af2040c0eb4c484b7427bab938e15523f70 Mon Sep 17 00:00:00 2001 From: Matheus Castello Date: Wed, 4 Dec 2024 23:59:12 -0300 Subject: [PATCH 30/34] scripts: createDockerComposeProduction: Use tasks to build release This also need a change on the docker_tag setting. This is now pre-filled with v0.0.0, and then the user need to change it to the desired tag. Signed-off-by: Matheus Castello --- aspnetBlazor/.vscode/settings.json | 1 + assets/tasks/common.json | 27 ++++++++++--------- cConsole/.vscode/settings.json | 1 + cmakeConsole/.vscode/settings.json | 1 + cppConsole/.vscode/settings.json | 1 + cppQML/.vscode/settings.json | 1 + cppSlint/.vscode/settings.json | 1 + dotnetAvalonia/.vscode/settings.json | 1 + .../.vscode/settings.json | 1 + dotnetConsole/.vscode/settings.json | 1 + dotnetSlint/.vscode/settings.json | 1 + dotnetUno5/.vscode/settings.json | 1 + dotnetUno5FrameBuffer/.vscode/settings.json | 1 + empty/.vscode/settings.json | 1 + gambasForms/.vscode/settings.json | 1 + genericTemplate/.vscode/settings.json | 1 + javaForms/.vscode/settings.json | 1 + monoCsharpForms/.vscode/settings.json | 1 + nodeElectron/.vscode/settings.json | 1 + nodeJSTypeScript/.vscode/settings.json | 1 + python3Console/.vscode/settings.json | 1 + python3Pyside2QML/.vscode/settings.json | 1 + rustConsole/.vscode/settings.json | 1 + rustSlint/.vscode/settings.json | 1 + scripts/createDockerComposeProduction.ps1 | 22 +++++++-------- scripts/updateSettingsFields.ps1 | 1 + tcb/.vscode/settings.json | 1 + zigConsole/.vscode/settings.json | 1 + 28 files changed, 52 insertions(+), 23 deletions(-) diff --git a/aspnetBlazor/.vscode/settings.json b/aspnetBlazor/.vscode/settings.json index 7cdd152be..f3c49fc38 100644 --- a/aspnetBlazor/.vscode/settings.json +++ b/aspnetBlazor/.vscode/settings.json @@ -14,6 +14,7 @@ "wait_sync": "1", "torizon_run_as": "torizon", "torizon_app_root": "/home/torizon/app", + "docker_tag": "v0.0.0", "tcb.packageName": "__change__", "tcb.version": "3.11.0", "torizon.gpuPrefixRC": true diff --git a/assets/tasks/common.json b/assets/tasks/common.json index 0a0b9584c..1de3e5c5f 100644 --- a/assets/tasks/common.json +++ b/assets/tasks/common.json @@ -1459,8 +1459,9 @@ "options": { "env": { "DOCKER_LOGIN": "localhost:5002", - "TAG": "arm64", + "TAG": "${config:docker_tag}", "GPU": "${config:torizon_gpu}", + "APP_ROOT": "${config:torizon_app_root}", "DEBUG_SSH_PORT": "${config:torizon_debug_ssh_port}", "DEBUG_PORT1": "${config:torizon_debug_port1}", "DEBUG_PORT2": "${config:torizon_debug_port2}", @@ -1508,8 +1509,9 @@ "options": { "env": { "DOCKER_LOGIN": "localhost:5002", - "TAG": "arm", + "TAG": "${config:docker_tag}", "GPU": "${config:torizon_gpu}", + "APP_ROOT": "${config:torizon_app_root}", "DEBUG_SSH_PORT": "${config:torizon_debug_ssh_port}", "DEBUG_PORT1": "${config:torizon_debug_port1}", "DEBUG_PORT2": "${config:torizon_debug_port2}", @@ -1559,8 +1561,9 @@ "options": { "env": { "DOCKER_LOGIN": "localhost:5002", - "TAG": "amd64", + "TAG": "${config:docker_tag}", "GPU": "${config:torizon_gpu}", + "APP_ROOT": "${config:torizon_app_root}", "DEBUG_SSH_PORT": "${config:torizon_debug_ssh_port}", "DEBUG_PORT1": "${config:torizon_debug_port1}", "DEBUG_PORT2": "${config:torizon_debug_port2}", @@ -1608,7 +1611,7 @@ "options": { "env": { "DOCKER_LOGIN": "localhost:5002", - "TAG": "arm64", + "TAG": "${config:docker_tag}", "DEBUG_SSH_PORT": "${config:torizon_debug_ssh_port}", "DEBUG_PORT1": "${config:torizon_debug_port1}", "DEBUG_PORT2": "${config:torizon_debug_port2}", @@ -1647,7 +1650,7 @@ "options": { "env": { "DOCKER_LOGIN": "localhost:5002", - "TAG": "arm", + "TAG": "${config:docker_tag}", "DEBUG_SSH_PORT": "${config:torizon_debug_ssh_port}", "DEBUG_PORT1": "${config:torizon_debug_port1}", "DEBUG_PORT2": "${config:torizon_debug_port2}", @@ -1686,7 +1689,7 @@ "options": { "env": { "DOCKER_LOGIN": "localhost:5002", - "TAG": "amd64", + "TAG": "${config:docker_tag}", "DEBUG_SSH_PORT": "${config:torizon_debug_ssh_port}", "DEBUG_PORT1": "${config:torizon_debug_port1}", "DEBUG_PORT2": "${config:torizon_debug_port2}", @@ -1725,7 +1728,7 @@ "args": [ "LOCAL_REGISTRY=${config:host_ip}", "DOCKER_LOGIN=${config:host_ip}:5002", - "TAG=arm64", + "TAG=${config:docker_tag}", "GPU=${config:torizon_gpu}", "DEBUG_SSH_PORT=${config:torizon_debug_ssh_port}", "DEBUG_PORT1=${config:torizon_debug_port1}", @@ -1762,7 +1765,7 @@ "args": [ "LOCAL_REGISTRY=${config:host_ip}", "DOCKER_LOGIN=${config:host_ip}:5002", - "TAG=arm", + "TAG=${config:docker_tag}", "GPU=${config:torizon_gpu}", "DEBUG_SSH_PORT=${config:torizon_debug_ssh_port}", "DEBUG_PORT1=${config:torizon_debug_port1}", @@ -1799,7 +1802,7 @@ "args": [ "LOCAL_REGISTRY=${config:host_ip}", "DOCKER_LOGIN=${config:host_ip}:5002", - "TAG=amd64", + "TAG=${config:docker_tag}", "GPU=${config:torizon_gpu}", "DEBUG_SSH_PORT=${config:torizon_debug_ssh_port}", "DEBUG_PORT1=${config:torizon_debug_port1}", @@ -1834,7 +1837,7 @@ "type": "shell", "args": [ "DOCKER_LOGIN=${config:host_ip}:5002", - "TAG=arm64", + "TAG=${config:docker_tag}", "GPU=${config:torizon_gpu}", "DEBUG_SSH_PORT=${config:torizon_debug_ssh_port}", "DEBUG_PORT1=${config:torizon_debug_port1}", @@ -1878,7 +1881,7 @@ "type": "shell", "args": [ "DOCKER_LOGIN=${config:host_ip}:5002", - "TAG=arm", + "TAG=${config:docker_tag}", "GPU=${config:torizon_gpu}", "DEBUG_SSH_PORT=${config:torizon_debug_ssh_port}", "DEBUG_PORT1=${config:torizon_debug_port1}", @@ -1922,7 +1925,7 @@ "type": "shell", "args": [ "DOCKER_LOGIN=${config:host_ip}:5002", - "TAG=amd64", + "TAG=${config:docker_tag}", "GPU=${config:torizon_gpu}", "DEBUG_SSH_PORT=${config:torizon_debug_ssh_port}", "DEBUG_PORT1=${config:torizon_debug_port1}", diff --git a/cConsole/.vscode/settings.json b/cConsole/.vscode/settings.json index 721ea5a45..5a93338e9 100644 --- a/cConsole/.vscode/settings.json +++ b/cConsole/.vscode/settings.json @@ -14,6 +14,7 @@ "wait_sync": "1", "torizon_run_as": "torizon", "torizon_app_root": "/home/torizon/app", + "docker_tag": "v0.0.0", "tcb.packageName": "__change__", "tcb.version": "3.11.0", "torizon.gpuPrefixRC": true, diff --git a/cmakeConsole/.vscode/settings.json b/cmakeConsole/.vscode/settings.json index 721ea5a45..5a93338e9 100644 --- a/cmakeConsole/.vscode/settings.json +++ b/cmakeConsole/.vscode/settings.json @@ -14,6 +14,7 @@ "wait_sync": "1", "torizon_run_as": "torizon", "torizon_app_root": "/home/torizon/app", + "docker_tag": "v0.0.0", "tcb.packageName": "__change__", "tcb.version": "3.11.0", "torizon.gpuPrefixRC": true, diff --git a/cppConsole/.vscode/settings.json b/cppConsole/.vscode/settings.json index 721ea5a45..5a93338e9 100644 --- a/cppConsole/.vscode/settings.json +++ b/cppConsole/.vscode/settings.json @@ -14,6 +14,7 @@ "wait_sync": "1", "torizon_run_as": "torizon", "torizon_app_root": "/home/torizon/app", + "docker_tag": "v0.0.0", "tcb.packageName": "__change__", "tcb.version": "3.11.0", "torizon.gpuPrefixRC": true, diff --git a/cppQML/.vscode/settings.json b/cppQML/.vscode/settings.json index 76a2df458..acb448c64 100644 --- a/cppQML/.vscode/settings.json +++ b/cppQML/.vscode/settings.json @@ -14,6 +14,7 @@ "wait_sync": "1", "torizon_run_as": "torizon", "torizon_app_root": "/home/torizon/app", + "docker_tag": "v0.0.0", "tcb.packageName": "__change__", "tcb.version": "3.11.0", "torizon.gpuPrefixRC": false, diff --git a/cppSlint/.vscode/settings.json b/cppSlint/.vscode/settings.json index a861cbe29..669e8760c 100644 --- a/cppSlint/.vscode/settings.json +++ b/cppSlint/.vscode/settings.json @@ -14,6 +14,7 @@ "wait_sync": "1", "torizon_run_as": "torizon", "torizon_app_root": "/home/torizon/app", + "docker_tag": "v0.0.0", "tcb.packageName": "__change__", "tcb.version": "3.11.0", "torizon.gpuPrefixRC": true, diff --git a/dotnetAvalonia/.vscode/settings.json b/dotnetAvalonia/.vscode/settings.json index 6725d4c44..43c679da8 100644 --- a/dotnetAvalonia/.vscode/settings.json +++ b/dotnetAvalonia/.vscode/settings.json @@ -14,6 +14,7 @@ "wait_sync": "1", "torizon_run_as": "torizon", "torizon_app_root": "/home/torizon/app", + "docker_tag": "v0.0.0", "tcb.packageName": "__change__", "tcb.version": "3.11.0", "torizon.gpuPrefixRC": true, diff --git a/dotnetAvaloniaFrameBuffer/.vscode/settings.json b/dotnetAvaloniaFrameBuffer/.vscode/settings.json index ae950985b..8ee6de87e 100644 --- a/dotnetAvaloniaFrameBuffer/.vscode/settings.json +++ b/dotnetAvaloniaFrameBuffer/.vscode/settings.json @@ -14,6 +14,7 @@ "wait_sync": "1", "torizon_run_as": "torizon", "torizon_app_root": "/home/torizon/app", + "docker_tag": "v0.0.0", "tcb.packageName": "__change__", "tcb.version": "3.11.0", "torizon.gpuPrefixRC": true, diff --git a/dotnetConsole/.vscode/settings.json b/dotnetConsole/.vscode/settings.json index 7cdd152be..f3c49fc38 100644 --- a/dotnetConsole/.vscode/settings.json +++ b/dotnetConsole/.vscode/settings.json @@ -14,6 +14,7 @@ "wait_sync": "1", "torizon_run_as": "torizon", "torizon_app_root": "/home/torizon/app", + "docker_tag": "v0.0.0", "tcb.packageName": "__change__", "tcb.version": "3.11.0", "torizon.gpuPrefixRC": true diff --git a/dotnetSlint/.vscode/settings.json b/dotnetSlint/.vscode/settings.json index 29511cd48..8a519a801 100644 --- a/dotnetSlint/.vscode/settings.json +++ b/dotnetSlint/.vscode/settings.json @@ -14,6 +14,7 @@ "wait_sync": "1", "torizon_run_as": "torizon", "torizon_app_root": "/home/torizon/app", + "docker_tag": "v0.0.0", "tcb.packageName": "__change__", "tcb.version": "3.11.0", "torizon.gpuPrefixRC": true, diff --git a/dotnetUno5/.vscode/settings.json b/dotnetUno5/.vscode/settings.json index 52ec4efa3..dfccf5384 100644 --- a/dotnetUno5/.vscode/settings.json +++ b/dotnetUno5/.vscode/settings.json @@ -14,6 +14,7 @@ "wait_sync": "1", "torizon_run_as": "torizon", "torizon_app_root": "/home/torizon/app", + "docker_tag": "v0.0.0", "tcb.packageName": "__change__", "tcb.version": "3.11.0", "torizon.gpuPrefixRC": true, diff --git a/dotnetUno5FrameBuffer/.vscode/settings.json b/dotnetUno5FrameBuffer/.vscode/settings.json index 04e686f7a..521828940 100644 --- a/dotnetUno5FrameBuffer/.vscode/settings.json +++ b/dotnetUno5FrameBuffer/.vscode/settings.json @@ -14,6 +14,7 @@ "wait_sync": "1", "torizon_run_as": "torizon", "torizon_app_root": "/home/torizon/app", + "docker_tag": "v0.0.0", "tcb.packageName": "__change__", "tcb.version": "3.11.0", "torizon.gpuPrefixRC": true, diff --git a/empty/.vscode/settings.json b/empty/.vscode/settings.json index 7728bb3e7..0aa6e59fa 100644 --- a/empty/.vscode/settings.json +++ b/empty/.vscode/settings.json @@ -14,6 +14,7 @@ "wait_sync": "1", "torizon_run_as": "torizon", "torizon_app_root": "/home/torizon/app", + "docker_tag": "v0.0.0", "tcb.packageName": "__change__", "tcb.version": "3.11.0", "torizon.gpuPrefixRC": true diff --git a/gambasForms/.vscode/settings.json b/gambasForms/.vscode/settings.json index 37e5a054e..a9c308e51 100644 --- a/gambasForms/.vscode/settings.json +++ b/gambasForms/.vscode/settings.json @@ -14,6 +14,7 @@ "wait_sync": "1", "torizon_run_as": "torizon", "torizon_app_root": "/home/torizon/app", + "docker_tag": "v0.0.0", "tcb.packageName": "__change__", "tcb.version": "3.11.0", "torizon.gpuPrefixRC": true, diff --git a/genericTemplate/.vscode/settings.json b/genericTemplate/.vscode/settings.json index 8a71c6957..48be4f422 100644 --- a/genericTemplate/.vscode/settings.json +++ b/genericTemplate/.vscode/settings.json @@ -14,6 +14,7 @@ "wait_sync": "1", "torizon_run_as": "torizon", "torizon_app_root": "/home/torizon/app", + "docker_tag": "v0.0.0", "tcb.packageName": "__change__", "tcb.version": "3.11.0", "torizon.gpuPrefixRC": true, diff --git a/javaForms/.vscode/settings.json b/javaForms/.vscode/settings.json index 2f1f98234..0b63af3ff 100644 --- a/javaForms/.vscode/settings.json +++ b/javaForms/.vscode/settings.json @@ -14,6 +14,7 @@ "wait_sync": "1", "torizon_run_as": "torizon", "torizon_app_root": "/home/torizon/app", + "docker_tag": "v0.0.0", "tcb.packageName": "__change__", "tcb.version": "3.11.0", "torizon.gpuPrefixRC": true, diff --git a/monoCsharpForms/.vscode/settings.json b/monoCsharpForms/.vscode/settings.json index e15e09ab2..de091a5a3 100644 --- a/monoCsharpForms/.vscode/settings.json +++ b/monoCsharpForms/.vscode/settings.json @@ -14,6 +14,7 @@ "wait_sync": "1", "torizon_run_as": "torizon", "torizon_app_root": "/home/torizon/app", + "docker_tag": "v0.0.0", "tcb.packageName": "__change__", "tcb.version": "3.11.0", "torizon.gpuPrefixRC": true, diff --git a/nodeElectron/.vscode/settings.json b/nodeElectron/.vscode/settings.json index 552ea0f1b..9ad096a67 100644 --- a/nodeElectron/.vscode/settings.json +++ b/nodeElectron/.vscode/settings.json @@ -14,6 +14,7 @@ "wait_sync": "1", "torizon_run_as": "torizon", "torizon_app_root": "/home/torizon/app", + "docker_tag": "v0.0.0", "tcb.packageName": "__change__", "tcb.version": "3.11.0", "torizon.gpuPrefixRC": true diff --git a/nodeJSTypeScript/.vscode/settings.json b/nodeJSTypeScript/.vscode/settings.json index 729b99f26..5320c54f3 100644 --- a/nodeJSTypeScript/.vscode/settings.json +++ b/nodeJSTypeScript/.vscode/settings.json @@ -14,6 +14,7 @@ "wait_sync": "1", "torizon_run_as": "torizon", "torizon_app_root": "/home/torizon/app", + "docker_tag": "v0.0.0", "tcb.packageName": "__change__", "tcb.version": "3.11.0", "torizon.gpuPrefixRC": true diff --git a/python3Console/.vscode/settings.json b/python3Console/.vscode/settings.json index 42f2d2947..74bd45399 100644 --- a/python3Console/.vscode/settings.json +++ b/python3Console/.vscode/settings.json @@ -14,6 +14,7 @@ "wait_sync": "1", "torizon_run_as": "torizon", "torizon_app_root": "/home/torizon/app", + "docker_tag": "v0.0.0", "tcb.packageName": "__change__", "tcb.version": "3.11.0", "torizon.gpuPrefixRC": true, diff --git a/python3Pyside2QML/.vscode/settings.json b/python3Pyside2QML/.vscode/settings.json index 8eec97a2d..63c6cb872 100644 --- a/python3Pyside2QML/.vscode/settings.json +++ b/python3Pyside2QML/.vscode/settings.json @@ -14,6 +14,7 @@ "wait_sync": "1", "torizon_run_as": "torizon", "torizon_app_root": "/home/torizon/app", + "docker_tag": "v0.0.0", "tcb.packageName": "__change__", "tcb.version": "3.11.0", "torizon.gpuPrefixRC": true, diff --git a/rustConsole/.vscode/settings.json b/rustConsole/.vscode/settings.json index de588b5fd..090971875 100644 --- a/rustConsole/.vscode/settings.json +++ b/rustConsole/.vscode/settings.json @@ -14,6 +14,7 @@ "wait_sync": "1", "torizon_run_as": "torizon", "torizon_app_root": "/home/torizon/app", + "docker_tag": "v0.0.0", "tcb.packageName": "__change__", "tcb.version": "3.11.0", "torizon.gpuPrefixRC": true diff --git a/rustSlint/.vscode/settings.json b/rustSlint/.vscode/settings.json index c780bf350..21c73b6eb 100644 --- a/rustSlint/.vscode/settings.json +++ b/rustSlint/.vscode/settings.json @@ -14,6 +14,7 @@ "wait_sync": "1", "torizon_run_as": "torizon", "torizon_app_root": "/home/torizon/app", + "docker_tag": "v0.0.0", "tcb.packageName": "__change__", "tcb.version": "3.11.0", "torizon.gpuPrefixRC": true diff --git a/scripts/createDockerComposeProduction.ps1 b/scripts/createDockerComposeProduction.ps1 index 03d92be3b..dfa19db00 100644 --- a/scripts/createDockerComposeProduction.ps1 +++ b/scripts/createDockerComposeProduction.ps1 @@ -62,9 +62,11 @@ if ($null -eq $env:TORIZON_ARCH) { if ($TORIZON_ARCH -eq "aarch64") { $TORIZON_ARCH = "arm64" } elseif ($TORIZON_ARCH -eq "armv7l") { - $TORIZON_ARCH = "armhf" + $TORIZON_ARCH = "arm" } elseif ($TORIZON_ARCH -eq "arm") { - $TORIZON_ARCH = "armhf" + $TORIZON_ARCH = "arm" + } elseif ($TORIZON_ARCH -eq "armhf") { + $TORIZON_ARCH = "arm" } elseif ($TORIZON_ARCH -eq "x86_64") { $TORIZON_ARCH = "amd64" } elseif ($TORIZON_ARCH -eq "riscv") { @@ -74,10 +76,10 @@ if ($null -eq $env:TORIZON_ARCH) { $imageArch = $TORIZON_ARCH } -if ($null -eq $env:APP_ROOT) { +if ( + [string]::IsNullOrEmpty($env:APP_ROOT) +) { throw "❌ APP_ROOT not set" -} else { - $appRoot = $env:APP_ROOT } if ($env:TASKS_ITERATIVE -eq $False) { @@ -130,7 +132,7 @@ if ([string]::IsNullOrEmpty($tag)) { } if ([string]::IsNullOrEmpty($tag)) { - throw "❌ Docker image tag cannot be empty" + throw "❌ Docker image tag cannot be empty. Please run the fill-pipeline-settings task." } } @@ -157,11 +159,9 @@ Set-Location $compoFilePath # rebuild and tag Write-Host "Rebuilding $env:DOCKER_LOGIN/${imageName}:$tag ..." -docker compose build ` - --build-arg APP_ROOT=$appRoot ` - --build-arg IMAGE_ARCH=$imageArch ` - --build-arg GPU=$gpu ` - $imageName +# run the build-container-torizon-release- but without override the env +$env:TASKS_OVERRIDE_ENV = $false +./.vscode/tasks.ps1 run "build-container-torizon-release-$imageArch" Set-Location - diff --git a/scripts/updateSettingsFields.ps1 b/scripts/updateSettingsFields.ps1 index ba406446b..cb3da8b4f 100644 --- a/scripts/updateSettingsFields.ps1 +++ b/scripts/updateSettingsFields.ps1 @@ -32,6 +32,7 @@ $settingsTemplate = [PSCustomObject]@{ "wait_sync" = "1" "torizon_run_as" = "torizon" "torizon_app_root" = "/home/torizon/app" + "docker_tag" = "v0.0.0" "tcb.packageName" = "__change__" "tcb.version" = "3.11.0" "torizon.gpuPrefixRC" = $false diff --git a/tcb/.vscode/settings.json b/tcb/.vscode/settings.json index dbbe644b7..864034965 100644 --- a/tcb/.vscode/settings.json +++ b/tcb/.vscode/settings.json @@ -14,6 +14,7 @@ "wait_sync": "1", "torizon_run_as": "torizon", "torizon_app_root": "/home/torizon", + "docker_tag": "v0.0.0", "tcb.packageName": "__change__", "tcb.version": "3.11.0", "torizon.gpuPrefixRC": true, diff --git a/zigConsole/.vscode/settings.json b/zigConsole/.vscode/settings.json index 03221b929..7bbe8c76b 100644 --- a/zigConsole/.vscode/settings.json +++ b/zigConsole/.vscode/settings.json @@ -14,6 +14,7 @@ "wait_sync": "1", "torizon_run_as": "torizon", "torizon_app_root": "/home/torizon/app", + "docker_tag": "v0.0.0", "tcb.packageName": "__change__", "tcb.version": "early-access", "torizon.gpuPrefixRC": true From dc6f769e8ec8a21936ab3bfaf13219cf3de65510 Mon Sep 17 00:00:00 2001 From: Matheus Castello Date: Fri, 6 Dec 2024 12:19:03 -0300 Subject: [PATCH 31/34] dotnet*: Dockerfile: Fix edge case when ARCH and IMAGE_ARCH are equal Like on arm64, the ARCH and IMAGE_ARCH are equal, so the mv command fails, this patch adds a if to check if the paths are different before moving the files. Signed-off-by: Matheus Castello --- dotnetAvalonia/Dockerfile | 5 ++++- dotnetAvaloniaFrameBuffer/Dockerfile | 5 ++++- dotnetConsole/Dockerfile | 5 ++++- dotnetSlint/Dockerfile | 5 ++++- dotnetUno5/Dockerfile | 5 ++++- dotnetUno5FrameBuffer/Dockerfile | 5 ++++- 6 files changed, 24 insertions(+), 6 deletions(-) diff --git a/dotnetAvalonia/Dockerfile b/dotnetAvalonia/Dockerfile index 88be10ce3..57beffce7 100644 --- a/dotnetAvalonia/Dockerfile +++ b/dotnetAvalonia/Dockerfile @@ -40,7 +40,10 @@ RUN dotnet restore __change__.csproj && \ export ARCH="x64" ; \ fi && \ dotnet publish __change__.csproj -c Release -r linux-${ARCH} --no-self-contained && \ - mv ./bin/Release/net8.0/linux-${ARCH} ./bin/Release/net8.0/linux-${IMAGE_ARCH} + # this if is a edge case when the ARCH and IMAGE_ARCH are equal, like arm64 + if [ "./bin/Release/net8.0/linux-${ARCH}" != "./bin/Release/net8.0/linux-${IMAGE_ARCH}" ]; then \ + mv ./bin/Release/net8.0/linux-${ARCH} ./bin/Release/net8.0/linux-${IMAGE_ARCH}; \ + fi # BUILD ------------------------------------------------------------------------ diff --git a/dotnetAvaloniaFrameBuffer/Dockerfile b/dotnetAvaloniaFrameBuffer/Dockerfile index 80c66dc41..50ad306ef 100644 --- a/dotnetAvaloniaFrameBuffer/Dockerfile +++ b/dotnetAvaloniaFrameBuffer/Dockerfile @@ -42,7 +42,10 @@ RUN dotnet restore __change__.csproj && \ export ARCH="x64" ; \ fi && \ dotnet publish __change__.csproj -c Release -r linux-${ARCH} --no-self-contained && \ - mv ./bin/Release/net8.0/linux-${ARCH} ./bin/Release/net8.0/linux-${IMAGE_ARCH} + # this if is a edge case when the ARCH and IMAGE_ARCH are equal, like arm64 + if [ "./bin/Release/net8.0/linux-${ARCH}" != "./bin/Release/net8.0/linux-${IMAGE_ARCH}" ]; then \ + mv ./bin/Release/net8.0/linux-${ARCH} ./bin/Release/net8.0/linux-${IMAGE_ARCH}; \ + fi # BUILD ------------------------------------------------------------------------ diff --git a/dotnetConsole/Dockerfile b/dotnetConsole/Dockerfile index 4d9d73df2..cfd3907f4 100644 --- a/dotnetConsole/Dockerfile +++ b/dotnetConsole/Dockerfile @@ -36,7 +36,10 @@ RUN dotnet restore && \ export ARCH="x64" ; \ fi && \ dotnet publish -c Release -r linux-${ARCH} --no-self-contained && \ - mv ./bin/Release/net8.0/linux-${ARCH} ./bin/Release/net8.0/linux-${IMAGE_ARCH} + # this if is a edge case when the ARCH and IMAGE_ARCH are equal, like arm64 + if [ "./bin/Release/net8.0/linux-${ARCH}" != "./bin/Release/net8.0/linux-${IMAGE_ARCH}" ]; then \ + mv ./bin/Release/net8.0/linux-${ARCH} ./bin/Release/net8.0/linux-${IMAGE_ARCH}; \ + fi # BUILD ------------------------------------------------------------------------ diff --git a/dotnetSlint/Dockerfile b/dotnetSlint/Dockerfile index d361d6505..285508847 100644 --- a/dotnetSlint/Dockerfile +++ b/dotnetSlint/Dockerfile @@ -48,7 +48,10 @@ RUN dotnet restore && \ export ARCH="x64" ; \ fi && \ dotnet publish -c Release -r linux-${ARCH} && \ - mv ./bin/Release/net8.0/linux-${ARCH} ./bin/Release/net8.0/linux-${IMAGE_ARCH} + # this if is a edge case when the ARCH and IMAGE_ARCH are equal, like arm64 + if [ "./bin/Release/net8.0/linux-${ARCH}" != "./bin/Release/net8.0/linux-${IMAGE_ARCH}" ]; then \ + mv ./bin/Release/net8.0/linux-${ARCH} ./bin/Release/net8.0/linux-${IMAGE_ARCH}; \ + fi # BUILD ------------------------------------------------------------------------ diff --git a/dotnetUno5/Dockerfile b/dotnetUno5/Dockerfile index 36015ef98..246782670 100644 --- a/dotnetUno5/Dockerfile +++ b/dotnetUno5/Dockerfile @@ -43,7 +43,10 @@ RUN dotnet restore && \ export ARCH="x64" ; \ fi && \ dotnet publish -c Release -r linux-${IMAGE_ARCH} --no-self-contained && \ - mv ./bin/Release/net8.0/linux-${ARCH} ./bin/Release/net8.0/linux-${IMAGE_ARCH} + # this if is a edge case when the ARCH and IMAGE_ARCH are equal, like arm64 + if [ "./bin/Release/net8.0/linux-${ARCH}" != "./bin/Release/net8.0/linux-${IMAGE_ARCH}" ]; then \ + mv ./bin/Release/net8.0/linux-${ARCH} ./bin/Release/net8.0/linux-${IMAGE_ARCH}; \ + fi # BUILD ------------------------------------------------------------------------ diff --git a/dotnetUno5FrameBuffer/Dockerfile b/dotnetUno5FrameBuffer/Dockerfile index d5f868edf..9f2a5d16e 100644 --- a/dotnetUno5FrameBuffer/Dockerfile +++ b/dotnetUno5FrameBuffer/Dockerfile @@ -44,7 +44,10 @@ RUN dotnet restore && \ export ARCH="x64" ; \ fi && \ dotnet publish -c Release -r linux-${IMAGE_ARCH} --no-self-contained && \ - mv ./bin/Release/net8.0/linux-${ARCH} ./bin/Release/net8.0/linux-${IMAGE_ARCH} + # this if is a edge case when the ARCH and IMAGE_ARCH are equal, like arm64 + if [ "./bin/Release/net8.0/linux-${ARCH}" != "./bin/Release/net8.0/linux-${IMAGE_ARCH}" ]; then \ + mv ./bin/Release/net8.0/linux-${ARCH} ./bin/Release/net8.0/linux-${IMAGE_ARCH}; \ + fi # BUILD ------------------------------------------------------------------------ From 5062a35d09b234f2a33e9390663269a3351f95ca Mon Sep 17 00:00:00 2001 From: Matheus Castello Date: Fri, 6 Dec 2024 12:23:46 -0300 Subject: [PATCH 32/34] dotnet*: conf: Add Dockerfile to update.json With the last changes on how the arch is handled on the tasks, the Dockerfile for production needs update. Signed-off-by: Matheus Castello --- dotnetAvalonia/.conf/update.json | 4 ++++ dotnetAvaloniaFrameBuffer/.conf/update.json | 4 ++++ dotnetConsole/.conf/update.json | 4 ++++ dotnetSlint/.conf/update.json | 4 ++++ dotnetUno5/.conf/update.json | 4 ++++ dotnetUno5FrameBuffer/.conf/update.json | 4 ++++ 6 files changed, 24 insertions(+) diff --git a/dotnetAvalonia/.conf/update.json b/dotnetAvalonia/.conf/update.json index 5f06c70c8..14d1915dc 100644 --- a/dotnetAvalonia/.conf/update.json +++ b/dotnetAvalonia/.conf/update.json @@ -58,5 +58,9 @@ { "source": "Assets/avalonia-logo.ico", "target": "Assets/avalonia-logo.ico" + }, + { + "source": "Dockerfile", + "target": "Dockerfile" } ] diff --git a/dotnetAvaloniaFrameBuffer/.conf/update.json b/dotnetAvaloniaFrameBuffer/.conf/update.json index 014e0bcc1..1475567b7 100644 --- a/dotnetAvaloniaFrameBuffer/.conf/update.json +++ b/dotnetAvaloniaFrameBuffer/.conf/update.json @@ -38,5 +38,9 @@ { "source": "Views/MainWindow.axaml", "target": "Views/MainWindow.axaml" + }, + { + "source": "Dockerfile", + "target": "Dockerfile" } ] diff --git a/dotnetConsole/.conf/update.json b/dotnetConsole/.conf/update.json index d2f57145c..29e4b1f18 100644 --- a/dotnetConsole/.conf/update.json +++ b/dotnetConsole/.conf/update.json @@ -2,5 +2,9 @@ { "source": "__change__.csproj", "target": "$projectName.csproj" + }, + { + "source": "Dockerfile", + "target": "Dockerfile" } ] diff --git a/dotnetSlint/.conf/update.json b/dotnetSlint/.conf/update.json index d2f57145c..29e4b1f18 100644 --- a/dotnetSlint/.conf/update.json +++ b/dotnetSlint/.conf/update.json @@ -2,5 +2,9 @@ { "source": "__change__.csproj", "target": "$projectName.csproj" + }, + { + "source": "Dockerfile", + "target": "Dockerfile" } ] diff --git a/dotnetUno5/.conf/update.json b/dotnetUno5/.conf/update.json index 52172c49f..68532e21f 100644 --- a/dotnetUno5/.conf/update.json +++ b/dotnetUno5/.conf/update.json @@ -14,5 +14,9 @@ { "source": "__change__/App.cs", "target": "$projectName/App.cs" + }, + { + "source": "Dockerfile", + "target": "Dockerfile" } ] diff --git a/dotnetUno5FrameBuffer/.conf/update.json b/dotnetUno5FrameBuffer/.conf/update.json index 25808a8fc..4b0cebdfd 100644 --- a/dotnetUno5FrameBuffer/.conf/update.json +++ b/dotnetUno5FrameBuffer/.conf/update.json @@ -14,5 +14,9 @@ { "source": "__change__/App.cs", "target": "$projectName/App.cs" + }, + { + "source": "Dockerfile", + "target": "Dockerfile" } ] From d94e23c6429262a1f433a0a89821a912b4495945 Mon Sep 17 00:00:00 2001 From: Matheus Castello Date: Fri, 6 Dec 2024 16:26:19 -0300 Subject: [PATCH 33/34] aspnetBlazor: Dockerfile: Fix edge case when ARCH and IMAGE_ARCH are = Signed-off-by: Matheus Castello --- aspnetBlazor/.conf/update.json | 4 ++++ aspnetBlazor/Dockerfile | 4 +++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/aspnetBlazor/.conf/update.json b/aspnetBlazor/.conf/update.json index 6afbb01bc..2f85cd287 100644 --- a/aspnetBlazor/.conf/update.json +++ b/aspnetBlazor/.conf/update.json @@ -130,5 +130,9 @@ { "source": "Data/WeatherForecastService.cs", "target": "Data/WeatherForecastService.cs" + }, + { + "source": "Dockerfile", + "target": "Dockerfile" } ] diff --git a/aspnetBlazor/Dockerfile b/aspnetBlazor/Dockerfile index eeb36ea2a..418571d50 100644 --- a/aspnetBlazor/Dockerfile +++ b/aspnetBlazor/Dockerfile @@ -36,7 +36,9 @@ RUN dotnet restore __change__.csproj && \ export ARCH="x64" ; \ fi && \ dotnet publish __change__.csproj -c Release -r linux-${ARCH} --no-self-contained && \ - mv ./bin/Release/net8.0/linux-${ARCH} ./bin/Release/net8.0/linux-${IMAGE_ARCH} + if [ "./bin/Release/net8.0/linux-${ARCH}" != "./bin/Release/net8.0/linux-${IMAGE_ARCH}" ]; then \ + mv ./bin/Release/net8.0/linux-${ARCH} ./bin/Release/net8.0/linux-${IMAGE_ARCH}; \ + fi # BUILD ------------------------------------------------------------------------ From 90601947d32a3b8a6cd53d7e50f312c1e5a472f3 Mon Sep 17 00:00:00 2001 From: Matheus Castello Date: Mon, 9 Dec 2024 22:10:58 -0300 Subject: [PATCH 34/34] templates: remove Torizon AMD64 debugger from templates Signed-off-by: Matheus Castello --- cppConsole/.vscode/launch.json | 44 ---------------------------------- templates.json | 4 ---- 2 files changed, 48 deletions(-) diff --git a/cppConsole/.vscode/launch.json b/cppConsole/.vscode/launch.json index dbb4eda52..a355dda89 100644 --- a/cppConsole/.vscode/launch.json +++ b/cppConsole/.vscode/launch.json @@ -26,50 +26,6 @@ ], "preLaunchTask": "build-debug-local" }, - { - "name": "Torizon AMD64", - "type": "cppdbg", - "request": "launch", - "program": "${config:torizon_app_root}/__change__", - "args": [], - "stopAtEntry": false, - "cwd": "${config:torizon_app_root}", - "environment": [], - "externalConsole": false, - "internalConsoleOptions": "openOnSessionStart", - "sourceFileMap": { - "${config:torizon_app_root}": "${workspaceFolder}" - }, - "pipeTransport": { - "debuggerPath": "/usr/bin/gdb", - "pipeProgram": "ssh", - "pipeArgs": [ - "-T", - "-q", - "-p", - "${config:torizon_debug_ssh_port}", - "-o", - "StrictHostKeyChecking=no", - "-o", - "UserKnownHostsFile /dev/null", - "${config:torizon_run_as}@${config:torizon_ip}" // user@device - ] - }, - "MIMode": "gdb", - "setupCommands": [ - { - "description": "Enable pretty-printing for gdb", - "text": "-enable-pretty-printing", - "ignoreFailures": true - }, - { - "description": "Set Disassembly Flavor to Intel", - "text": "-gdb-set disassembly-flavor intel", - "ignoreFailures": true - } - ], - "preLaunchTask": "deploy-torizon-amd64" - }, { "name": "Torizon ARMv7", "type": "cppdbg", diff --git a/templates.json b/templates.json index 2c0888f85..f1ddb419c 100644 --- a/templates.json +++ b/templates.json @@ -23,7 +23,6 @@ "tests": { "debuggers": { "local": ["Local Debug"], - "amd64": ["Torizon AMD64"], "arm": ["Torizon ARMv7"], "arm64": ["Torizon ARMv8"] }, @@ -46,7 +45,6 @@ "tests": { "debuggers": { "local": ["Local Debug"], - "amd64": ["Torizon AMD64"], "arm": ["Torizon ARMv7"], "arm64": ["Torizon ARMv8"] }, @@ -231,7 +229,6 @@ "tests" : { "debuggers": { "local": ["Local AMD64"], - "amd64": ["Torizon AMD64"], "arm": ["Torizon ARMv7"], "arm64": ["Torizon ARMv8"] }, @@ -301,7 +298,6 @@ "tests": { "debuggers": { "local": ["Local AMD64"], - "amd64": ["Torizon AMD64"], "arm": ["Torizon ARMv7"], "arm64": ["Torizon ARMv8"] },