Skip to content

Commit

Permalink
Merge pull request #3048 from kivy/feature/fix_sh_log_too_verbose
Browse files Browse the repository at this point in the history
🔇 Fix sh logs too verbose
  • Loading branch information
AndreMiras authored Aug 16, 2024
2 parents 230af71 + a85d24e commit e982301
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 3 deletions.
7 changes: 4 additions & 3 deletions pythonforandroid/recipe.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,6 @@
from urllib.request import urlretrieve
from os import listdir, unlink, environ, curdir, walk
from sys import stdout
from wheel.wheelfile import WheelFile
from wheel.cli.tags import tags as wheel_tags
import time
try:
from urlparse import urlparse
Expand All @@ -26,7 +24,7 @@
logger, info, warning, debug, shprint, info_main, error)
from pythonforandroid.util import (
current_directory, ensure_dir, BuildInterruptingException, rmdir, move,
touch)
touch, patch_wheel_setuptools_logging)
from pythonforandroid.util import load_source as import_recipe


Expand Down Expand Up @@ -1205,6 +1203,9 @@ def get_wheel_platform_tag(self, arch):
}[arch.arch]

def install_wheel(self, arch, built_wheels):
with patch_wheel_setuptools_logging():
from wheel.cli.tags import tags as wheel_tags
from wheel.wheelfile import WheelFile
_wheel = built_wheels[0]
built_wheel_dir = dirname(_wheel)
# Fix wheel platform tag
Expand Down
14 changes: 14 additions & 0 deletions pythonforandroid/util.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import contextlib
from unittest import mock
from fnmatch import fnmatch
import logging
from os.path import exists, join
Expand Down Expand Up @@ -163,3 +164,16 @@ def max_build_tool_version(
"""

return max(build_tools_versions, key=build_tools_version_sort_key)


def patch_wheel_setuptools_logging():
"""
When setuptools is not present and the root logger has no handlers,
Wheels would configure the root logger with DEBUG level, refs:
- https://github.com/pypa/wheel/blob/0.44.0/src/wheel/util.py
- https://github.com/pypa/wheel/blob/0.44.0/src/wheel/_setuptools_logging.py
Both of these conditions are met in our CI, leading to very verbose
and unreadable `sh` logs. Patching it prevents that.
"""
return mock.patch("wheel._setuptools_logging.configure")

0 comments on commit e982301

Please sign in to comment.