Lines Matching full:package
35 self.package = None
98 """Generate list of '(package,src_dir,build_dir,filenames)' tuples"""
102 for package in self.packages:
103 # Locate package source directory
104 src_dir = self.get_package_dir(package)
106 # Compute package build directory
107 build_dir = os.path.join(*([self.build_lib] + package.split('.')))
116 file[plen:] for file in self.find_data_files(package, src_dir)
118 data.append((package, src_dir, build_dir, filenames))
121 def find_data_files(self, package, src_dir): argument
122 """Return filenames for package's data files in 'src_dir'"""
124 + self.package_data.get(package, []))
137 for package, src_dir, build_dir, filenames in self.data_files:
144 def get_package_dir(self, package): argument
146 distribution, where package 'package' should be found
148 path = package.split('.')
169 # for the root (nameless) package, then fallback on it;
183 def check_package(self, package, package_dir): argument
191 "package directory '%s' does not exist" % package_dir)
194 "supposed package directory '%s' exists, "
197 # Require __init__.py for all but the "root package"
198 if package:
203 log.warn(("package init file '%s' not found " +
206 # Either not in a package at all (__init__.py not expected), or
217 def find_package_modules(self, package, package_dir): argument
218 self.check_package(package, package_dir)
227 modules.append((package, module, f))
234 module name in 'self.py_modules'. Returns a list of tuples (package,
235 module_base, filename): 'package' is a tuple of the path through
236 package-space to the module; 'module_base' is the bare (no
241 # Map package names to tuples of useful info about the package:
244 # this package
245 # checked - true if we have checked that the package directory
249 # List of (package, module, filename) tuples to return
253 # just the "package" for a toplevel is empty (either an empty
255 # - don't check for __init__.py in directory for empty package
258 package = '.'.join(path[0:-1])
262 (package_dir, checked) = packages[package]
264 package_dir = self.get_package_dir(package)
268 init_py = self.check_package(package, package_dir)
269 packages[package] = (package_dir, 1)
271 modules.append((package, "__init__", init_py))
280 modules.append((package, module_base, module_file))
288 (package, module, module_file), just like 'find_modules()' and
294 for package in self.packages:
295 package_dir = self.get_package_dir(package)
296 m = self.find_package_modules(package, package_dir)
303 def get_module_outfile(self, build_dir, package, module): argument
304 outfile_path = [build_dir] + list(package) + [module + ".py"]
310 for (package, module, module_file) in modules:
311 package = package.split('.')
312 filename = self.get_module_outfile(self.build_lib, package, module)
324 for package, src_dir, build_dir, filenames in self.data_files
330 def build_module(self, module, module_file, package): argument
331 if isinstance(package, str):
332 package = package.split('.')
333 elif not isinstance(package, (list, tuple)):
335 "'package' must be a string (dot-separated), list, or tuple")
340 outfile = self.get_module_outfile(self.build_lib, package, module)
347 for (package, module, module_file) in modules:
350 # (Actually, it gets copied to the directory for this package
352 self.build_module(module, module_file, package)
355 for package in self.packages:
356 # Get list of (package, module, module_file) tuples based on
357 # scanning the package directory. 'package' is only included
361 # the *unqualified* module name (ie. no dots, no package -- we
362 # already know its package!), and 'module_file' is the path to
365 package_dir = self.get_package_dir(package)
366 modules = self.find_package_modules(package, package_dir)
371 assert package == package_
372 self.build_module(module, module_file, package)
411 def build_module(self, module, module_file, package): argument
412 res = build_py.build_module(self, module, module_file, package)