Source code for skbuild.command.sdist

"""This module defines custom implementation of ``sdist`` setuptools command."""

from __future__ import annotations

from typing import Sequence

from setuptools.command.sdist import sdist as _sdist

from ..utils import distribution_hide_listing, logger
from . import CommandMixinProtocol, set_build_base_mixin


[docs] class sdist(set_build_base_mixin, _sdist): """Custom implementation of ``sdist`` setuptools command."""
[docs] def make_release_tree(self: CommandMixinProtocol, base_dir: str, files: Sequence[str]) -> None: """Handle --hide-listing option.""" with distribution_hide_listing(self.distribution): super().make_release_tree(base_dir, files) # type: ignore[misc] logger.info("copied %d files", len(files))
[docs] def make_archive( self, base_name: str, _format: str, root_dir: str | None = None, base_dir: str | None = None, owner: str | None = None, group: str | None = None, ) -> str: """Handle --hide-listing option.""" logger.info("creating '%s' %s archive and adding '%s' to it", base_name, _format, base_dir) with distribution_hide_listing(self.distribution): return super().make_archive(base_name, _format, root_dir, base_dir, owner, group)
[docs] def run(self, *args: object, **kwargs: object) -> None: """Force :class:`.egg_info.egg_info` command to run.""" self.run_command("generate_source_manifest") super().run(*args, **kwargs)