File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -285,7 +285,7 @@ def narrow_requirement_selection(
285285"""Type alias for the resolution reporter."""
286286
287287
288- def resolve (manifest : Manifest ) -> dict [str , Candidate ]:
288+ def resolve (manifest : Manifest , optional_deps : list [ str ] | None = None ) -> dict [str , Candidate ]:
289289 """Resolve all dependencies for a manifest.
290290
291291 Creates a FastSandProvider with the manifest's registries and runs the
@@ -294,6 +294,7 @@ def resolve(manifest: Manifest) -> dict[str, Candidate]:
294294
295295 Args:
296296 manifest: The manifest containing dependencies to resolve.
297+ optional_deps: Optional dependency groups to include in the library.
297298
298299 Returns:
299300 A dictionary mapping package names to their resolved Candidate objects.
@@ -313,5 +314,12 @@ def resolve(manifest: Manifest) -> dict[str, Candidate]:
313314 reporter : FastSandReporter = resolvelib .BaseReporter ()
314315
315316 resolver = resolvelib .Resolver (provider , reporter )
316- result = resolver .resolve (manifest .dependencies )
317+
318+ dependencies = [dep for dep in manifest .dependencies ]
319+ if optional_deps :
320+ for group in optional_deps :
321+ if group in manifest .optional_dependencies :
322+ dependencies .extend (manifest .optional_dependencies [group ])
323+
324+ result = resolver .resolve (dependencies )
317325 return result .mapping
Original file line number Diff line number Diff line change @@ -89,14 +89,7 @@ def library_from_manifest(
8989 Raises:
9090 resolvelib.ResolutionImpossible: If no compatible resolution exists.
9191 """
92- # TODO: Support optional_deps parameter once resolve() is updated to accept it
93- if optional_deps :
94- raise NotImplementedError (
95- "Optional dependencies are not yet supported. "
96- "The resolve() function needs to be updated to accept optional_deps."
97- )
98-
99- library = resolve (manifest )
92+ library = resolve (manifest , optional_deps )
10093 build_library (library , dest , clean )
10194
10295
You can’t perform that action at this time.
0 commit comments