collective / cookiecutter-plone-starter

Cookiecutter Plone Starter is a framework for jumpstarting Plone 6 projects quickly.
MIT License
18 stars 10 forks source link

Introduce mxmake (one time) generated Makefile for the backend. #133

Open jensens opened 2 months ago

jensens commented 2 months ago

Meanwhile, mxmake proves to be exceptionally stable and efficient. We have integrated it into some Python and Zope projects with great success. Its generated makefile resolves many issues inherent in the current "PHONY" file here, particularly in terms of utilizing make without its dependency management. Frankly, the current utilization of make offers few advantages over employing a bash or Python script.

If mxmake falls short in addressing any specific use cases we encounter, we are more than willing to develop solutions for them. Mxmake is presently in its alpha stage, primarily because @rnixx and I have intentionally retained some flexibility to make changes. Upon its introduction here, we intend to swiftly transition to beta/rc stages following semantic versioning principles. Ultimately, before the release of Plone 6.1, we aim to finalize mxmake 1.0.

Moreover, mxmake-generated Makefiles are compatible with Windows. So, this could result in a Plone backend, without relying on WSL.

I propose that for the backend of upcoming Plone 6.1, we transition to using mxmake and document the process. This shift will streamline and expedite backend usage while also providing greater flexibility.

To initiate this transition, I suggest creating a new plone-6.1 branch. The workload required for this transition is minimal, given the robustness of mxmake.

What are your thoughts on this proposal?

gforcada commented 2 months ago

Is this not made into a PLIP for buildout.coredev in purpose, or rather, as to first show some more upstream adoption for an upcoming PLIP? 😄

jensens commented 2 months ago

I think this is unrelated to buildout.coredev ?

stevepiercy commented 2 months ago

Its generated makefile resolves many issues inherent in the current "PHONY" file here, particularly in terms of utilizing make without its dependency management. Frankly, the current utilization of make offers few advantages over employing a bash or Python script.

@jensens can you elaborate on this point? In plone/documentation, I've had trouble with make with symlinks, submodules, and checking for changes in dependencies, but I cannot recall specifics. My method to resolve issues was a sledgehammer, deleting my clone and starting over. Anyway, I would be interested in using plone/documentation as a test project.

jensens commented 2 months ago

@stevepiercy I do not think this change in here would touch any documentation setup related parts. Its about writing/ updating the docs about the usage of this cookiecutter.