-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Behavior is compatible with PEPs since hatch v1.2.0.
- Loading branch information
1 parent
3292381
commit c44647f
Showing
4 changed files
with
39 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,6 @@ | ||
from incipyt.tools.base import Tool | ||
from incipyt.tools.git import Git | ||
from incipyt.tools.license import License | ||
from incipyt.tools.pep517 import PDM, Flit, Setuptools | ||
from incipyt.tools.pep517 import PDM, Flit, Hatch, Setuptools | ||
from incipyt.tools.poetry import Poetry | ||
from incipyt.tools.venv import Venv |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,5 @@ | ||
from incipyt.tools.pep517.base import BuildSystem | ||
from incipyt.tools.pep517.flit import Flit | ||
from incipyt.tools.pep517.hatch import Hatch | ||
from incipyt.tools.pep517.pdm import PDM | ||
from incipyt.tools.pep517.setuptools import Setuptools |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
from incipyt import project, signals | ||
from incipyt._internal.dumpers import Toml | ||
from incipyt.tools import pep517 | ||
|
||
|
||
class Hatch(pep517.BuildSystem): | ||
"""Scripts to add Hatch to :class:`incipyt.project._Structure`.""" | ||
|
||
def add_to_structure(self): | ||
"""Add hatch configuration to `project.structure`. | ||
:file:`pyptoject.toml` | ||
.. code-block:: | ||
[build-system] | ||
build-backend = "hatchling.build" | ||
requires = ["hatchling>=1.3.0"] | ||
If this configuration cannot be populate like that, an error is raised. | ||
:raises RuntimeError: If a build-system is already setup in pyproject.toml. | ||
""" | ||
super().add_to_structure() | ||
|
||
pyproject = project.structure.get_config_dict(Toml("pyproject.toml")) | ||
|
||
if "build-system" in pyproject: | ||
raise RuntimeError("Build system already registered.") | ||
|
||
pyproject["build-system"] = { | ||
"build-backend": "hatchling.build", | ||
"requires": ["hatchling>=1.3.0"], | ||
} | ||
|
||
signals.build_dependency.emit(dep_name="hatch>=1.2.0") |