diff mbox series

oe-init-build-env: Drop VSCode setup

Message ID 20260226201950.3882698-1-adrian.freihofer@siemens.com
State New
Headers show
Series oe-init-build-env: Drop VSCode setup | expand

Commit Message

AdrianF Feb. 26, 2026, 8:19 p.m. UTC
From: Adrian Freihofer <adrian.freihofer@siemens.com>

Remove the VSCode setup from oe-init-build-env.

Since poky as a combo-layer repository is no longer available, using the
oe-init-build-env script from openembedded-core is no longer
straightforward. There are too many ways to set up a build environment,
with different directory structures, with containers involved or not,
etc. Each of these setups may have its own way to provide IDE support.
A simple shell script like oe-init-vscode cannot address all these use
cases. Rather than trying to make oe-init-build-env smart enough to
cover all these cases, it is better to delegate the responsibility to
whatever tool or repository is used to set up the build environment.

If no tool such as bitbake-setup is used, it is still possible to use
a variant of the oe-setup-vscode script from a custom layer. One way
which works well is to create a custom oe-init-build-env script in the
custom layer repository which calls the custom oe-setup-vscode script
from the custom layer repository. Example directory structure:

  my-project/
  ├── .vscode     # generated by oe-setup-vscode
  |               # when oe-init-build-env is called
  ├── layers/
  │   └── openembedded-core/
  |   └── bitbake/
  ├── scripts/
  │   └── oe-setup-vscode
  ├── build/
  │   └── conf
  └── oe-init-build-env

Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com>
---
 oe-init-build-env       |  5 ---
 scripts/oe-setup-vscode | 93 -----------------------------------------
 2 files changed, 98 deletions(-)
 delete mode 100755 scripts/oe-setup-vscode
diff mbox series

Patch

diff --git a/oe-init-build-env b/oe-init-build-env
index 82382f2707..5a2bd0f4d9 100755
--- a/oe-init-build-env
+++ b/oe-init-build-env
@@ -48,11 +48,6 @@  export OEROOT
     return 1
 }
 
-# Generate an initial configuration for VSCode and the yocto-bitbake plugin.
-if command -v code > /dev/null && [ ! -d "$OEROOT/.vscode" ]; then
-    oe-setup-vscode "$OEROOT" "$BUILDDIR"
-fi
-
 unset OEROOT
 
 [ -z "$BUILDDIR" ] || cd "$BUILDDIR"
diff --git a/scripts/oe-setup-vscode b/scripts/oe-setup-vscode
deleted file mode 100755
index b8642780d5..0000000000
--- a/scripts/oe-setup-vscode
+++ /dev/null
@@ -1,93 +0,0 @@ 
-#!/bin/sh
-
-usage() {
-    echo "$0 <OEINIT> <BUILDDIR>"
-    echo "  OEINIT:   path to directory where the .vscode folder is"
-    echo "  BUILDDIR: directory passed to the oe-init-setup-env script"
-}
-
-if [ "$#" -ne 2 ]; then
-    usage
-    exit 1
-fi
-
-OEINIT=$(readlink -f "$1")
-BUILDDIR=$(readlink -f "$2")
-VSCODEDIR=$OEINIT/.vscode
-
-if [ ! -d "$OEINIT" ] || [ ! -d "$BUILDDIR" ]; then
-    echo "$OEINIT and/or $BUILDDIR directories are not present."
-    exit 1
-fi
-
-VSCODE_SETTINGS=$VSCODEDIR/settings.json
-ws_builddir="$(echo "$BUILDDIR" | sed -e "s|$OEINIT|\${workspaceFolder}|g")"
-
-# If BUILDDIR is in scope of VSCode ensure VSCode does not try to index the build folder.
-# This would lead to a busy CPU and finally to an OOM exception.
-mkdir -p "$VSCODEDIR"
-cat <<EOMsettings > "$VSCODE_SETTINGS"
-{
-    "bitbake.pathToBitbakeFolder": "\${workspaceFolder}/bitbake",
-    "bitbake.pathToEnvScript": "\${workspaceFolder}/oe-init-build-env",
-    "bitbake.pathToBuildFolder": "$ws_builddir",
-    "bitbake.commandWrapper": "",
-    "bitbake.workingDirectory": "\${workspaceFolder}",
-    "files.exclude": {
-        "**/.git/**": true,
-        "**/_build/**": true,
-        "**/buildhistory/**": true,
-        "**/cache/**": true,
-        "**/downloads/**": true,
-        "**/node_modules/**": true,
-        "**/oe-logs/**": true,
-        "**/oe-workdir/**": true,
-        "**/sstate-cache/**": true,
-        "**/tmp*/**": true,
-        "**/workspace/attic/**": true,
-        "**/workspace/sources/**": true
-    },
-    "files.watcherExclude": {
-        "**/.git/**": true,
-        "**/_build/**": true,
-        "**/buildhistory/**": true,
-        "**/cache/**": true,
-        "**/downloads/**": true,
-        "**/node_modules/**": true,
-        "**/oe-logs/**": true,
-        "**/oe-workdir/**": true,
-        "**/sstate-cache/**": true,
-        "**/tmp*/**": true,
-        "**/workspace/attic/**": true,
-        "**/workspace/sources/**": true
-    },
-    "python.analysis.exclude": [
-        "**/_build/**",
-        "**/.git/**",
-        "**/buildhistory/**",
-        "**/cache/**",
-        "**/downloads/**",
-        "**/node_modules/**",
-        "**/oe-logs/**",
-        "**/oe-workdir/**",
-        "**/sstate-cache/**",
-        "**/tmp*/**",
-        "**/workspace/attic/**",
-        "**/workspace/sources/**"
-    ]
-}
-EOMsettings
-
-
-# Ask the user if the yocto-bitbake extension should be installed
-VSCODE_EXTENSIONS=$VSCODEDIR/extensions.json
-cat <<EOMextensions > "$VSCODE_EXTENSIONS"
-{
-    "recommendations": [
-        "yocto-project.yocto-bitbake"
-    ]
-}
-EOMextensions
-
-echo "You had no $VSCODEDIR configuration."
-echo "These configuration files have therefore been created for you."