summaryrefslogtreecommitdiff
path: root/src/distutils2/command
diff options
context:
space:
mode:
Diffstat (limited to 'src/distutils2/command')
-rw-r--r--src/distutils2/command/build_py.py8
-rw-r--r--src/distutils2/command/install_data.py15
-rw-r--r--src/distutils2/command/sdist.py45
3 files changed, 26 insertions, 42 deletions
diff --git a/src/distutils2/command/build_py.py b/src/distutils2/command/build_py.py
index 736c35e..7de2648 100644
--- a/src/distutils2/command/build_py.py
+++ b/src/distutils2/command/build_py.py
@@ -372,7 +372,13 @@ class build_py(Command, Mixin2to3):
return modules
def get_source_files(self):
- return [module[-1] for module in self.find_all_modules()]
+ sources = [module[-1] for module in self.find_all_modules()]
+ sources += [
+ os.path.join(src_dir, filename)
+ for package, src_dir, build_dir, filenames in self.data_files
+ for filename in filenames
+ ]
+ return sources
def get_module_outfile(self, build_dir, package, module):
outfile_path = [build_dir] + list(package) + [module + ".py"]
diff --git a/src/distutils2/command/install_data.py b/src/distutils2/command/install_data.py
index 06b0a33..a9980a1 100644
--- a/src/distutils2/command/install_data.py
+++ b/src/distutils2/command/install_data.py
@@ -74,6 +74,21 @@ class install_data(Command):
(out, _) = self.copy_file(data, dir)
self.outfiles.append(out)
+ def get_source_files(self):
+ sources = []
+ for item in self.data_files:
+ if isinstance(item, str): # plain file
+ item = convert_path(item)
+ if os.path.isfile(item):
+ sources.append(item)
+ else: # a (dirname, filenames) tuple
+ dirname, filenames = item
+ for f in filenames:
+ f = convert_path(f)
+ if os.path.isfile(f):
+ sources.append(f)
+ return sources
+
def get_inputs(self):
return self.data_files or []
diff --git a/src/distutils2/command/sdist.py b/src/distutils2/command/sdist.py
index 7799ea5..b35f4d6 100644
--- a/src/distutils2/command/sdist.py
+++ b/src/distutils2/command/sdist.py
@@ -244,47 +244,10 @@ class sdist(Command):
if files:
self.filelist.extend(files)
- # build_py is used to get:
- # - python modules
- # - files defined in package_data
- build_py = self.get_finalized_command('build_py')
-
- # getting python files
- if self.distribution.has_pure_modules():
- self.filelist.extend(build_py.get_source_files())
-
- # getting package_data files
- # (computed in build_py.data_files by build_py.finalize_options)
- for pkg, src_dir, build_dir, filenames in build_py.data_files:
- for filename in filenames:
- self.filelist.append(os.path.join(src_dir, filename))
-
- # getting distribution.data_files
- if self.distribution.has_data_files():
- for item in self.distribution.data_files:
- if isinstance(item, str): # plain file
- item = convert_path(item)
- if os.path.isfile(item):
- self.filelist.append(item)
- else: # a (dirname, filenames) tuple
- dirname, filenames = item
- for f in filenames:
- f = convert_path(f)
- if os.path.isfile(f):
- self.filelist.append(f)
-
- if self.distribution.has_ext_modules():
- build_ext = self.get_finalized_command('build_ext')
- self.filelist.extend(build_ext.get_source_files())
-
- if self.distribution.has_c_libraries():
- build_clib = self.get_finalized_command('build_clib')
- self.filelist.extend(build_clib.get_source_files())
-
- if self.distribution.has_scripts():
- build_scripts = self.get_finalized_command('build_scripts')
- self.filelist.extend(build_scripts.get_source_files())
-
+ for cmd_name in self.distribution.get_command_names():
+ cmd_obj = self.get_finalized_command(cmd_name)
+ self.filelist.extend(cmd_obj.get_source_files())
+
def prune_file_list(self):
"""Prune off branches that might slip into the file list as created