in mysql-connector-python/cpydist/bdist.py [0:0]
def run(self):
"""Run the command."""
self.log.info("Installing library code to %s", self.bdist_dir)
self.log.info("Generating INFO_SRC and INFO_BIN files")
write_info_src(VERSION_TEXT)
write_info_bin()
dist_name = self.distribution.get_fullname()
self.dist_target = os.path.join(self.dist_dir, dist_name)
self.log.info("Distribution will be available as '%s'", self.dist_target)
# build command: just to get the build_base
cmdbuild = self.get_finalized_command("build")
self.build_base = cmdbuild.build_base
# install command
install = self.reinitialize_command("install_lib", reinit_subcommands=1)
install.compile = False
install.warn_dir = 0
install.install_dir = self.bdist_dir
self.log.info("Installing to %s", self.bdist_dir)
self.run_command("install_lib")
# install_egg_info command
cmd_egginfo = self.get_finalized_command("install_egg_info")
cmd_egginfo.install_dir = self.bdist_dir
self.run_command("install_egg_info")
installed_files = install.get_outputs()
# compile and remove sources
if self.byte_code_only:
install.compile = True
install.byte_compile(installed_files)
self._remove_sources()
if get_python_version().startswith("3"):
self.log.info("Copying byte code from __pycache__")
self._copy_from_pycache(os.path.join(self.bdist_dir, "mysql"))
# create distribution
info_files = [
("README.txt", "README.txt"),
("LICENSE.txt", "LICENSE.txt"),
("README.rst", "README.rst"),
("CONTRIBUTING.md", "CONTRIBUTING.md"),
("SECURITY.md", "SECURITY.md"),
("docs/INFO_SRC", "INFO_SRC"),
("docs/INFO_BIN", "INFO_BIN"),
]
shutil.copytree(self.bdist_dir, self.dist_target, dirs_exist_ok=True)
Path(self.dist_target).mkdir(parents=True, exist_ok=True)
for src, dst in info_files:
if dst is None:
shutil.copyfile(src, self.dist_target)
else:
shutil.copyfile(src, os.path.join(self.dist_target, dst))
add_docs(os.path.join(self.dist_target, "docs"))
if not self.keep_temp:
shutil.rmtree(self.build_base)