nmk_base.git
Python module for nmk-base git related resolvers and builders.
Module Contents
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 gitEnableDirtyCheck config item override |
- 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
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
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
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.NmkConfigResolverResolver for gitEnableDirtyCheck config item override
- get_type(name: str) object
Returned type is bool
- get_value(name: str) str
Resolution logic for gitEnableDirtyCheck: check if CI env var is defined