From f2fc8a832dae8690f555d7b2c4809c71db4eb58b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maximilian=20Ke=C3=9Fler?= Date: Sun, 6 Feb 2022 20:39:17 +0100 Subject: [PATCH] start working on pytex builder --- PyTeX/build/build/builder.py | 53 ++++++++++++++++++++++++++++-------- 1 file changed, 42 insertions(+), 11 deletions(-) diff --git a/PyTeX/build/build/builder.py b/PyTeX/build/build/builder.py index 206093a..cedcced 100644 --- a/PyTeX/build/build/builder.py +++ b/PyTeX/build/build/builder.py @@ -1,7 +1,10 @@ from typing import Optional +from pathlib import Path from PyTeX.build.build import BuildDirSpecification +from PyTeX.build.enums import PyTeXRootDirType from PyTeX.format.formatting_config import FormattingConfig +from ...logger import logger class PyTeXBuilder: @@ -9,21 +12,49 @@ class PyTeXBuilder: self, build_dir_spec: BuildDirSpecification ): - self._build_spec: BuildDirSpecification = build_dir_spec - self._default_formatting_config: Optional[FormattingConfig] = None + self._build_target_type: Optional[PyTeXRootDirType] = None - self._recursive: bool = True - self._overwrite_existing_files: bool = False - self._clean_old_files: True - - self._allow_dirty: bool = False - - def build_sources(self): + def build_tex_sources(self): + self._build_target_type = PyTeXRootDirType.TEX_SOURCE pass def build_documentation(self): + self._build_target_type = PyTeXRootDirType.DOC pass - def build_tex(self): - pass \ No newline at end of file + def build_tex_files(self): + self._build_target_type = PyTeXRootDirType.BUILD + pass + + def build(self): + if self._build_target_type is None: + raise NotImplementedError + self._build() + + @property + def target_root(self) -> Path: + return { + PyTeXRootDirType.BUILD: self._build_spec.build_root, + PyTeXRootDirType.DOC: self._build_spec.doc_root, + PyTeXRootDirType.TEX_SOURCE: self._build_spec.tex_source_root, + }[self._build_target_type] + + @property + def source_root(self) -> Path: + return { + PyTeXRootDirType.BUILD: self._build_spec.tex_source_root, + PyTeXRootDirType.DOC: self._build_spec.tex_source_root, + PyTeXRootDirType.TEX_SOURCE: self._build_spec.pytex_source_root, + }[self._build_target_type] + + def get_git_version_info(self): + pass + + def parse_config_file(self): + pass + + def _build(self): + logger.info("Starting build") + +