summaryrefslogtreecommitdiffstats
path: root/Lib/distutils/command
diff options
context:
space:
mode:
authorMartin v. Löwis <martin@v.loewis.de>2008-12-01 04:38:52 (GMT)
committerMartin v. Löwis <martin@v.loewis.de>2008-12-01 04:38:52 (GMT)
commit6178db6d55eac65fc236cbf48a3944d1c308c2d1 (patch)
tree50e8a412ac195901f0e9873a53e92e9f7361f5f2 /Lib/distutils/command
parent2212e529d9ecb3aafa5c4f65930a1a9ddbc6585f (diff)
downloadcpython-6178db6d55eac65fc236cbf48a3944d1c308c2d1.zip
cpython-6178db6d55eac65fc236cbf48a3944d1c308c2d1.tar.gz
cpython-6178db6d55eac65fc236cbf48a3944d1c308c2d1.tar.bz2
Issue #4073: Add 2to3 support to build_scripts, refactor that support
in build_py.
Diffstat (limited to 'Lib/distutils/command')
-rw-r--r--Lib/distutils/command/build_py.py23
-rw-r--r--Lib/distutils/command/build_scripts.py15
2 files changed, 17 insertions, 21 deletions
diff --git a/Lib/distutils/command/build_py.py b/Lib/distutils/command/build_py.py
index 7728489..99d85be 100644
--- a/Lib/distutils/command/build_py.py
+++ b/Lib/distutils/command/build_py.py
@@ -9,7 +9,7 @@ from glob import glob
from distutils.core import Command
from distutils.errors import *
-from distutils.util import convert_path
+from distutils.util import convert_path, Mixin2to3
from distutils import log
class build_py (Command):
@@ -384,19 +384,7 @@ class build_py (Command):
byte_compile(files, optimize=self.optimize,
force=self.force, prefix=prefix, dry_run=self.dry_run)
-from lib2to3.refactor import RefactoringTool, get_fixers_from_package
-class DistutilsRefactoringTool(RefactoringTool):
- def log_error(self, msg, *args, **kw):
- # XXX ignores kw
- log.error(msg, *args)
-
- def log_message(self, msg, *args):
- log.info(msg, *args)
-
- def log_debug(self, msg, *args):
- log.debug(msg, *args)
-
-class build_py_2to3(build_py):
+class build_py_2to3(build_py, Mixin2to3):
def run(self):
self.updated_files = []
@@ -408,12 +396,7 @@ class build_py_2to3(build_py):
self.build_package_data()
# 2to3
- fixers = get_fixers_from_package('lib2to3.fixes')
- options = dict(fix=[], list_fixes=[],
- print_function=False, verbose=False,
- write=True)
- r = DistutilsRefactoringTool(fixers, options)
- r.refactor(self.updated_files, write=True)
+ self.run_2to3(self.updated_files)
# Remaining base class code
self.byte_compile(self.get_outputs(include_bytecode=0))
diff --git a/Lib/distutils/command/build_scripts.py b/Lib/distutils/command/build_scripts.py
index 3ac5b0c..dc04a9f 100644
--- a/Lib/distutils/command/build_scripts.py
+++ b/Lib/distutils/command/build_scripts.py
@@ -9,7 +9,7 @@ from stat import ST_MODE
from distutils import sysconfig
from distutils.core import Command
from distutils.dep_util import newer
-from distutils.util import convert_path
+from distutils.util import convert_path, Mixin2to3
from distutils import log
# check if Python is called on the first line with this expression
@@ -59,6 +59,7 @@ class build_scripts(Command):
"""
self.mkpath(self.build_dir)
outfiles = []
+ updated_files = []
for script in self.scripts:
adjust = False
script = convert_path(script)
@@ -92,6 +93,7 @@ class build_scripts(Command):
if adjust:
log.info("copying and adjusting %s -> %s", script,
self.build_dir)
+ updated_files.append(outfile)
if not self.dry_run:
outf = open(outfile, "w")
if not sysconfig.python_build:
@@ -112,6 +114,7 @@ class build_scripts(Command):
else:
if f:
f.close()
+ updated_files.append(outfile)
self.copy_file(script, outfile)
if os.name == 'posix':
@@ -125,3 +128,13 @@ class build_scripts(Command):
log.info("changing mode of %s from %o to %o",
file, oldmode, newmode)
os.chmod(file, newmode)
+ # XXX should we modify self.outfiles?
+ return outfiles, updated_files
+
+class build_scripts_2to3(build_scripts, Mixin2to3):
+
+ def copy_scripts(self):
+ outfiles, updated_files = build_scripts.copy_scripts(self)
+ if not self.dry_run:
+ self.run_2to3(updated_files)
+ return outfiles, updated_files