You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@buildstream.apache.org by ju...@apache.org on 2021/10/27 09:36:00 UTC

[buildstream] branch juerg/mypy created (now 4fe08f9)

This is an automated email from the ASF dual-hosted git repository.

juergbi pushed a change to branch juerg/mypy
in repository https://gitbox.apache.org/repos/asf/buildstream.git.


      at 4fe08f9  Update mypy to 0.910

This branch includes the following new commits:

     new 4fe08f9  Update mypy to 0.910

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


[buildstream] 01/01: Update mypy to 0.910

Posted by ju...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

juergbi pushed a commit to branch juerg/mypy
in repository https://gitbox.apache.org/repos/asf/buildstream.git

commit 4fe08f92c6a69734f3898f0a17c77e46ae937832
Author: Jürg Billeter <j...@bitron.ch>
AuthorDate: Wed Oct 27 09:18:25 2021 +0200

    Update mypy to 0.910
    
    mypy 0.730 is not compatible with Python 3.9, resulting in the following
    bogus error message:
    
        https://github.com/python/mypy/issues/4125
---
 src/buildstream/plugin.py                    | 4 ++--
 src/buildstream/plugins/sources/tar.py       | 3 ++-
 src/buildstream/plugins/sources/workspace.py | 6 +++---
 tox.ini                                      | 6 +++++-
 4 files changed, 12 insertions(+), 7 deletions(-)

diff --git a/src/buildstream/plugin.py b/src/buildstream/plugin.py
index 6a8b221..f8ffd1e 100644
--- a/src/buildstream/plugin.py
+++ b/src/buildstream/plugin.py
@@ -213,7 +213,7 @@ class Plugin:
         which are included in the buildstream namespace.
     """
 
-    BST_MIN_VERSION = None
+    BST_MIN_VERSION: Optional[str] = None
     """The minimum required version of BuildStream required by this plugin.
 
     The version must be expressed as the string *"<major>.<minor>"*, where the
@@ -278,7 +278,7 @@ class Plugin:
     __TABLE = WeakValueDictionary()  # type: WeakValueDictionary[int, Plugin]
 
     try:
-        __multiprocessing_context = multiprocessing.get_context("forkserver")
+        __multiprocessing_context: multiprocessing.context.BaseContext = multiprocessing.get_context("forkserver")
     except ValueError:
         # We are on a system without `forkserver` support. Let's default to
         # spawn. This seems to be hanging however in some rare cases.
diff --git a/src/buildstream/plugins/sources/tar.py b/src/buildstream/plugins/sources/tar.py
index 9e53ea6..e1ec2a2 100644
--- a/src/buildstream/plugins/sources/tar.py
+++ b/src/buildstream/plugins/sources/tar.py
@@ -72,7 +72,8 @@ class ReadableTarInfo(tarfile.TarInfo):
            so that the owner-read bit is always set.
     """
 
-    @property
+    # https://github.com/python/mypy/issues/4125
+    @property  # type: ignore
     def mode(self):
         # Respect umask instead of the file mode stored in the archive.
         # The only bit used from the embedded mode is the executable bit for files.
diff --git a/src/buildstream/plugins/sources/workspace.py b/src/buildstream/plugins/sources/workspace.py
index df24abb..70a8274 100644
--- a/src/buildstream/plugins/sources/workspace.py
+++ b/src/buildstream/plugins/sources/workspace.py
@@ -93,10 +93,10 @@ class WorkspaceSource(Source):
     # init_workspace()
     #
     # Raises AssertionError: existing workspaces should not be reinitialized
-    def init_workspace(self, directory: Directory) -> None:
+    def init_workspace(self, directory: str) -> None:
         raise AssertionError("Attempting to re-open an existing workspace")
 
-    def fetch(self) -> None:  # pylint: disable=arguments-differ
+    def fetch(self, *, previous_sources_dir=None) -> None:  # pylint: disable=arguments-differ
         pass  # pragma: nocover
 
     def stage(self, directory):
@@ -133,5 +133,5 @@ class WorkspaceSource(Source):
 
 
 # Plugin entry point
-def setup() -> WorkspaceSource:
+def setup():
     return WorkspaceSource
diff --git a/tox.ini b/tox.ini
index c06d17b..79b46e8 100644
--- a/tox.ini
+++ b/tox.ini
@@ -159,7 +159,11 @@ skip_install = True
 commands =
     mypy {posargs}
 deps =
-    mypy==0.730
+    mypy==0.910
+    types-protobuf
+    types-python-dateutil
+    types-setuptools
+    types-ujson
     -rrequirements/requirements.txt
     -rrequirements/dev-requirements.txt