mirror of
https://github.com/crewAIInc/crewAI.git
synced 2026-07-03 06:08:15 +00:00
chore(devtools): skip pinning crewai-files in file-processing extra
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
from collections.abc import Mapping
|
||||
import os
|
||||
from pathlib import Path
|
||||
import re
|
||||
import subprocess
|
||||
import sys
|
||||
import tempfile
|
||||
@@ -355,8 +356,19 @@ def update_pyproject_dependencies(
|
||||
|
||||
workspace_packages = _DEFAULT_WORKSPACE_PACKAGES + (extra_packages or [])
|
||||
|
||||
current_extra: str | None = None
|
||||
extra_header = re.compile(r"^\s*([A-Za-z0-9_-]+)\s*=\s*\[")
|
||||
|
||||
for i, line in enumerate(lines):
|
||||
match = extra_header.match(line)
|
||||
if match:
|
||||
current_extra = match.group(1)
|
||||
elif line.strip().startswith("]"):
|
||||
current_extra = None
|
||||
|
||||
for pkg in workspace_packages:
|
||||
if pkg == "crewai-files" and current_extra == "file-processing":
|
||||
continue
|
||||
if f"{pkg}==" in line:
|
||||
stripped = line.lstrip()
|
||||
indent = line[: len(line) - len(stripped)]
|
||||
|
||||
@@ -282,6 +282,25 @@ class TestUpdatePyprojectDependencies:
|
||||
assert '"crewai-files==2.0.0"' in result
|
||||
assert '"requests>=2.0"' in result
|
||||
|
||||
def test_skips_crewai_files_in_file_processing_extra(self, tmp_path: Path) -> None:
|
||||
pyproject = tmp_path / "pyproject.toml"
|
||||
pyproject.write_text(
|
||||
dedent("""\
|
||||
[project.optional-dependencies]
|
||||
file-processing = [
|
||||
"crewai-files==1.0.0",
|
||||
]
|
||||
other = [
|
||||
"crewai-files==1.0.0",
|
||||
]
|
||||
""")
|
||||
)
|
||||
|
||||
update_pyproject_dependencies(pyproject, "2.0.0")
|
||||
result = pyproject.read_text()
|
||||
assert '"crewai-files==1.0.0"' in result
|
||||
assert '"crewai-files==2.0.0"' in result
|
||||
|
||||
def test_leaves_bare_crewai_pin_alone(self, tmp_path: Path) -> None:
|
||||
"""`crewai==` must not collide with `crewai-core==` etc."""
|
||||
pyproject = tmp_path / "pyproject.toml"
|
||||
|
||||
Reference in New Issue
Block a user