Topics and Domains¶
Topics are collections of domains.
A domain is a snippet of a Makefile defining a set of make targets.
Core¶
In the core are domains covering setup of the Python environment, script generation, sources/VCS handling and more.
Base¶
Defines common build targets and basic settings for project.
Property |
Value |
|---|---|
FQN |
|
Targets:
Target |
Description |
|---|---|
|
Install project. Installs the entire project supposed for |
|
Deploy project. Supposed to setup a production version of |
|
Run project. Depending on target defined in |
|
Force make to rebuild targets on next make run. |
|
Clean project. Removes all installation related files. |
|
Purge project. Removes all installation related files and data. |
|
Remove runtime artifacts, like byte-code and caches. |
|
Run all QA checkers related targets, e.g. code style |
|
Run all QA type-checkers related targets, e.g. type checks. |
|
Run all QA code formatters related targets, e.g. code style |
Settings:
Setting |
Description |
Default |
|---|---|---|
|
|
`` |
|
target to be executed when calling |
`` |
|
Additional files and folders to remove when running clean target |
`` |
|
Optional makefile to include before default targets. This can |
|
|
Optional additional directories to be added to PATH in format |
`` |
|
Path to Python project relative to Makefile (repository root). |
`` |
Help System¶
A system to provide the user of the Makefile an overview of the targets and all environment variable based arguments.
Property |
Value |
|---|---|
FQN |
|
Dependencies |
Hard: |
Targets:
Target |
Description |
|---|---|
|
Print help for the Makefile. |
Settings:
Setting |
Description |
Default |
|---|---|---|
|
Request to show all targets, descriptions and arguments for a given domain. |
`` |
MX Environment¶
Python environment management.
Property |
Value |
|---|---|
FQN |
|
Dependencies |
Hard: |
Targets:
Target |
Description |
|---|---|
|
Setup the Python environment. |
|
Build |
|
Removes virtual environment if |
Settings:
Setting |
Description |
Default |
|---|---|---|
|
Primary Python interpreter to use. It is used to create the |
|
|
Minimum required Python version. |
|
|
Install packages using the given package installer method. |
|
|
Python version for UV to install/use when creating virtual |
|
|
Flag whether to use virtual environment. If |
|
|
Flag whether to create a virtual environment. If set to |
|
|
The folder of the virtual environment. |
|
|
mxdev to install in virtual environment. |
|
|
mxmake to install in virtual environment. |
|
MX Files¶
Project file generation.
Property |
Value |
|---|---|
FQN |
|
Dependencies |
Hard: |
Targets:
Target |
Description |
|---|---|
|
Create all project files by running |
|
Build :ref: |
|
Remove generated project files. |
Settings:
Setting |
Description |
Default |
|---|---|---|
|
The config file to use. |
|
Packages¶
Install python packages.
Property |
Value |
|---|---|
FQN |
|
Dependencies |
Hard: |
Targets:
Target |
Description |
|---|---|
|
Install packages with pip after creating files and checking |
|
Build packages target on next make run. |
|
Remove prior installed packages |
Settings:
Setting |
Description |
Default |
|---|---|---|
|
Allow prerelease and development versions. |
|
Proxy targets¶
This domain includes proxy targets which are configured in
mx.ini. It is expected that defined folder(s) contains a Makefile which
is generated by mxmake and this Makefile contains the domains for which
proxy targets are created. The proxy configuration in the mx.ini file
looks as follows:
mxmake-templates = proxy
[mxmake-proxy]
foldername =
applications:plone,zest-releaser
i18n:*
Each setting in the mxmake-proxy section defines a child folder. The
value contains the topic name and the desired domains as comma
separated list. Wildcard * means to include all domains of this topic.
Topic and domains are colon separated.
Property |
Value |
|---|---|
FQN |
|
Dependencies |
Hard: |
Sources¶
Source package management.
Property |
Value |
|---|---|
FQN |
|
Dependencies |
Hard: |
Targets:
Target |
Description |
|---|---|
|
Checkout sources by running |
|
Build :ref: |
|
Removes sources folder. |
Applications¶
Application specific domains.
plone¶
Plone application related
Property |
Value |
|---|---|
FQN |
|
Dependencies |
Hard: |
Targets:
Target |
Description |
|---|---|
|
Creates a Plone site using the script provided in |
|
Removes the Plone instance from the database, but the database |
|
Removes the Plone instance from the database like in plone-site-purge, |
Settings:
Setting |
Description |
Default |
|---|---|---|
|
Path to the script to create or purge a Plone site |
|
|
Exit with an error if the Plone site already exists |
|
|
Exit with an error if the Plone site does not exists |
|
Twisted Server¶
Install and start Twisted Server.
Property |
Value |
|---|---|
FQN |
|
Dependencies |
Hard: |
Targets:
Target |
Description |
|---|---|
|
Run Twisted Server |
Settings:
Setting |
Description |
Default |
|---|---|---|
|
The Twisted Application Configuration file. |
|
|
The Twisted Application Configuration file. |
|
zest.releaser¶
A collection of command-line programs to help automate the task of releasing a Python project.
Property |
Value |
|---|---|
FQN |
|
Dependencies |
Hard: |
Targets:
Target |
Description |
|---|---|
|
Run prerelease command of zest.releaser |
|
Run release command of zest.releaser |
|
Run postrelease command of zest.releaser |
|
Run fullrelease command of zest.releaser |
|
Marks zest.releaser dirty |
|
Uninstall zest.releaser. |
Settings:
Setting |
Description |
Default |
|---|---|---|
|
Options to pass to zest.releaser prerelease command. |
`` |
|
Options to pass to zest.releaser release command. |
`` |
|
Options to pass to zest.releaser postrelease command. |
`` |
|
Options to pass to zest.releaser fullrelease command. |
`` |
zope¶
Zope and Plone application related
Property |
Value |
|---|---|
FQN |
|
Dependencies |
Hard: |
Targets:
Target |
Description |
|---|---|
|
Use cookiecutter-zope-instance to create Zope- and its WSGI-configuration from values of the cookiecutter configuration file. |
|
Start Zope/Plone WSGI server. |
|
Start Zope/Plone debug console. |
|
Run a script within Zope/plone context. |
|
Adds an emergency user to Zope. |
|
Touches the configuration file to force a rebuild of the Zope instance. |
|
Removes generated configuration files but keeps Zope database. |
|
Removes the whole Zope instance folder including database. |
Settings:
Setting |
Description |
Default |
|---|---|---|
|
cookiecutter configuration file to use |
|
|
cookiecutter configuration file to use |
|
|
cookiecutter branch, tag or commit to checkout from the ZOPE_TEMPLATE. If empty, |
|
|
The Zope folder “instance” will be generated relative to this existing folder. |
|
|
script to run |
|
|
user name to create |
|
|
user name to create |
|
Docs¶
Documentation related domains
JSDoc Documentation¶
JSDoc installation and integration into Sphinx.
Property |
Value |
|---|---|
FQN |
|
Dependencies |
Hard: |
Sphinx Documentation¶
Documentation generation with Sphinx.
Property |
Value |
|---|---|
FQN |
|
Dependencies |
Hard: |
Targets:
Target |
Description |
|---|---|
|
Generate Sphinx docs. |
|
Rebuild Sphinx documentation on changes, with live-reload in |
|
Run Sphinx linkcheck to verify external links in documentation. |
|
Removes generated docs. |
Settings:
Setting |
Description |
Default |
|---|---|---|
|
Documentation source folder. |
|
|
Documentation generation target folder. |
|
|
Documentation linkcheck output folder. |
|
|
Documentation Python requirements to be installed (via pip). |
`` |
i18n¶
Contains domains for managing translations.
Gettext¶
Provide targets for working with gettext
Property |
Value |
|---|---|
FQN |
|
Targets:
Target |
Description |
|---|---|
|
Create message catalogs for all defined languages if not exists. |
|
Update translations. |
|
Compile message catalogs. |
Settings:
Setting |
Description |
Default |
|---|---|---|
|
Path of directory containing the message catalogs. |
|
|
Translation domain to use. |
`` |
|
Space separated list of language identifiers. |
`` |
Lingua¶
Extract translatable texts from your code.
Property |
Value |
|---|---|
FQN |
|
Dependencies |
Hard: |
Targets:
Target |
Description |
|---|---|
|
Extract translatable texts from your code. |
|
Extract translatable texts from your code and create, |
Settings:
Setting |
Description |
Default |
|---|---|---|
|
Path of directory to extract translatable texts from. |
|
|
Python packages containing lingua extensions. |
`` |
|
Command line options passed to |
`` |
Javascript¶
Javascript related domains.
Karma tests¶
Run JavaScript tests using karma.
Property |
Value |
|---|---|
FQN |
|
Dependencies |
Hard: |
Targets:
Target |
Description |
|---|---|
|
Run karma. |
Settings:
Setting |
Description |
Default |
|---|---|---|
|
Karma config file. |
|
|
Karma additional command line options. |
|
Node.js¶
Provide targets for working with Node.js. A working version of
Node.js is expected to be installed. We suggest using nvm for managing
Node.JS installations.
Property |
Value |
|---|---|
FQN |
|
Dependencies |
Hard: |
Targets:
Target |
Description |
|---|---|
|
Installs Javascript packages using the current active node |
|
Build :ref: |
|
Remove installed Javascript packages. |
Settings:
Setting |
Description |
Default |
|---|---|---|
|
The package manager to use. Defaults to |
|
|
Value for |
|
|
Packages to install with |
`` |
|
Packages to install with |
`` |
|
Packages to install with |
`` |
|
Packages to install with |
`` |
|
Additional install options. Possible values are |
`` |
Rollup JavaScript module bundler¶
Create JavaScript bundles with rollup.
Property |
Value |
|---|---|
FQN |
|
Dependencies |
Hard: |
Targets:
Target |
Description |
|---|---|
|
Run rollup JavaScript bundler. |
Settings:
Setting |
Description |
Default |
|---|---|---|
|
Rollup config file. |
|
SCSS Compiler¶
Compile Stylesheets using SCSS.
Property |
Value |
|---|---|
FQN |
|
Dependencies |
Hard: |
Targets:
Target |
Description |
|---|---|
|
Run SCSS Stylesheet Compiler. |
Settings:
Setting |
Description |
Default |
|---|---|---|
|
The SCSS root source file. |
|
|
The target file for the compiles Stylesheet. |
|
|
The target file for the compressed Stylesheet. |
|
|
Additional options to be passed to SCSS compiler. |
|
Web test runner¶
Run JavaScript tests using web test runner.
Property |
Value |
|---|---|
FQN |
|
Dependencies |
Hard: |
Targets:
Target |
Description |
|---|---|
|
Execute web test runner. |
Settings:
Setting |
Description |
Default |
|---|---|---|
|
Web test runner config file. |
|
|
Web test runner additional command line options. |
|
LDAP¶
LDAP related domains.
OpenLDAP¶
Builds OpenLDAP from source
Property |
Value |
|---|---|
FQN |
|
Dependencies |
Hard: |
Targets:
Target |
Description |
|---|---|
|
Download and build OpenLDAP from source. |
|
Rebuild OpenLDAP on next make run. |
|
Remove local OpenLDAP build. |
Settings:
Setting |
Description |
Default |
|---|---|---|
|
OpenLDAP version to download |
|
|
OpenLDAP base download URL |
|
|
Build directory for OpenLDAP |
|
|
Build environment for OpenLDAP |
|
Python LDAP¶
Builds and installs python-ldap against local OpenLDAP
Property |
Value |
|---|---|
FQN |
|
Dependencies |
Hard: |
Targets:
Target |
Description |
|---|---|
|
Builds and installs python-ldap against local OpenLDAP |
|
Builds and installs python-ldap against local OpenLDAP |
|
Builds and installs python-ldap against local OpenLDAP |
QA¶
Quality Assurance related domains
black¶
Code formatting with black.
Property |
Value |
|---|---|
FQN |
|
Dependencies |
Hard: |
Targets:
Target |
Description |
|---|---|
|
Run black. |
|
Marks black dirty |
|
Uninstall black. |
Settings:
Setting |
Description |
Default |
|---|---|---|
|
Source folder to scan for Python files to run black on. |
|
Coverage¶
Project coverage testing.
Property |
Value |
|---|---|
FQN |
|
Dependencies |
Hard: |
Targets:
Target |
Description |
|---|---|
|
Run project coverage. :ref: |
|
Remove coverage related files and directories. |
Settings:
Setting |
Description |
Default |
|---|---|---|
|
The command which gets executed. Defaults to the location the |
|
isort¶
Import sorting with isort.
Property |
Value |
|---|---|
FQN |
|
Dependencies |
Hard: |
Targets:
Target |
Description |
|---|---|
|
Run isort. |
|
Marks isort dirty |
|
Uninstall isort. |
Settings:
Setting |
Description |
Default |
|---|---|---|
|
Source folder to scan for Python files to run isort on. |
|
mypy¶
Static code analysis with mypy.
Property |
Value |
|---|---|
FQN |
|
Dependencies |
Hard: |
Targets:
Target |
Description |
|---|---|
|
Run mypy. |
|
Marks mypy dirty |
|
Uninstall mypy and removes cached data. |
Settings:
Setting |
Description |
Default |
|---|---|---|
|
Source folder for code analysis. |
|
|
Mypy Python requirements to be installed (via pip). |
|
pyrefly¶
Static code analysis with pyrefly https://pyrefly.org/
Property |
Value |
|---|---|
FQN |
|
Dependencies |
Hard: |
Targets:
Target |
Description |
|---|---|
|
Run pyrefly. |
|
Marks pyrefly dirty |
|
Uninstall pyrefly and removes cached data. |
Settings:
Setting |
Description |
Default |
|---|---|---|
|
Source folder for code analysis. Left empty to use value from pyproject.toml |
|
|
Python requirements to be installed (via pip). |
`` |
pyupgrade¶
Automatically upgrade syntax for newer versions of the language.
Property |
Value |
|---|---|
FQN |
|
Dependencies |
Hard: |
Targets:
Target |
Description |
|---|---|
|
Run pyupgrade. |
|
Marks pyupgrade dirty |
|
Uninstall pyupgrade. |
Settings:
Setting |
Description |
Default |
|---|---|---|
|
Source folder to scan for XML and ZCML files. |
|
|
Additional parameters for pyupgrade, see https://github.com/asottile/pyupgrade for details. |
|
ruff¶
Code formatting with ruff.
Property |
Value |
|---|---|
FQN |
|
Dependencies |
Hard: |
Targets:
Target |
Description |
|---|---|
|
Run ruff. |
|
Marks ruff dirty |
|
Uninstall ruff. |
Settings:
Setting |
Description |
Default |
|---|---|---|
|
Source folder to scan for Python files to run ruff on. |
|
Test¶
Project testing.
Property |
Value |
|---|---|
FQN |
|
Dependencies |
Hard: |
Targets:
Target |
Description |
|---|---|
|
Run project tests. The :ref: |
Settings:
Setting |
Description |
Default |
|---|---|---|
|
The command which gets executed. Defaults to the location the |
|
|
Additional Python requirements for running tests to be |
|
|
Additional make targets the test target depends on. |
`` |
zpretty¶
Format XML and ZCML with zpretty.
Property |
Value |
|---|---|
FQN |
|
Dependencies |
Hard: |
Targets:
Target |
Description |
|---|---|
|
Run zpretty. |
|
Marks zpretty dirty |
|
Uninstall zpretty. |
Settings:
Setting |
Description |
Default |
|---|---|---|
|
Source folder to scan for XML and ZCML files. |
|
System¶
Operating System specific domains.
System dependencies¶
System dependency management.
Property |
Value |
|---|---|
FQN |
|
Dependencies |
Hard: |
Targets:
Target |
Description |
|---|---|
|
Install system dependencies. |
Settings:
Setting |
Description |
Default |
|---|---|---|
|
Space separated system package names. |
`` |