summaryrefslogtreecommitdiffstats
path: root/hatch_build.py
diff options
context:
space:
mode:
Diffstat (limited to 'hatch_build.py')
-rw-r--r--hatch_build.py13
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']}"]