diff --git a/noxfile.py b/noxfile.py index d150647..3e95f3c 100644 --- a/noxfile.py +++ b/noxfile.py @@ -110,17 +110,6 @@ def create_vectors(session: nox.Session): ) -def _repl_version(session: nox.Session, new_version: str): - with open("pyproject.toml", "r+") as fp: - lines = tuple(fp) - fp.seek(0) - for line in lines: - if line.startswith("version = "): - line = f'version = "{new_version}"\n' - fp.write(line) - fp.truncate() - - def test_no_modifications(session: nox.Session) -> bool: modified = session.run( "git", @@ -177,7 +166,9 @@ def bump(session: nox.Session): f"Either {fragment_file} must already exist, or two positional arguments must be provided." ) install(session, "antsibull-changelog[toml]", "hatch") - _repl_version(session, version) + current_version = session.run("hatch", "version", silent=True).strip() + if version != current_version: + session.run("hatch", "version", version) if len(session.posargs) > 1: fragment = session.run( "python", @@ -187,18 +178,24 @@ def bump(session: nox.Session): ) with open(fragment_file, "w") as fp: print(fragment, file=fp) - session.run("git", "add", "pyproject.toml", fragment_file, external=True) + session.run( + "git", + "add", + "src/antsibull_docs_parser/__init__.py", + fragment_file, + external=True, + ) session.run("git", "commit", "-m", f"Prepare {version}.", external=True) - session.run("antsibull-changelog", "release") + session.run("antsibull-changelog", "release", "--version", version) session.run( "git", "add", "CHANGELOG.rst", "changelogs/changelog.yaml", "changelogs/fragments/", - # pyproject.toml is not committed in the last step + # __init__.py is not committed in the last step # when the release_summary fragment is created manually - "pyproject.toml", + "src/antsibull_docs_parser/__init__.py", external=True, ) install(session, ".") # Smoke test @@ -223,7 +220,6 @@ def publish(session: nox.Session): check_no_modifications(session) install(session, "hatch") session.run("hatch", "publish", *session.posargs) - version = session.run("hatch", "version", silent=True).strip() - _repl_version(session, f"{version}.post0") - session.run("git", "add", "pyproject.toml", external=True) + session.run("hatch", "version", "post") + session.run("git", "add", "src/antsibull_docs_parser/__init__.py", external=True) session.run("git", "commit", "-m", "Post-release version bump.", external=True) diff --git a/pyproject.toml b/pyproject.toml index 73862e8..27e1468 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -8,7 +8,7 @@ build-backend = "hatchling.build" [project] name = "antsibull-docs-parser" -version = "1.0.0.post0" +dynamic = ["version"] description = "Python library for processing Ansible documentation markup" readme = "README.md" requires-python = ">=3.6.1" @@ -74,6 +74,9 @@ dev = [ "nox", ] +[tool.hatch.version] +path = "src/antsibull_docs_parser/__init__.py" + [tool.isort] profile = "black" diff --git a/src/antsibull_docs_parser/__init__.py b/src/antsibull_docs_parser/__init__.py index 7547f6e..ad09609 100644 --- a/src/antsibull_docs_parser/__init__.py +++ b/src/antsibull_docs_parser/__init__.py @@ -2,3 +2,11 @@ # https://www.gnu.org/licenses/gpl-3.0.txt) # SPDX-License-Identifier: GPL-3.0-or-later # SPDX-FileCopyrightText: 2020, Ansible Project + +""" +Library for processing Ansible documentation markup. +""" + +__version__ = "1.0.0.post0" + +__all__ = ("__version__",)