Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
palotasb committed Apr 7, 2024
1 parent af006aa commit 376d451
Show file tree
Hide file tree
Showing 13 changed files with 544 additions and 18 deletions.
2 changes: 2 additions & 0 deletions .pygithooks/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
**/*~
**/*~.*
2 changes: 2 additions & 0 deletions .pygithooks/post-checkout/pdm-sync-clean.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
#!sh -eux
pdm sync --clean
2 changes: 2 additions & 0 deletions .pygithooks/pre-commit/mypy.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
#!/bin/sh -eux
: mypy -- SKIPPED
2 changes: 2 additions & 0 deletions .pygithooks/pre-commit/ruff-check.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
#!/bin/sh -eux
ruff check
2 changes: 2 additions & 0 deletions .pygithooks/pre-commit/ruff-format-diff.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
#!/bin/sh -eux
ruff format --diff
38 changes: 25 additions & 13 deletions pdm.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion pkg/.gitignore
Original file line number Diff line number Diff line change
@@ -1 +1 @@
*/boldi/_*version.py
*/*/_*version.py
24 changes: 24 additions & 0 deletions pkg/pygithooks/hatch_hooks.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
from pathlib import Path

from hatch_vcs.version_source import VCSVersionSource
from hatchling.metadata.plugin.interface import MetadataHookInterface
from packaging.requirements import Requirement


def update_internal_dependencies(dependencies: list[str], version: str):
for i, dependency in enumerate(dependencies):
requirement = Requirement(dependency)
if requirement.name.startswith("boldi"):
requirement.specifier &= f"=={version}"
dependencies[i] = str(requirement)


class CustomMetadataHook(MetadataHookInterface):
def __init__(self, root: str, config: dict) -> None:
super().__init__(root, config)

def update(self, metadata: dict) -> None:
version_source = VCSVersionSource(root=Path(self.root).parent.parent.resolve().__str__(), config={})
version = version_source.get_version_data()["version"]
print(version)
update_internal_dependencies(metadata.get("dependencies", []), version)
3 changes: 3 additions & 0 deletions pkg/pygithooks/pygithooks/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
from pygithooks._pygithooks import main

__all__ = ["main"]
4 changes: 4 additions & 0 deletions pkg/pygithooks/pygithooks/__main__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
from pygithooks._pygithooks import main

if __name__ == "__main__":
main()
Loading

0 comments on commit 376d451

Please sign in to comment.