start working on pytex builder
This commit is contained in:
parent
6bef2a82e6
commit
f2fc8a832d
1 changed files with 42 additions and 11 deletions
|
@ -1,7 +1,10 @@
|
||||||
from typing import Optional
|
from typing import Optional
|
||||||
|
from pathlib import Path
|
||||||
|
|
||||||
from PyTeX.build.build import BuildDirSpecification
|
from PyTeX.build.build import BuildDirSpecification
|
||||||
|
from PyTeX.build.enums import PyTeXRootDirType
|
||||||
from PyTeX.format.formatting_config import FormattingConfig
|
from PyTeX.format.formatting_config import FormattingConfig
|
||||||
|
from ...logger import logger
|
||||||
|
|
||||||
|
|
||||||
class PyTeXBuilder:
|
class PyTeXBuilder:
|
||||||
|
@ -9,21 +12,49 @@ class PyTeXBuilder:
|
||||||
self,
|
self,
|
||||||
build_dir_spec: BuildDirSpecification
|
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
|
def build_tex_sources(self):
|
||||||
self._overwrite_existing_files: bool = False
|
self._build_target_type = PyTeXRootDirType.TEX_SOURCE
|
||||||
self._clean_old_files: True
|
|
||||||
|
|
||||||
self._allow_dirty: bool = False
|
|
||||||
|
|
||||||
def build_sources(self):
|
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def build_documentation(self):
|
def build_documentation(self):
|
||||||
|
self._build_target_type = PyTeXRootDirType.DOC
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def build_tex(self):
|
def build_tex_files(self):
|
||||||
|
self._build_target_type = PyTeXRootDirType.BUILD
|
||||||
pass
|
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")
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue