Skip to content

dev-pypi is repeatedly added to uv pyproject.toml files, making it impossible to use a dev repository #403

@d-ryan-ashcraft

Description

@d-ryan-ashcraft

When a uv project is configured to leverage useDevRepository:

                <plugin>
                    <groupId>org.technologybrewery.habushu</groupId>
                    <artifactId>habushu-maven-plugin</artifactId>
                    <version>${version.habushu.plugin}</version>
                    <extensions>true</extensions>
                    <configuration>
                        <pythonVersion>${version.python.default}</pythonVersion>
                        <useDevRepository>true</useDevRepository>
                    </configuration>
                </plugin>

Running deploy results in triplicates of the dev-pypi configuration in my pyproject.toml file:

[[tool.uv.index]]
name = "dev-pypi"
url = "https://test.pypi.org/simple/"
publish-url = "https://test.pypi.org/legacy/"
[[tool.uv.index]]
name = "dev-pypi"
url = "https://test.pypi.org/simple/"
publish-url = "https://test.pypi.org/legacy/"
[tool.ruff.format]
indent-style="space"
line-ending="lf"
quote-style="preserve"

[dependency-groups]
dev = [
    "ruff>=0.9.10",
]


# Added by habushu-maven-plugin at 2025-06-18T11:45:31.764463 to use https://test.pypi.org/simple/ as source PyPi repository for installing dependencies
[[tool.uv.index]]
name = "dev-pypi"
url = "https://test.pypi.org/simple/"
publish-url = "https://test.pypi.org/legacy/"

The resulting deploy-time error is:

[INFO] --- habushu:3.1.0:publish-to-pypi-repo (default-publish-to-pypi-repo) @ uv-monorepo-dependency-tool ---
[INFO] Executing uv command: uv tool run --from=toml-cli toml get --toml-path=pyproject.toml project.version
[INFO] Setting version of UV package to publish to 1.0.0.dev1750247135
[INFO] Executing uv command: uv tool run --from=toml-cli toml set --toml-path=pyproject.toml project.version 1.0.0.dev1750247135
[INFO] Publishing to dev repository (useDevRepository=true, dev version being published)
[INFO] Publishing archives to https://test.pypi.org/legacy/
[INFO] Rebuilding uv before publishing PyPi repository...
[INFO] Building source and wheel archives...
[INFO] Executing uv command: uv build
[INFO] Building source distribution...
[INFO]   × Failed to build
[INFO]   │ `/Users/ryan/dev/technology-brewery/uv-monorepo-dependency-tool/uv-monorepo-dependency-tool`
[INFO]   ├─▶ Failed to parse: `pyproject.toml`
[ERROR]   ╰─▶ TOML parse error at line 23, column 1
[INFO]          |
[INFO]       23 | [[tool.uv.index]]
[INFO]          | ^^^^^^^^^^^^^^^^^
[INFO]       duplicate index name `dev-pypi`
[INFO] 
[INFO] Resetting UV package version back to 1.0.0.dev
[INFO] Executing uv command: uv tool run --from=toml-cli toml set --toml-path=pyproject.toml project.version 1.0.0.dev

This is happening with Habushu 3.1.0.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions