1717 build_environment ,
1818 dependencies ,
1919 finders ,
20+ hooks ,
2021 progress ,
2122 resolver ,
2223 server ,
@@ -116,6 +117,7 @@ def bootstrap(self, req: Requirement, req_type: RequirementType) -> Version:
116117 build_env : build_environment .BuildEnvironment | None = None
117118 sdist_root_dir : pathlib .Path | None = None
118119 wheel_filename : pathlib .Path | None = None
120+ sdist_filename : pathlib .Path | None = None
119121
120122 if pbi .pre_built :
121123 wheel_filename , unpack_dir = self ._download_prebuilt (
@@ -172,7 +174,7 @@ def bootstrap(self, req: Requirement, req_type: RequirementType) -> Version:
172174 f"{ req .name } =={ resolved_version } ({ req_type } )"
173175 )
174176 wheel_filename = None
175- build_env = self ._build_sdist (
177+ sdist_filename , build_env = self ._build_sdist (
176178 req , resolved_version , sdist_root_dir , build_dependencies
177179 )
178180 else :
@@ -181,10 +183,19 @@ def bootstrap(self, req: Requirement, req_type: RequirementType) -> Version:
181183 f"{ req .name } : building wheel { req .name } =={ resolved_version } "
182184 f"to get install requirements ({ req_type } )"
183185 )
184- wheel_filename , build_env = self ._build_wheel (
186+ wheel_filename , sdist_filename , build_env = self ._build_wheel (
185187 req , resolved_version , sdist_root_dir , build_dependencies
186188 )
187189
190+ hooks .run_post_bootstrap_hooks (
191+ ctx = self .ctx ,
192+ req = req ,
193+ dist_name = canonicalize_name (req .name ),
194+ dist_version = str (resolved_version ),
195+ sdist_filename = sdist_filename ,
196+ wheel_filename = wheel_filename ,
197+ )
198+
188199 if build_sdist_only :
189200 if typing .TYPE_CHECKING :
190201 assert build_env is not None
@@ -251,7 +262,7 @@ def _build_sdist(
251262 resolved_version : Version ,
252263 sdist_root_dir : pathlib .Path ,
253264 build_dependencies : set [Requirement ],
254- ) -> build_environment .BuildEnvironment :
265+ ) -> tuple [ pathlib . Path , build_environment .BuildEnvironment ] :
255266 build_env = build_environment .BuildEnvironment (
256267 self .ctx ,
257268 sdist_root_dir .parent ,
@@ -262,29 +273,30 @@ def _build_sdist(
262273 self .ctx , self .ctx .sdists_builds , req , str (resolved_version )
263274 )
264275 if not find_sdist_result :
265- sources .build_sdist (
276+ sdist_filename = sources .build_sdist (
266277 ctx = self .ctx ,
267278 req = req ,
268279 version = resolved_version ,
269280 sdist_root_dir = sdist_root_dir ,
270281 build_env = build_env ,
271282 )
272283 else :
284+ sdist_filename = find_sdist_result
273285 logger .info (
274286 f"{ req .name } have sdist version { resolved_version } : { find_sdist_result } "
275287 )
276288 except Exception as err :
277289 logger .warning (f"{ req .name } : failed to build source distribution: { err } " )
278- return build_env
290+ return ( sdist_filename , build_env )
279291
280292 def _build_wheel (
281293 self ,
282294 req : Requirement ,
283295 resolved_version : Version ,
284296 sdist_root_dir : pathlib .Path ,
285297 build_dependencies : set [Requirement ],
286- ) -> tuple [pathlib .Path , build_environment .BuildEnvironment ]:
287- build_env = self ._build_sdist (
298+ ) -> tuple [pathlib .Path , pathlib . Path , build_environment .BuildEnvironment ]:
299+ sdist_filename , build_env = self ._build_sdist (
288300 req , resolved_version , sdist_root_dir , build_dependencies
289301 )
290302
@@ -303,7 +315,7 @@ def _build_wheel(
303315 logger .info (
304316 f"{ req .name } : built wheel for version { resolved_version } : { wheel_filename } "
305317 )
306- return wheel_filename , build_env
318+ return wheel_filename , sdist_filename , build_env
307319
308320 def _prepare_build_dependencies (
309321 self , req : Requirement , sdist_root_dir : pathlib .Path
0 commit comments