From 6c111959b464159488f8afd054715289d3b3baeb Mon Sep 17 00:00:00 2001 From: Ivan Kravets Date: Wed, 18 Jan 2017 15:19:46 +0200 Subject: [PATCH] Fix platform installation from VCS // Resolve #878 --- platformio/__init__.py | 2 +- platformio/managers/platform.py | 9 +++++++++ tests/commands/test_platform.py | 9 +++++++++ 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/platformio/__init__.py b/platformio/__init__.py index 2d41a8e8..c14da88f 100644 --- a/platformio/__init__.py +++ b/platformio/__init__.py @@ -14,7 +14,7 @@ import sys -VERSION = (3, 3, "0a3") +VERSION = (3, 3, "0a4") __version__ = ".".join([str(s) for s in VERSION]) __title__ = "platformio" diff --git a/platformio/managers/platform.py b/platformio/managers/platform.py index 53d1b618..5b61aba7 100644 --- a/platformio/managers/platform.py +++ b/platformio/managers/platform.py @@ -44,6 +44,15 @@ class PlatformManager(BasePkgManager): def manifest_names(self): return ["platform.json"] + def get_manifest_path(self, pkg_dir): + if not isdir(pkg_dir): + return None + for name in self.manifest_names: + manifest_path = join(pkg_dir, name) + if isfile(manifest_path): + return manifest_path + return None + def install(self, name, requirements=None, diff --git a/tests/commands/test_platform.py b/tests/commands/test_platform.py index 829e5cdb..57706370 100644 --- a/tests/commands/test_platform.py +++ b/tests/commands/test_platform.py @@ -60,6 +60,15 @@ def test_install_uknown_from_registry(clirunner, validate_cliresult): assert isinstance(result.exception, exception.UnknownPackage) +def test_install_from_vcs(clirunner, validate_cliresult): + result = clirunner.invoke(cli_platform.platform_install, [ + "https://github.com/platformio/" + "platform-espressif8266.git#feature/stage" + ]) + validate_cliresult(result) + assert "espressif8266_stage" in result.output + + def test_install_uknown_version(clirunner, validate_cliresult): result = clirunner.invoke(cli_platform.platform_install, ["atmelavr@99.99.99"])