def do_build( project: Project, sdist: bool = True, wheel: bool = True, dest: str = "dist", clean: bool = True, config_settings: Mapping[str, str] | None = None, ) -> None: """Build artifacts for distribution.""" from pdm.builders import SdistBuilder, WheelBuilder if project.is_global: raise ProjectError("Not allowed to build based on the global project.") if not wheel and not sdist: project.core.ui.echo("All artifacts are disabled, nothing to do.", err=True) return if not os.path.isabs(dest): dest = project.root.joinpath(dest).as_posix() if clean: shutil.rmtree(dest, ignore_errors=True) with project.core.ui.logging("build"): if sdist: project.core.ui.echo("Building sdist...") loc = SdistBuilder(project.root, project.environment).build( dest, config_settings) project.core.ui.echo(f"Built sdist at {loc}") if wheel: project.core.ui.echo("Building wheel...") loc = WheelBuilder(project.root, project.environment).build( dest, config_settings) project.core.ui.echo(f"Built wheel at {loc}")
def do_build( project: Project, sdist: bool = True, wheel: bool = True, dest: str = "dist", clean: bool = True, ): """Build artifacts for distribution.""" check_project_file(project) if not wheel and not sdist: context.io.echo("All artifacts are disabled, nothing to do.", err=True) return ireq = project.make_self_candidate(False).ireq ireq.source_dir = "." if clean: shutil.rmtree(dest, ignore_errors=True) if sdist: with SdistBuilder(ireq) as builder: builder.build(dest) if wheel: with WheelBuilder(ireq) as builder: builder.build(dest)
def do_build( project: Project, sdist: bool = True, wheel: bool = True, dest: str = "dist", clean: bool = True, ): """Build artifacts for distribution.""" if project.is_global: raise ProjectError("Not allowed to build based on the global project.") check_project_file(project) if not wheel and not sdist: stream.echo("All artifacts are disabled, nothing to do.", err=True) return ireq = project.make_self_candidate(False).ireq ireq.source_dir = project.root.as_posix() if clean: shutil.rmtree(dest, ignore_errors=True) if sdist: with SdistBuilder(ireq) as builder: builder.build(dest) if wheel: with WheelBuilder(ireq) as builder: builder.build(dest)
def build_sdist(sdist_directory, config_settings=None): """Builds an sdist, places it in sdist_directory""" ireq = parse_requirement(".").as_ireq() ireq.source_dir = "." with SdistBuilder(ireq) as builder: return Path(builder.build(sdist_directory)).name