summaryrefslogtreecommitdiffstats
path: root/hatch_build.py
blob: 4be7a45d9a9c4e43152e57d14d2956cfbdbb2ceb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
# hatch_build.py is executed by hatch at build-time and can contain custom build logic hooks
import os
from hatchling.metadata.plugin.interface import MetadataHookInterface


class CustomMetadataHook(MetadataHookInterface):
    """Custom metadata hook for hatch that ensures that gitlint and gitlint-core[trusted-deps] versions always match"""

    def update(self, metadata: dict) -> None:
        # Only enforce versioning matching outside of the 'dev' environment, this allows for re-use of the 'dev'
        # environment between different git branches.
        if os.environ.get("HATCH_ENV_ACTIVE", "not-dev") != "dev":
            metadata["dependencies"] = [f"gitlint-core[trusted-deps]=={metadata['version']}"]