diff --git a/HISTORY.rst b/HISTORY.rst index 882860c3d2..6a5b2a0b3c 100644 --- a/HISTORY.rst +++ b/HISTORY.rst @@ -17,6 +17,12 @@ Unlock the true potential of embedded software development with PlatformIO's collaborative ecosystem, embracing declarative principles, test-driven methodologies, and modern toolchains for unrivaled success. +6.1.11 (2023-08-31) +~~~~~~~~~~~~~~~~~~~ + +* Resolved a possible issue that may cause generated projects for `PlatformIO IDE for VSCode `__ to fail to launch a debug session because of a missing "objdump" binary when GDB is not part of the toolchain package +* Resolved a regression issue that resulted in the malfunction of the Memory Inspection feature within `PIO Home `__ + 6.1.10 (2023-08-11) ~~~~~~~~~~~~~~~~~~~ diff --git a/docs b/docs index 295991a9c2..fb83b09c41 160000 --- a/docs +++ b/docs @@ -1 +1 @@ -Subproject commit 295991a9c228ab9b1509fbaf41c30d4df7fec553 +Subproject commit fb83b09c415516ec37018b10d801ddf5c946d794 diff --git a/examples b/examples index 4bed26fd0d..28c58d3b7c 160000 --- a/examples +++ b/examples @@ -1 +1 @@ -Subproject commit 4bed26fd0d0b559dcf52f6088c9c2b4ebffd5fd6 +Subproject commit 28c58d3b7c4b88d3b1e0c1d2f7d99119a9c89c39 diff --git a/platformio/__init__.py b/platformio/__init__.py index b07d2bdc8d..c0226cf359 100644 --- a/platformio/__init__.py +++ b/platformio/__init__.py @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -VERSION = (6, 1, 10) +VERSION = (6, 1, 11) __version__ = ".".join([str(s) for s in VERSION]) __title__ = "platformio" diff --git a/platformio/home/rpc/handlers/project.py b/platformio/home/rpc/handlers/project.py index 90b3ab78fe..2c03a7c980 100644 --- a/platformio/home/rpc/handlers/project.py +++ b/platformio/home/rpc/handlers/project.py @@ -42,9 +42,9 @@ def config_call(init_kwargs, method, *args): project_dir = init_kwargs["path"] init_kwargs["path"] = os.path.join(init_kwargs["path"], "platformio.ini") elif os.path.isfile(init_kwargs["path"]): - project_dir = get_project_dir() - else: project_dir = os.path.dirname(init_kwargs["path"]) + else: + project_dir = get_project_dir() with fs.cd(project_dir): return getattr(ProjectConfig(**init_kwargs), method)(*args) diff --git a/platformio/package/commands/install.py b/platformio/package/commands/install.py index 82c377d024..d297664408 100644 --- a/platformio/package/commands/install.py +++ b/platformio/package/commands/install.py @@ -20,6 +20,7 @@ from platformio import fs from platformio.package.exception import UnknownPackageError +from platformio.package.manager.core import get_core_package_dir from platformio.package.manager.library import LibraryPackageManager from platformio.package.manager.platform import PlatformPackageManager from platformio.package.manager.tool import ToolPackageManager @@ -120,7 +121,7 @@ def install_project_env_dependencies(project_env, options=None): # custom tools if options.get("tools"): installed_conds.append(_install_project_env_custom_tools(project_env, options)) - # custom ibraries + # custom libraries if options.get("libraries"): installed_conds.append( _install_project_env_custom_libraries(project_env, options) @@ -152,6 +153,8 @@ def _install_project_env_platform(project_env, options): skip_dependencies=options.get("skip_dependencies"), force=options.get("force"), ) + # ensure SCons is installed + get_core_package_dir("tool-scons") return not already_up_to_date diff --git a/platformio/project/integration/tpls/vscode/.vscode/launch.json.tpl b/platformio/project/integration/tpls/vscode/.vscode/launch.json.tpl index c419d27ed7..4bd188d2fd 100644 --- a/platformio/project/integration/tpls/vscode/.vscode/launch.json.tpl +++ b/platformio/project/integration/tpls/vscode/.vscode/launch.json.tpl @@ -17,7 +17,7 @@ % "name": "PIO Debug (skip Pre-Debug)", % "executable": _escape_path(prog_path), % "projectEnvName": env_name if forced_env_name else default_debug_env_name, -% "toolchainBinDir": _escape_path(os.path.dirname(gdb_path)), +% "toolchainBinDir": _escape_path(os.path.dirname(cc_path)), % "internalConsoleOptions": "openOnSessionStart", % } % diff --git a/tests/commands/pkg/test_install.py b/tests/commands/pkg/test_install.py index ea995c6810..edcbc241eb 100644 --- a/tests/commands/pkg/test_install.py +++ b/tests/commands/pkg/test_install.py @@ -18,7 +18,7 @@ import pytest -from platformio import fs +from platformio import __core_packages__, fs from platformio.package.commands.install import package_install_cmd from platformio.package.manager.library import LibraryPackageManager from platformio.package.manager.platform import PlatformPackageManager @@ -148,7 +148,7 @@ def test_skip_dependencies( ), PackageSpec("ESPAsyncWebServer-esphome@2.1.0"), ] - assert len(ToolPackageManager().get_installed()) == 0 + assert len(ToolPackageManager().get_installed()) == 1 # SCons def test_baremetal_project( @@ -177,6 +177,7 @@ def test_baremetal_project( ), ] assert pkgs_to_specs(ToolPackageManager().get_installed()) == [ + PackageSpec("tool-scons@%s" % __core_packages__["tool-scons"][1:]), PackageSpec("toolchain-atmelavr@1.70300.191015"), ] @@ -209,6 +210,7 @@ def test_project( ] assert pkgs_to_specs(ToolPackageManager().get_installed()) == [ PackageSpec("framework-arduino-avr-attiny@1.5.2"), + PackageSpec("tool-scons@%s" % __core_packages__["tool-scons"][1:]), PackageSpec("toolchain-atmelavr@1.70300.191015"), ] assert config.get("env:devkit", "lib_deps") == [ diff --git a/tests/commands/pkg/test_uninstall.py b/tests/commands/pkg/test_uninstall.py index d776b142e8..73e2179aeb 100644 --- a/tests/commands/pkg/test_uninstall.py +++ b/tests/commands/pkg/test_uninstall.py @@ -198,6 +198,7 @@ def test_project(clirunner, validate_cliresult, isolated_pio_core, tmp_path): assert pkgs_to_names(lm.get_installed()) == ["DallasTemperature", "OneWire"] assert pkgs_to_names(ToolPackageManager().get_installed()) == [ "framework-arduino-avr-attiny", + "tool-scons", "toolchain-atmelavr", ] assert config.get("env:devkit", "lib_deps") == [ @@ -224,7 +225,7 @@ def test_project(clirunner, validate_cliresult, isolated_pio_core, tmp_path): os.path.join(config.get("platformio", "libdeps_dir"), "devkit") ) assert not pkgs_to_names(lm.get_installed()) - assert not pkgs_to_names(ToolPackageManager().get_installed()) + assert pkgs_to_names(ToolPackageManager().get_installed()) == ["tool-scons"] assert config.get("env:devkit", "lib_deps") == [ "milesburton/DallasTemperature@^3.9.1" ] diff --git a/tests/commands/pkg/test_update.py b/tests/commands/pkg/test_update.py index 06ab92a7ca..5656daac04 100644 --- a/tests/commands/pkg/test_update.py +++ b/tests/commands/pkg/test_update.py @@ -16,7 +16,7 @@ import os -from platformio import fs +from platformio import __core_packages__, fs from platformio.package.commands.install import package_install_cmd from platformio.package.commands.update import package_update_cmd from platformio.package.exception import UnknownPackageError @@ -172,6 +172,7 @@ def test_project( ] assert pkgs_to_specs(ToolPackageManager().get_installed()) == [ PackageSpec("framework-arduino-avr-attiny@1.3.2"), + PackageSpec("tool-scons@%s" % __core_packages__["tool-scons"][1:]), PackageSpec("toolchain-atmelavr@1.50400.190710"), ] assert config.get("env:devkit", "lib_deps") == [ @@ -201,6 +202,7 @@ def test_project( ] assert pkgs_to_specs(ToolPackageManager().get_installed()) == [ PackageSpec("framework-arduino-avr-attiny@1.3.2"), + PackageSpec("tool-scons@%s" % __core_packages__["tool-scons"][1:]), PackageSpec("toolchain-atmelavr@1.70300.191015"), PackageSpec("toolchain-atmelavr@1.50400.190710"), ]