diff options
author | Ang Li <angli@google.com> | 2024-01-30 22:47:58 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-01-30 22:47:58 -0800 |
commit | 7b938e0579ce4bf5f183b19bab8d7273674752b5 (patch) | |
tree | cf74cb1a943c4b229985cbd26c914e25e485e213 | |
parent | 68724d8fa39e779c7d6f960a7f4d4822ae26903c (diff) | |
download | mobly-7b938e0579ce4bf5f183b19bab8d7273674752b5.tar.gz |
Switch to pyproject.toml completely (#911)
* Remove `setup.py` and `setup.cfg`
* Remove `typing_extensions` as we now require Python 3.11+.
-rw-r--r-- | mobly/utils.py | 9 | ||||
-rw-r--r-- | pyproject.toml | 40 | ||||
-rw-r--r-- | setup.cfg | 6 | ||||
-rwxr-xr-x | setup.py | 71 |
4 files changed, 40 insertions, 86 deletions
diff --git a/mobly/utils.py b/mobly/utils.py index 3964a81..64dc3f1 100644 --- a/mobly/utils.py +++ b/mobly/utils.py @@ -30,17 +30,10 @@ import subprocess import threading import time import traceback -from typing import Tuple, overload +from typing import Literal, Tuple, overload import portpicker -# TODO(#851): Remove this try/except statement and typing_extensions from -# install_requires when Python 3.8 is the minimum version we support. -try: - from typing import Literal -except ImportError: - from typing_extensions import Literal - # File name length is limited to 255 chars on some OS, so we need to make sure # the file names we output fits within the limit. MAX_FILENAME_LEN = 255 diff --git a/pyproject.toml b/pyproject.toml index ecf4aa7..dafc7af 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,44 @@ +[build-system] +requires = [ "setuptools>=61.2",] +build-backend = "setuptools.build_meta" + +[project] +name = "mobly" +version = "1.12.2" +description = "Automation framework for special end-to-end test cases" +requires-python = ">=3.11" +dependencies = [ "portpicker", "pywin32; platform_system == \"Windows\"", "pyyaml",] + +[[project.maintainers]] +name = "Ang Li" +email = "mobly-github@googlegroups.com" + +[project.license] +text = "Apache2.0" + +[project.urls] +Homepage = "https://github.com/google/mobly" +Download = "https://github.com/google/mobly/tarball/1.12.2" + +[project.optional-dependencies] +testing = [ "mock", "pytest", "pytz",] + +[tool.setuptools] +include-package-data = false +script-files = [ "tools/sl4a_shell.py", "tools/snippet_shell.py",] + [tool.pyink] line-length = 80 preview = true pyink-indentation = 2 pyink-use-majority-quotes = true -extend-exclude = '.*\/venv/.*|.*\/\.tox\/.*'
\ No newline at end of file +extend-exclude = '.*\/venv/.*|.*\/\.tox\/.*' + +[tool.pytest.ini_options] +python_classes = [ "*Test",] +python_files = [ "*_test.py",] +testpaths = [ "tests/mobly",] + +[tool.setuptools.packages.find] +exclude = [ "tests",] +namespaces = false diff --git a/setup.cfg b/setup.cfg deleted file mode 100644 index 3b9eef9..0000000 --- a/setup.cfg +++ /dev/null @@ -1,6 +0,0 @@ -[metadata] -description_file = README.md -[tool:pytest] -python_classes = *Test -python_files = *_test.py -testpaths = tests/mobly diff --git a/setup.py b/setup.py deleted file mode 100755 index d45f5fb..0000000 --- a/setup.py +++ /dev/null @@ -1,71 +0,0 @@ -# Copyright 2016 Google Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -import platform -import setuptools -from setuptools.command import test -import sys - -install_requires = [ - 'portpicker', - 'pyyaml', - 'typing_extensions>=4.1.1; python_version>="3.11"', -] - -if platform.system() == 'Windows': - install_requires.append('pywin32') - - -class PyTest(test.test): - """Class used to execute unit tests using PyTest. This allows us to execute - unit tests without having to install the package. - """ - - def finalize_options(self): - test.test.finalize_options(self) - self.test_args = ['-x', 'tests/mobly'] - self.test_suite = True - - def run_tests(self): - import pytest - - errno = pytest.main(self.test_args) - sys.exit(errno) - - -def main(): - setuptools.setup( - name='mobly', - version='1.12.2', - maintainer='Ang Li', - maintainer_email='mobly-github@googlegroups.com', - description='Automation framework for special end-to-end test cases', - license='Apache2.0', - url='https://github.com/google/mobly', - download_url='https://github.com/google/mobly/tarball/1.12.2', - packages=setuptools.find_packages(exclude=['tests']), - include_package_data=False, - scripts=['tools/sl4a_shell.py', 'tools/snippet_shell.py'], - tests_require=[ - 'mock', - 'pytest', - 'pytz', - ], - install_requires=install_requires, - cmdclass={'test': PyTest}, - ) - - -if __name__ == '__main__': - main() |