From b517cfae6b11c15834aa7aaf439bc45894a238f4 Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Thu, 7 Apr 2022 14:32:04 -0500 Subject: Add setuptools.command.build In order to override distutils.command.build on downstream projects it is good to have a setuptools specific command which allows downstream projects to avoid importing distutils. --- setuptools/command/build.py | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 setuptools/command/build.py (limited to 'setuptools/command') diff --git a/setuptools/command/build.py b/setuptools/command/build.py new file mode 100644 index 00000000..46b75559 --- /dev/null +++ b/setuptools/command/build.py @@ -0,0 +1,4 @@ +from distutils.command.build import build as _build + +class build(_build): + pass -- cgit v1.2.1 From 8a8aa3c861efb589a50dead84dc2dcb89cddcf43 Mon Sep 17 00:00:00 2001 From: Anderson Bravalheri Date: Mon, 11 Apr 2022 21:25:23 +0100 Subject: Fix flake8 error --- setuptools/command/build.py | 1 + 1 file changed, 1 insertion(+) (limited to 'setuptools/command') diff --git a/setuptools/command/build.py b/setuptools/command/build.py index 46b75559..6f0e560c 100644 --- a/setuptools/command/build.py +++ b/setuptools/command/build.py @@ -1,4 +1,5 @@ from distutils.command.build import build as _build + class build(_build): pass -- cgit v1.2.1 From 082c80e394a4825bc5ec31ffed1f5ab9caeb5d83 Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Thu, 9 Jun 2022 11:36:15 -0500 Subject: separate subcommands for setuptools class Original author: Anderson Bravalheri --- setuptools/command/build.py | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) (limited to 'setuptools/command') diff --git a/setuptools/command/build.py b/setuptools/command/build.py index 6f0e560c..932de472 100644 --- a/setuptools/command/build.py +++ b/setuptools/command/build.py @@ -1,5 +1,24 @@ from distutils.command.build import build as _build +import warnings + +from setuptools import SetuptoolsDeprecationWarning + + +_ORIGINAL_SUBCOMMANDS = {"build_py", "build_clib", "build_ext", "build_scripts"} class build(_build): - pass + # copy to avoid sharing the object with parent class + sub_commands = _build.sub_commands[:] + + def run(self): + subcommands = {cmd[0] for cmd in _build.sub_commands} + if subcommands - _ORIGINAL_SUBCOMMANDS: + msg = """ + It seems that you are using `distutils.command.build.build` to add + new subcommands. Using `distutils` directly is considered deprecated, + please use `setuptools.command.build`. + """ + warnings.warns(msg, SetuptoolsDeprecationWarning) + self.sub_commands = _build.sub_commands + super().run() -- cgit v1.2.1 From 6cae4d5522b7608bbbbe53073714d3be0961a1ed Mon Sep 17 00:00:00 2001 From: Anderson Bravalheri Date: Thu, 9 Jun 2022 19:03:49 +0100 Subject: Test that users are informed about subcommands in distutils --- setuptools/command/build.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'setuptools/command') diff --git a/setuptools/command/build.py b/setuptools/command/build.py index 932de472..7ab60ce6 100644 --- a/setuptools/command/build.py +++ b/setuptools/command/build.py @@ -19,6 +19,6 @@ class build(_build): new subcommands. Using `distutils` directly is considered deprecated, please use `setuptools.command.build`. """ - warnings.warns(msg, SetuptoolsDeprecationWarning) + warnings.warn(msg, SetuptoolsDeprecationWarning) self.sub_commands = _build.sub_commands super().run() -- cgit v1.2.1