diff options
Diffstat (limited to 'hatch_build.py')
-rw-r--r-- | hatch_build.py | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/hatch_build.py b/hatch_build.py new file mode 100644 index 0000000..4be7a45 --- /dev/null +++ b/hatch_build.py @@ -0,0 +1,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']}"] |