From a6a6cd216b1999c6cb84f236c4eae25b4882f350 Mon Sep 17 00:00:00 2001 From: shmyga Date: Mon, 12 Jun 2023 12:44:17 +0300 Subject: [PATCH] feat: add preset skip flag --- project_manager/preset/default/nodejs.toml | 4 ++-- project_manager/preset/default/python.toml | 2 +- project_manager/preset/entry.py | 3 ++- project_manager/preset/model.py | 7 ++++++- pyproject.toml | 2 +- 5 files changed, 12 insertions(+), 6 deletions(-) diff --git a/project_manager/preset/default/nodejs.toml b/project_manager/preset/default/nodejs.toml index a4c3d44..f47e8bf 100644 --- a/project_manager/preset/default/nodejs.toml +++ b/project_manager/preset/default/nodejs.toml @@ -3,11 +3,11 @@ conditions = ["file(package.json)"] [presets.nodejs.tasks.setup.npm] conditions = ["file(package-lock.json)"] -commands = ["npm install-clean --legacy-peer-deps"] +commands = ["npm install-clean"] [presets.nodejs.tasks.setup.npm-legacy] conditions = ["file(package-lock.json) | not"] -commands = ["npm install --legacy-peer-deps"] +commands = ["npm install"] [presets.nodejs.tasks.test.jest] conditions = ["file(node_modules/jest)"] diff --git a/project_manager/preset/default/python.toml b/project_manager/preset/default/python.toml index d926d62..e763541 100644 --- a/project_manager/preset/default/python.toml +++ b/project_manager/preset/default/python.toml @@ -28,7 +28,7 @@ commands = ["poetry publish -r {python_repository}"] [presets.python.tasks.test.pytest] conditions = ["file(.venv/bin/pytest)"] -commands = [".venv/bin/pytest -p no:warnings"] +commands = [".venv/bin/python -m pytest"] [presets.python.tasks.lint.isort] conditions = ["file(.venv/bin/isort)"] diff --git a/project_manager/preset/entry.py b/project_manager/preset/entry.py index 56f4004..1ce32ed 100644 --- a/project_manager/preset/entry.py +++ b/project_manager/preset/entry.py @@ -1,4 +1,3 @@ -from cmath import pi from collections import defaultdict from pathlib import Path from typing import Optional @@ -19,6 +18,8 @@ class PresetEntryDetector(EntryDetector): def detect_entry(self, basepath: Path) -> Optional["Entry"]: preset = PresetResolver(basepath, self._preset_resolver_config).resolve_preset() + if preset.skip: + return piperunner = PipeRunner(basepath) tasks = defaultdict(list) for preset_name, preset in preset.presets.items(): diff --git a/project_manager/preset/model.py b/project_manager/preset/model.py index 9f3f56d..9ff266e 100644 --- a/project_manager/preset/model.py +++ b/project_manager/preset/model.py @@ -2,7 +2,11 @@ from typing import Dict, List, Optional from pydantic import BaseModel -__all__ = ("TaskPreset", "EntryPreset", "Preset") +__all__ = ( + "TaskPreset", + "EntryPreset", + "Preset", +) class TaskPreset(BaseModel): @@ -17,4 +21,5 @@ class EntryPreset(BaseModel): class Preset(BaseModel): + skip: Optional[bool] presets: Dict[str, EntryPreset] diff --git a/pyproject.toml b/pyproject.toml index 805df0e..d766f77 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "project-manager" -version = "0.1.3" +version = "0.1.4" description = "" authors = ["shmyga "] readme = "README.md"