nmk_base.git¶
Python module for nmk-base git related resolvers and builders.
Classes¶
Builder for git.version task |
|
Builder for git.clean task |
|
Resolver for gitVersion config item |
|
Abstract builder for git-related files |
|
Builder for git.ignore task |
|
Builder for git.attributes task |
|
Builder for git.dirty task |
|
Resolver for isLocalBuild/isCIBuild config items |
Module Contents¶
- class nmk_base.git.GitVersionRefresh(model: nmk.model.model.NmkModel)¶
Bases:
nmk.model.builder.NmkTaskBuilderBuilder for git.version task
- build(version: str)¶
Build logic for git.version task: update .gitversion only if it doesn’t exist or if its content doesn’t match current version.
- Parameters:
version – Current build version
- class nmk_base.git.GitClean(model: nmk.model.model.NmkModel)¶
Bases:
nmk.model.builder.NmkTaskBuilderBuilder for git.clean task
- build()¶
Build logic for git.clean task: simply run git clean -fdX command, and stop build
- Throw:
NmkStopHereError to interrupt current build now
- class nmk_base.git.GitVersionResolver(model: nmk.model.model.NmkModel)¶
Bases:
nmk.model.resolver.NmkStrConfigResolverResolver for gitVersion config item
- get_value(name: str) str¶
Resolution logic for gitVersion config item: call commands to deduce version from last git tag
- Parameters:
name – Config item name
- Returns:
Config item value
- class nmk_base.git.GitFileFragmentUpdater(model: nmk.model.model.NmkModel)¶
Bases:
nmk_base.common.TemplateBuilderAbstract builder for git-related files
- allow_missing_input(missing_input: pathlib.Path) bool¶
Tells nmk that project root .gitignore/.gitattributes can be missing
- Parameters:
missing_input – path to missing input
- Returns:
True if this is the task main input (e.g. .gitIgnore)
- build_fragment(kwargs: dict[str, str], template: str)¶
Build fragment to be inserted in file that can be also manually edited
- Parameters:
kwargs – keywords for template rendering
template – Path to generated file template
- class nmk_base.git.GitIgnore(model: nmk.model.model.NmkModel)¶
Bases:
GitFileFragmentUpdaterBuilder for git.ignore task
- prepare_ignored_file(ignored_file: str) str¶
Prepare ignored file path by making it relative to project path (is possible)
- Parameters:
ignored_file – Path to ignored file
- Returns:
Projet relative path if possible, unchanged input value otherwise
- build(ignored_files: list[str], template: str)¶
Generate .gitignore file fragment from template
- Parameters:
ignored_files – List of files to be ignored
template – Path to generated file template
- class nmk_base.git.GitAttributes(model: nmk.model.model.NmkModel)¶
Bases:
GitFileFragmentUpdaterBuilder for git.attributes task
- build(template: str)¶
Generate .gitattributes file fragment from template
- Parameters:
template – Path to generated file template
- class nmk_base.git.GitIsDirty(model: nmk.model.model.NmkModel)¶
Bases:
nmk.model.builder.NmkTaskBuilderBuilder for git.dirty task
- build()¶
Build logic for git.dirty task: verifies if git status –porcelain output is empty
- class nmk_base.git.CIResolver(model: nmk.model.model.NmkModel)¶
Bases:
nmk.model.resolver.NmkBoolConfigResolverResolver for isLocalBuild/isCIBuild config items
- get_value(name: str, invert: bool = False) bool¶
Resolution logic for isLocalBuild/isCIBuild config items: check if CI env var is defined
- Parameters:
name – Config item name
invert – True to invert logic (e.g. for isLocalBuild)