- Nothing changed yet.
- Fix preseed value reading.
- Add proxy target support.
Breaking changes
- Rename
npm
domain tonodejs
and add support for usingpnpm
as alternative package manager.
-
Fix bug in
Template.write
when creating target folders to also create parent folders if not exists. -
Add support for preseeds configuration files.
-
Add
plone-site
template configuration tomx.ini
template. -
More fine grained control over plone site creation and purging.
-
Drop Python 3.8 and set all defaults to a Python 3.9 minimum.
-
Export
OS
environment variable inmxenv
domain to prevent warning on sub make calls. -
Add
LINGUA_OPTIONS
setting tolingua
domain ini18n
topic. Can be used for passing additional command line options topot-create
. -
Perform
mxenv
domain related checks inside target to support setups which install their own python environment. -
Add
Makefile
as dependency target forSENTINEL
target to make sure target execution if Makefile changes. -
Depend on
mxdev>=4.0.2
, which fixes the deprecation ofpkg_resources
and use the provided infrastructure of mxdev to handle entry_points in mxmake. -
Add Plone site creation and purging in new
plone
domain.
-
Add experimental windows support.
-
Support
mxmake update
command, updating the Makefile without prompting for settings. -
Use importlib.metadata to load entrypoints.
-
Add support for uv as fast alternative to pip #25.
-
Remove Python 3.7 from CI. Still works though.
-
Run test on GH-Actions on platform macos-latest.
-
Use
pathlib.Path
instead ofos.path
. -
Add
EXTRA_PATH
setting tobase
domain incore
topic. Can be used to specify additional directories added to environmentPATH
. -
Export
PATH
with virtual environment and node modules bin folders. -
Get rid of
MXENV_PATH
. -
Rename
PYTHON_BIN
toPRIMARY_PYTHON
inmxenv
domain. -
Introduce
MXENV_PYTHON
. It defines the Python executable used for mxmake operations. -
Remove ruff cache when running
make ruff-clean
target. -
Fix #20: make VENV_ENABLED=false test does not work.
-
Add
wtr
(Web test runner) domain tojs
topic. -
Add pyupgrade based code formatter, see https://pypi.org/project/pyupgrade/.
-
Add
ZOPE_TEMPLATE_CHECKOUT
option to zope domain to allow pinning to a tag, branch or revision (uses cookiecutter--checkout
). If empty, do not apply--checkout
option. -
Add phony target
cookiecutter
to be able to just install it. -
Add feature to pass options to zest-releaser commands.
-
Change default for venv folder to
.venv
, since this is established practice.
-
Add
typecheck
target and use it for mypy instead ofcheck
target. -
Add basic CI config file generation for github actions.
-
Add
ruff
domain toqa
topic. -
Fix exporting path in
jsdoc
target.
-
Add support for
pip.conf
file. -
Fixes #18: VENV_CREATE is ignored.
-
Fix error when new source package gets added to
mx.ini
inHook.generate_additional_sources_targets
. -
Add
PROJECT_CONFIG
as the dependency target ofSOURCES_TARGET
to make sure the target runs when a new source package gets added tomx.ini
.
-
Add
zest-releaser
domain toapplications
topic. -
Support custom makefile include.
-
Support
pytest
as a test runner and make it default if not configured otherwise. -
Add
RUN_TARGET
setting tobase
domain and generaterun
target inMakefile
. -
Create
twisted
domain inapplications
topic. -
Test and coverage templates consider
mxmake-test-path
,mxmake-source-path
andmxmake-omit-path
insettings
section ofmx.ini
to support inclusion of local package inrun-tests.sh
andrun-coverage.sh
scripts. -
Create
scss
domain injs
topic. -
Create
gettext
domain ini18n
topic. -
Create
lingua
domain ini18n
topic. -
Conditional add local [requirement|constraints}.txt to LOCAL_PACKAGE_FILES.
-
Generate one Makefile from snippets instead of including several files from subfolder.
-
Semantic overhaul. "Domains" become "Topics" and "Makefile" becomes "Domain".
-
Use inquirer to configure included domains and targets.
-
Generate initial
mx.ini
config file. -
Generate "Topic" and "Domain" docs.
-
Change docs format from
rst
tomd
. -
Rename
_SENTINEL
to_TARGET
in domains. -
generic
install
dirty
andclean
targets in main makefile template. -
Rename
.sentinels
folder to.mxmake-sentinels
. -
Provide a set of default targets and a mechanism to extend it's dependency targets in domain make files.
-
Rename
install
domain topackages
. -
Rename
files
domain tomxfiles
. -
Rename
venv
domain tomxenv
. -
Extend hook to generate
sources
dependency targets for package reinstall (setup.py, setup.cfg, pyproject.toml, requirements.txt, constraints.txt). -
Move
tests
andcoverage
domains toqa
topic. -
Create
black
,mypy
,isort
and domains inqa
topic. -
Move
system-dependencies
tosystem
topic. -
Rename
docs
domain tosphinx
and move todocs
topic. -
Create
zpretty
domains inqa
topic. -
Add topic related metadata containing a topic description.
-
Create
npm
domains injs
topic. -
Create
jsdoc
domain, indocs
topic. -
Create
rollup
domains injs
topic. -
Create
karma
domain, injs
topic. -
Create
zope
domain, inapplications
topic. -
Add
soft-depends
setting in domains to define conditional order of domain rendering. -
Make
sources
target an optional dependency. -
Extend makefile parser to provide multi line settings.
-
Take local package into account to "dirty" if there (pyproject.toml, setup.[cfg|py]
-
Check for the existence of pip in
*-clean
targets before uninstalling a package, to ensure the targets are working when running via the defaultclean
target, where the entire virtual env gets removed. -
Remove redundant dependencies from
zope
domain. -
sources
domain is now a soft dependency ofmxfiles
domain instead of thepackages
domain. This ensures source package checkout happens before mxmake generates files, because templates might gain information from source packages if present. -
karma
androllup
targets depend onNPM_TARGET
now.
- Initial release.