Skip to content

Commit 28bd200

Browse files
committed
Move core/pip dependencies to the separate "dependencies" module
1 parent 56be27f commit 28bd200

File tree

9 files changed

+41
-36
lines changed

9 files changed

+41
-36
lines changed

platformio/__init__.py

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -38,15 +38,6 @@
3838
]
3939
__pioremote_endpoint__ = "ssl:host=remote.platformio.org:port=4413"
4040

41-
__core_packages__ = {
42-
"contrib-piohome": "~3.4.2",
43-
"contrib-pioremote": "~1.0.0",
44-
"tool-scons": "~4.40600.0",
45-
"tool-cppcheck": "~1.21100.0",
46-
"tool-clangtidy": "~1.150005.0",
47-
"tool-pvs-studio": "~7.18.0",
48-
}
49-
5041
__check_internet_hosts__ = [
5142
"185.199.110.153", # Github.com
5243
"88.198.170.159", # platformio.org

platformio/commands/upgrade.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@
1919
import click
2020

2121
from platformio import VERSION, __version__, app, exception
22+
from platformio.dependencies import get_pip_dependencies
2223
from platformio.http import fetch_remote_content
2324
from platformio.package.manager.core import update_core_packages
24-
from platformio.pipdeps import get_pip_dependencies
2525
from platformio.proc import get_pythonexe_path
2626

2727
PYPI_JSON_URL = "https://pypi.org/pypi/platformio/json"

platformio/compat.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
import importlib.util
1818
import inspect
1919
import locale
20+
import os
2021
import shlex
2122
import sys
2223

@@ -45,6 +46,7 @@ def shlex_join(split_command):
4546

4647

4748
PY2 = sys.version_info[0] == 2 # DO NOT REMOVE IT. ESP8266/ESP32 depend on it
49+
PY36 = sys.version_info[0:2] == (3, 6)
4850
IS_CYGWIN = sys.platform.startswith("cygwin")
4951
IS_WINDOWS = WINDOWS = sys.platform.startswith("win")
5052
IS_MACOS = sys.platform.startswith("darwin")
@@ -132,3 +134,12 @@ def path_to_unicode(path):
132134
and custom device monitor filters
133135
"""
134136
return path
137+
138+
139+
def is_proxy_set(socks=False):
140+
for var in ("HTTP_PROXY", "HTTPS_PROXY", "ALL_PROXY"):
141+
value = os.getenv(var, os.getenv(var.lower()))
142+
if not value or (socks and not value.startswith("socks5://")):
143+
continue
144+
return True
145+
return False
Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,20 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
import os
1615
import platform
17-
import sys
1816

19-
PY36 = sys.version_info[0:2] == (3, 6)
17+
from platformio.compat import PY36, is_proxy_set
18+
19+
20+
def get_core_dependencies():
21+
return {
22+
"contrib-piohome": "~3.4.2",
23+
"contrib-pioremote": "~1.0.0",
24+
"tool-scons": "~4.40600.0",
25+
"tool-cppcheck": "~1.21100.0",
26+
"tool-clangtidy": "~1.150005.0",
27+
"tool-pvs-studio": "~7.18.0",
28+
}
2029

2130

2231
def get_pip_dependencies():
@@ -60,12 +69,3 @@ def get_pip_dependencies():
6069
pass
6170

6271
return core + home + extra
63-
64-
65-
def is_proxy_set(socks=False):
66-
for var in ("HTTP_PROXY", "HTTPS_PROXY", "ALL_PROXY"):
67-
value = os.getenv(var, os.getenv(var.lower()))
68-
if not value or (socks and not value.startswith("socks5://")):
69-
continue
70-
return True
71-
return False

platformio/http.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@
2121

2222
from platformio import __check_internet_hosts__, app, util
2323
from platformio.cache import ContentCache, cleanup_content_cache
24+
from platformio.compat import is_proxy_set
2425
from platformio.exception import PlatformioException, UserSideException
25-
from platformio.pipdeps import is_proxy_set
2626

2727
__default_requests_timeout__ = (10, None) # (connect, read)
2828

platformio/package/manager/core.py

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@
1414

1515
import os
1616

17-
from platformio import __core_packages__, exception
17+
from platformio import exception
18+
from platformio.dependencies import get_core_dependencies
1819
from platformio.package.exception import UnknownPackageError
1920
from platformio.package.manager.tool import ToolPackageManager
2021
from platformio.package.meta import PackageSpec
@@ -23,7 +24,7 @@
2324
def get_installed_core_packages():
2425
result = []
2526
pm = ToolPackageManager()
26-
for name, requirements in __core_packages__.items():
27+
for name, requirements in get_core_dependencies().items():
2728
spec = PackageSpec(owner="platformio", name=name, requirements=requirements)
2829
pkg = pm.get_package(spec)
2930
if pkg:
@@ -32,11 +33,11 @@ def get_installed_core_packages():
3233

3334

3435
def get_core_package_dir(name, spec=None, auto_install=True):
35-
if name not in __core_packages__:
36+
if name not in get_core_dependencies():
3637
raise exception.PlatformioException("Please upgrade PlatformIO Core")
3738
pm = ToolPackageManager()
3839
spec = spec or PackageSpec(
39-
owner="platformio", name=name, requirements=__core_packages__[name]
40+
owner="platformio", name=name, requirements=get_core_dependencies()[name]
4041
)
4142
pkg = pm.get_package(spec)
4243
if pkg:
@@ -50,7 +51,7 @@ def get_core_package_dir(name, spec=None, auto_install=True):
5051

5152
def update_core_packages():
5253
pm = ToolPackageManager()
53-
for name, requirements in __core_packages__.items():
54+
for name, requirements in get_core_dependencies().items():
5455
spec = PackageSpec(owner="platformio", name=name, requirements=requirements)
5556
try:
5657
pm.update(spec, spec)
@@ -65,7 +66,7 @@ def remove_unnecessary_core_packages(dry_run=False):
6566
pm = ToolPackageManager()
6667
best_pkg_versions = {}
6768

68-
for name, requirements in __core_packages__.items():
69+
for name, requirements in get_core_dependencies().items():
6970
spec = PackageSpec(owner="platformio", name=name, requirements=requirements)
7071
pkg = pm.get_package(spec)
7172
if not pkg:

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
__url__,
2424
__version__,
2525
)
26-
from platformio.pipdeps import get_pip_dependencies
26+
from platformio.dependencies import get_pip_dependencies
2727

2828
setup(
2929
name=__title__,

tests/commands/pkg/test_install.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@
1818

1919
import pytest
2020

21-
from platformio import __core_packages__, fs
21+
from platformio import fs
22+
from platformio.dependencies import get_core_dependencies
2223
from platformio.package.commands.install import package_install_cmd
2324
from platformio.package.manager.library import LibraryPackageManager
2425
from platformio.package.manager.platform import PlatformPackageManager
@@ -177,7 +178,7 @@ def test_baremetal_project(
177178
),
178179
]
179180
assert pkgs_to_specs(ToolPackageManager().get_installed()) == [
180-
PackageSpec("tool-scons@%s" % __core_packages__["tool-scons"][1:]),
181+
PackageSpec("tool-scons@%s" % get_core_dependencies()["tool-scons"][1:]),
181182
PackageSpec("toolchain-atmelavr@1.70300.191015"),
182183
]
183184

@@ -210,7 +211,7 @@ def test_project(
210211
]
211212
assert pkgs_to_specs(ToolPackageManager().get_installed()) == [
212213
PackageSpec("framework-arduino-avr-attiny@1.5.2"),
213-
PackageSpec("tool-scons@%s" % __core_packages__["tool-scons"][1:]),
214+
PackageSpec("tool-scons@%s" % get_core_dependencies()["tool-scons"][1:]),
214215
PackageSpec("toolchain-atmelavr@1.70300.191015"),
215216
]
216217
assert config.get("env:devkit", "lib_deps") == [

tests/commands/pkg/test_update.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@
1616

1717
import os
1818

19-
from platformio import __core_packages__, fs
19+
from platformio import fs
20+
from platformio.dependencies import get_core_dependencies
2021
from platformio.package.commands.install import package_install_cmd
2122
from platformio.package.commands.update import package_update_cmd
2223
from platformio.package.exception import UnknownPackageError
@@ -174,7 +175,7 @@ def test_project(
174175
]
175176
assert pkgs_to_specs(ToolPackageManager().get_installed()) == [
176177
PackageSpec("framework-arduino-avr-attiny@1.3.2"),
177-
PackageSpec("tool-scons@%s" % __core_packages__["tool-scons"][1:]),
178+
PackageSpec("tool-scons@%s" % get_core_dependencies()["tool-scons"][1:]),
178179
PackageSpec("toolchain-atmelavr@1.50400.190710"),
179180
]
180181
assert config.get("env:devkit", "lib_deps") == [
@@ -204,7 +205,7 @@ def test_project(
204205
]
205206
assert pkgs_to_specs(ToolPackageManager().get_installed()) == [
206207
PackageSpec("framework-arduino-avr-attiny@1.3.2"),
207-
PackageSpec("tool-scons@%s" % __core_packages__["tool-scons"][1:]),
208+
PackageSpec("tool-scons@%s" % get_core_dependencies()["tool-scons"][1:]),
208209
PackageSpec("toolchain-atmelavr@1.70300.191015"),
209210
PackageSpec("toolchain-atmelavr@1.50400.190710"),
210211
]

0 commit comments

Comments
 (0)