|
|
@ -7,10 +7,24 @@ import subprocess
|
|
|
|
import sys
|
|
|
|
import sys
|
|
|
|
import typing as t
|
|
|
|
import typing as t
|
|
|
|
from configparser import ConfigParser
|
|
|
|
from configparser import ConfigParser
|
|
|
|
from contextlib import suppress
|
|
|
|
from contextlib import contextmanager, suppress
|
|
|
|
from importlib.metadata import import_module
|
|
|
|
from importlib.metadata import import_module
|
|
|
|
from io import StringIO
|
|
|
|
from io import StringIO
|
|
|
|
from pathlib import Path
|
|
|
|
from pathlib import Path
|
|
|
|
|
|
|
|
from shutil import copytree
|
|
|
|
|
|
|
|
from tempfile import TemporaryDirectory
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
try:
|
|
|
|
|
|
|
|
from contextlib import chdir as _chdir_cm
|
|
|
|
|
|
|
|
except ImportError:
|
|
|
|
|
|
|
|
@contextmanager
|
|
|
|
|
|
|
|
def _chdir_cm(path: os.PathLike) -> t.Iterator[None]:
|
|
|
|
|
|
|
|
original_wd = Path.cwd()
|
|
|
|
|
|
|
|
os.chdir(path)
|
|
|
|
|
|
|
|
try:
|
|
|
|
|
|
|
|
yield
|
|
|
|
|
|
|
|
finally:
|
|
|
|
|
|
|
|
os.chdir(original_wd)
|
|
|
|
|
|
|
|
|
|
|
|
from setuptools.build_meta import (
|
|
|
|
from setuptools.build_meta import (
|
|
|
|
build_sdist as _setuptools_build_sdist,
|
|
|
|
build_sdist as _setuptools_build_sdist,
|
|
|
@ -33,6 +47,13 @@ BUILD_MANPAGES_CONFIG_SETTING = '--build-manpages'
|
|
|
|
"""Config setting name toggle that is used to request manpage in sdists."""
|
|
|
|
"""Config setting name toggle that is used to request manpage in sdists."""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@contextmanager
|
|
|
|
|
|
|
|
def _run_in_temporary_directory() -> t.Iterator[Path]:
|
|
|
|
|
|
|
|
with TemporaryDirectory(prefix='.tmp-ansible-pep517-') as tmp_dir:
|
|
|
|
|
|
|
|
with _chdir_cm(tmp_dir):
|
|
|
|
|
|
|
|
yield Path(tmp_dir)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def _make_in_tree_ansible_importable() -> None:
|
|
|
|
def _make_in_tree_ansible_importable() -> None:
|
|
|
|
"""Add the library directory to module lookup paths."""
|
|
|
|
"""Add the library directory to module lookup paths."""
|
|
|
|
lib_path = str(Path.cwd() / 'lib/')
|
|
|
|
lib_path = str(Path.cwd() / 'lib/')
|
|
|
@ -93,6 +114,12 @@ def build_sdist( # noqa: WPS210, WPS430
|
|
|
|
build_manpages_requested = BUILD_MANPAGES_CONFIG_SETTING in (
|
|
|
|
build_manpages_requested = BUILD_MANPAGES_CONFIG_SETTING in (
|
|
|
|
config_settings or {}
|
|
|
|
config_settings or {}
|
|
|
|
)
|
|
|
|
)
|
|
|
|
|
|
|
|
original_src_dir = Path.cwd().resolve()
|
|
|
|
|
|
|
|
with _run_in_temporary_directory() as tmp_dir:
|
|
|
|
|
|
|
|
tmp_src_dir = Path(tmp_dir) / 'src'
|
|
|
|
|
|
|
|
copytree(original_src_dir, tmp_src_dir)
|
|
|
|
|
|
|
|
os.chdir(tmp_src_dir)
|
|
|
|
|
|
|
|
|
|
|
|
if build_manpages_requested:
|
|
|
|
if build_manpages_requested:
|
|
|
|
Path('docs/man/man1/').mkdir(exist_ok=True, parents=True)
|
|
|
|
Path('docs/man/man1/').mkdir(exist_ok=True, parents=True)
|
|
|
|
version_number = _get_package_distribution_version()
|
|
|
|
version_number = _get_package_distribution_version()
|
|
|
@ -104,11 +131,13 @@ def build_sdist( # noqa: WPS210, WPS430
|
|
|
|
)
|
|
|
|
)
|
|
|
|
rst_in.unlink()
|
|
|
|
rst_in.unlink()
|
|
|
|
|
|
|
|
|
|
|
|
return _setuptools_build_sdist(
|
|
|
|
built_sdist_basename = _setuptools_build_sdist(
|
|
|
|
sdist_directory=sdist_directory,
|
|
|
|
sdist_directory=sdist_directory,
|
|
|
|
config_settings=config_settings,
|
|
|
|
config_settings=config_settings,
|
|
|
|
)
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return built_sdist_basename
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def get_requires_for_build_sdist(
|
|
|
|
def get_requires_for_build_sdist(
|
|
|
|
config_settings: dict[str, str] | None = None,
|
|
|
|
config_settings: dict[str, str] | None = None,
|
|
|
|