Commit d4fb0058 authored by Jason R. Coombs's avatar Jason R. Coombs Committed by GitHub

Merge pull request #2096 from pypa/feature/deprecate-2to3

Emit deprecation warning when 2to3 is used.
parents f4161185 a354d7bc
Deprecate 'use_2to3' functionality. Packagers are encouraged to use single-source solutions or build tool chains to manage conversions outside of setuptools.
......@@ -7,11 +7,13 @@ Customized Mixin2to3 support:
This module raises an ImportError on Python 2.
"""
import warnings
from distutils.util import Mixin2to3 as _Mixin2to3
from distutils import log
from lib2to3.refactor import RefactoringTool, get_fixers_from_package
import setuptools
from ._deprecation_warning import SetuptoolsDeprecationWarning
class DistutilsRefactoringTool(RefactoringTool):
......@@ -33,6 +35,13 @@ class Mixin2to3(_Mixin2to3):
return
if not files:
return
warnings.warn(
"2to3 support is deprecated. If the project still "
"requires Python 2 support, please migrate to "
"a single-codebase solution or employ an "
"independent conversion process.",
SetuptoolsDeprecationWarning)
log.info("Fixing " + " ".join(files))
self.__build_fixer_names()
self.__exclude_fixers()
......
......@@ -73,7 +73,11 @@ def quiet_log():
log.set_verbosity(0)
ack_2to3 = pytest.mark.filterwarnings('ignore:2to3 support is deprecated')
@pytest.mark.usefixtures('sample_test', 'quiet_log')
@ack_2to3
def test_test(capfd):
params = dict(
name='foo',
......@@ -124,6 +128,7 @@ def test_tests_are_run_once(capfd):
@pytest.mark.usefixtures('sample_test')
@ack_2to3
def test_warns_deprecation(capfd):
params = dict(
name='foo',
......@@ -149,6 +154,7 @@ def test_warns_deprecation(capfd):
@pytest.mark.usefixtures('sample_test')
@ack_2to3
def test_deprecation_stderr(capfd):
params = dict(
name='foo',
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment