# Configuration Reference The **`nmk-proto`** 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 project if you need to fine tune the plugin behavior. [Some items](extend.md) are specifically designed to be extended by **`nmk`** projects and plugins. ## Generic items (protoFolder)= ### **`protoFolder`** -- Folder for input proto files | Type | Default value | |- |- | str | ${PROJECTDIR}/protos This is the path where input proto files are located. (protoInputFiles)= ### **`protoInputFiles`** -- List of input proto files | Type | Default value | |- |- | list[str] | Generated by {py:class}`nmk_proto.files.ProtoFilesFinder` Dynamically lists input proto files found in {ref}`${protoFolder}`. (protoAllInputSubDirs)= ### **`protoAllInputSubDirs`** -- List of input proto sub-folders | Type | Default value | |- |- | list[str] | Generated by {py:class}`nmk_proto.files.ProtoAllSubDirsFinder` Dynamically lists all sub-folders {ref}`${protoFolder}` (exactly one per proto file, in same order than {ref}`${protoInputFiles}`). (protoUniqueInputSubDirs)= ### **`protoUniqueInputSubDirs`** -- Set of input proto sub-folders | Type | Default value | |- |- | list[str] | Generated by {py:class}`nmk_proto.files.ProtoUniqueSubDirsFinder` Dynamically lists all sub-folders {ref}`${protoFolder}` (no duplicates). (protoDeps)= ### **`protoDeps`** -- Extra proto paths for code generation | Type | Default value | |- |- | list[str] | [ {ref}`${protoPythonNmkRoot}` ] List of extra paths to be specified to protoc when generating code. (protoPathOptions)= ### **`protoPathOptions`** -- Path options list for protoc | Type | Default value | |- |- | list[str] | Generated by {py:class}`nmk_proto.files.ProtoPathOptionsBuilder` List of protoc path options, derived from {ref}`${protoDeps}` (protoDisableCheck)= ### **`protoDisableCheck`** -- Disable generated code checks | Type | Default value | |- |- | bool | False Is set to true, disable all generated code check tasks (see {ref}`proto.check.py` task). ## Python items (pythonGeneratedSrcFiles)= ### **`pythonGeneratedSrcFiles`** -- Generated python files list | Type | Default value | |- |- | list[str] | Generated by {py:class}`nmk_proto.python.OutputPythonFilesFinder` List of generated python files (from input proto files); this contributes to [nmk-python generated files list](https://nmk-python.readthedocs.io/en/stable/extend.html#files). (protoPythonCopiedFiles)= ### **`protoPythonCopiedFiles`** -- Copied proto files list | Type | Default value | |- |- | list[str] | Generated by {py:class}`nmk_proto.python.OutputProtoFilesFinder` List of copied proto files in python module source directory (in order to be bundled in generated python wheel). (protoPythonSrcFolders)= ### **`protoPythonSrcFolders`** -- Generated python modules folders list | Type | Default value | |- |- | list[str] | Generated by {py:class}`nmk_proto.python.OutputFoldersFinder` List of generated python module folders in source directory. (protoPythonSrcFoldersWildcard)= ### **`protoPythonSrcFoldersWildcard`** -- Generated python modules wildcard list | Type | Default value | |- |- | list[str] | Generated by {py:class}`nmk_proto.python.OutputFoldersFinderWithWildcard` Same list than {ref}`${protoPythonSrcFolders}`, with a `/*` wildcard appended to each item. (protoPythonGeneratedInitTemplate)= ### **`protoPythonGeneratedInitTemplate`** -- Path to init file template | Type | Default value | |- |- | str | ${BASEDIR}/templates/init.py.jinja This is the path to the template used to generate `__init__.py` files in generated python modules. (protoPythonNmkRoot)= ### **`protoPythonNmkRoot`** -- Link to venv root for proto files references | Type | Default value | |- |- | str | ${PROJECTDIR_NMK}/protos This is the path of the symbolic link to project venv, used for references to proto files provided by venv-installed packages.