Configuration
The nmk-base plugin handles the configuration items listed in this page.
All of them are initiliazed with convenient default values, so that you don’t need to setup them for a default working behavior. You can anyway override them in your projet if you need to fine tune the plugin behavior.
Paths and files
sourceDir – source base directory
Type |
Default value |
|---|---|
str |
${PROJECTDIR}/src |
Main source directory for the project (containing source files; used by other plugins).
outputDir – output base directory
Type |
Default value |
|---|---|
str |
${PROJECTDIR}/out |
Output folder used to generate build artifacts, temporary files, tools reports, etc…
Helper contributions
nmkPluginsVersions – referenced plugins versions
Type |
Default value |
|---|---|
Dict[str,str] |
{“nmk-base”: ${nmkBasePluginVersion}} |
Plugins versions, indexed by names, to be displayed by version task
nmkPluginsDocs – referenced plugins help pages
Type |
Default value |
|---|---|
Dict[str,str] |
{“nmk-base”: “https://github.com/dynod/nmk/wiki/nmk-base-plugin”} |
Plugins help pages URLs indexed by names, to be displayed by help task.
Load scripts
The nmk-base plugin handles the generation of bootstrap scripts, that can be configured with following items.
loadMeTargets – load scripts targets
Type |
Default value |
|---|---|
List[str] |
[ ${PROJECTDIR}/loadme.sh ] |
Load scripts to be generated by loadme task.
loadMeTemplates – load scripts templates
Type |
Default value |
|---|---|
List[str] |
[ ${BASEDIR}/templates/loadme.sh ] |
Templates used by loadme task to generate load scripts.
loadMeVenvPython – load scripts python commands
Type |
Default value |
|---|---|
List[str] |
[ python3 ] |
Python commands to be called by load scripts when creating venv.
loadMeSysDeps – load scripts system dependencies
Type |
Default value |
|---|---|
Dict[str,Dict[str,str]] |
{“python3”: {“apt”: [“python3”, “python3-venv”]}, |
Dict of required system dependencies (commands) to be handled by load scripts.
Git
The nmk-base plugin handles some git related configuration items, listed in this chapter.
gitVersion – git version
Type |
Default value |
|---|---|
str |
Generated by |
Version read from git for the current project, using git describe --tags --dirty command.
gitVersionStamp – git version resolution stamp file
Type |
Default value |
|---|---|
str |
${outputDir}/.gitversion |
Get version stamp file, updated by git.version task each time ${gitVersion} value changes. Can be used as input by tasks expecting to be triggered when git version changes.
gitIgnore – generated .gitignore file
Type |
Default value |
|---|---|
str |
“${PROJECTDIR}/.gitignore” |
Target generated .gitignore file.
gitIgnoreTemplate – .gitignore template file
Type |
Default value |
|---|---|
str |
“${BASEDIR}/templates/gitignore” |
Template used by git.ignore task to generate .gitignore fragment.
gitIgnoreStamp – .gitignore generated stamp file
Type |
Default value |
|---|---|
str |
${outputDir}/.gitignore |
Stamp file for generated .gitignore fragment.
gitIgnoredFiles – git ignored files list
Type |
Default value |
|---|---|
List[str] |
[ “${PROJECTDIR_NMK}/”, “${outputDir}”, “${venvName}” ] |
List of files/folders to be added when generating .gitignore file.
Python venv
venvPkgDeps – venv packages dependencies list
Type |
Default value |
|---|---|
List[str] |
[ “nmk” ] |
List of python packages references to be installed in python venv (using pip requirement specifiers syntax).
venvArchiveDeps – venv archives dependencies list
Type |
Default value |
|---|---|
List[str] |
[] |
List of local python module archive paths to be installed in python venv.
venvFileDeps – venv requirement files list
Type |
Default value |
|---|---|
List[str] |
[] |
List of pip requirement files to be installed in python venv.
venvName – venv name
Type |
Default value |
|---|---|
str |
“venv” |
Name of the python venv folder.
venvRequirements – generated requirements file name
Type |
Default value |
|---|---|
str |
“requirements.txt” |
Name of the generated merged requirements file for python venv (relative to ${PROJECTDIR}).
venvState – output requirements file name
Type |
Default value |
|---|---|
str |
“${outputDir}/requirements.txt” |
Name of the generated requirements file, containing a dump off all installed package versions in python venv.
venvPipArgs – pip install command extra arguments
Type |
Default value |
|---|---|
str |
“” |
Extra arguments for pip install commands (typically used to point to extra/internal repositories).
venvRequirementsTemplate – generated requirements file template
Type |
Default value |
|---|---|
str |
“${BASEDIR}/templates/requirements.txt” |
Template used to generate ${venvRequirements} merged requirements file.