feat: use jinja
This commit is contained in:
@@ -1,61 +1,55 @@
|
||||
[presets.python]
|
||||
conditions = ["file(pyproject.toml)"]
|
||||
conditions = ["{{ 'pyproject.toml' | file }}"]
|
||||
variables.python_poetry = "{{ 'pyproject.toml' | read | get('build-system.build-backend') == 'poetry.core.masonry.api' }}"
|
||||
|
||||
# setup
|
||||
[presets.python.tasks.setup.poetry]
|
||||
conditions = [
|
||||
"file(pyproject.toml) | get(build-system.build-backend) | equal(poetry.core.masonry.api)",
|
||||
]
|
||||
variables.python_version = "file(pyproject.toml) | get(project.requires-python) | search((\\d+.\\d+))"
|
||||
commands = [
|
||||
"poetry env use {python_version}",
|
||||
"poetry install",
|
||||
]
|
||||
conditions = ["{{ python_poetry }}"]
|
||||
variables.python_version = "{{ 'pyproject.toml' | read | get('project.requires-python') | search('(\\d+.\\d+)') }}"
|
||||
commands = ["poetry env use {{ python_version }}", "poetry install"]
|
||||
|
||||
# build
|
||||
[presets.python.tasks.build.poetry]
|
||||
conditions = [
|
||||
"file(pyproject.toml) | get(build-system.build-backend) | equal(poetry.core.masonry.api)",
|
||||
]
|
||||
conditions = ["{{ python_poetry }}"]
|
||||
commands = ["poetry build"]
|
||||
|
||||
# publish
|
||||
[presets.python.tasks.publish.poetry]
|
||||
conditions = [
|
||||
"file(pyproject.toml) | get(build-system.build-backend) | equal(poetry.core.masonry.api)",
|
||||
"file(poetry.toml) | get(repositories)",
|
||||
"{{ python_poetry }}",
|
||||
"{{ 'poetry.toml' | read | get('repositories') }}",
|
||||
]
|
||||
variables.python_repository = "file(poetry.toml) | get(repositories) | key(0)"
|
||||
commands = ["poetry publish -r {python_repository}"]
|
||||
variables.python_repository = "{{ 'poetry.toml' | read | get('repositories') | key(0) }}"
|
||||
commands = ["poetry publish -r {{ python_repository }}"]
|
||||
|
||||
# test
|
||||
[presets.python.tasks.test.pytest]
|
||||
conditions = ["file(.venv/bin/pytest)"]
|
||||
conditions = ["{{ '.venv/bin/pytest' | file }}"]
|
||||
commands = [".venv/bin/python -m pytest"]
|
||||
|
||||
# lint
|
||||
[presets.python.tasks.lint.pylint]
|
||||
conditions = ["file(.venv/bin/pylint)"]
|
||||
conditions = ["{{ '.venv/bin/pylint' | file }}"]
|
||||
commands = [".venv/bin/pylint ./"]
|
||||
|
||||
[presets.python.tasks.lint.isort]
|
||||
conditions = ["file(.venv/bin/isort)"]
|
||||
conditions = ["{{ '.venv/bin/isort' | file }}"]
|
||||
commands = [".venv/bin/isort --profile black --check-only ./"]
|
||||
|
||||
[presets.python.tasks.lint.black]
|
||||
conditions = ["file(.venv/bin/black)"]
|
||||
conditions = ["{{ '.venv/bin/black' | file }}"]
|
||||
commands = [".venv/bin/black --check --diff ./"]
|
||||
|
||||
# format
|
||||
[presets.python.tasks.format.isort]
|
||||
conditions = ["file(.venv/bin/isort)"]
|
||||
conditions = ["{{ '.venv/bin/isort' | file }}"]
|
||||
commands = [".venv/bin/isort --profile black ./"]
|
||||
|
||||
[presets.python.tasks.format.black]
|
||||
conditions = ["file(.venv/bin/black)"]
|
||||
conditions = ["{{ '.venv/bin/isort' | file }}"]
|
||||
commands = [".venv/bin/black ./"]
|
||||
|
||||
# clean
|
||||
[presets.python.tasks.clean.venv]
|
||||
conditions = ["file(.venv)"]
|
||||
conditions = ["{{ '.venv' | file }}"]
|
||||
commands = ["rm -rf .venv"]
|
||||
|
||||
Reference in New Issue
Block a user