Use VCS directly with "platform" option in configuration file

This commit is contained in:
Ivan Kravets
2017-09-16 00:57:36 +03:00
parent 33242a02ce
commit 998f4ed6e6
3 changed files with 9 additions and 8 deletions

2
docs

Submodule docs updated: cfd1df9393...2a191b0bd7

View File

@ -210,18 +210,19 @@ class PlatformFactory(object):
@classmethod
def newPlatform(cls, name, requirements=None):
pm = PlatformManager()
platform_dir = None
if isdir(name):
platform_dir = name
name = PlatformManager().load_manifest(platform_dir)['name']
name = pm.load_manifest(platform_dir)['name']
elif name.endswith("platform.json") and isfile(name):
platform_dir = dirname(name)
name = util.load_json(name)['name']
else:
if not requirements and "@" in name:
name, requirements = name.rsplit("@", 1)
platform_dir = PlatformManager().get_package_dir(
name, requirements)
name, requirements, url = pm.parse_pkg_input(name, requirements)
platform_dir = pm.get_package_dir(name, requirements, url)
if platform_dir:
name = pm.load_manifest(platform_dir)['name']
if not platform_dir:
raise exception.UnknownPlatform(name if not requirements else

View File

@ -25,8 +25,8 @@ def test_pkg_input_parser():
[("PkgName", "!=1.2.3,<2.0"), ("PkgName", "!=1.2.3,<2.0", None)],
["PkgName@1.2.3", ("PkgName", "1.2.3", None)],
[("PkgName@1.2.3", "1.2.5"), ("PkgName@1.2.3", "1.2.5", None)],
["id:13", ("id:13", None, None)],
["id:13@~1.2.3", ("id:13", "~1.2.3", None)],
["id=13", ("id=13", None, None)],
["id=13@~1.2.3", ("id=13", "~1.2.3", None)],
[
util.get_home_dir(),
(".platformio", None, "file://" + util.get_home_dir())