Skip to content

Contributing to Plone core: skip buildout, use magic #1936

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 4 commits into
base: 6.0
Choose a base branch
from

Conversation

ksuess
Copy link
Member

@ksuess ksuess commented Apr 8, 2025

buildout.coredev can do without buildout.

@mauritsvanrees and @jensens created a Makefile support of a dev setup with straight forward package installation (uv) instead of buildout. This is awesome.

Fix plone/buildout.coredev#1014


📚 Documentation preview 📚: https://plone6--1936.org.readthedocs.build/contributing/core/index.html#install-plone-core-for-development

Copy link
Contributor

@stevepiercy stevepiercy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not clear what the intent here is. I've heard arguments to both remove and keep buildout.

Personally, I think both buildout and pip should be removed as methods for contributing and installation, and move to uv and Cookieplone. It's absurd to have three methods to get started with Plone. There should be one and only one method.

Given the lack of accurate documentation for both buildout and pip methods, I'm fine with letting them wither and die.

@ksuess
Copy link
Member Author

ksuess commented Apr 8, 2025 via email

@jensens
Copy link
Member

jensens commented Apr 9, 2025

the mx* method in fact uses uv

@ksuess ksuess changed the title contributing: skip buildout, use magic contributing to Plone core: skip buildout, use magic Apr 18, 2025
@ksuess ksuess changed the title contributing to Plone core: skip buildout, use magic Contributing to Plone core: skip buildout, use magic Apr 18, 2025
@ksuess ksuess marked this pull request as ready for review April 18, 2025 13:21
Copy link
Contributor

@stevepiercy stevepiercy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The release managers ought to be involved in the switch from buildout to make. Has there been a discussion, decision, or announcement to switch?

This page was updated in #1671, taking over a month of review, discussion, and revisions. All the participants in that PR should also be involved in the discussion to switch. I'll request a review from them all.

I can't remember exactly, but there were some arguments made for keeping buildout. However, maybe that is not in the context of developing Plone core?

@@ -12,16 +12,15 @@ myst:
This guide describes the process of how to contribute to, and develop in, Plone core.
It expands upon {doc}`/contributing/index`.

```{important}
Although Plone core includes Volto—the React based, default frontend for Plone 6—this guide does not apply to Volto and its packages.
Although Plone core includes Volto — the React based, default frontend for Plone 6 — this guide does not apply to Volto and its packages.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please revert. Original punctuation is correct.

Comment on lines +22 to +23
Please {ref}`contributing-sign-and-return-the-plone-contributor-agreement-label` before you contribute.
This is not optional, but a must before your contribution can be accepted.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please revert. The original language is deliberate and direct. Less is more.

## Install Plone core for development

The tool that installs Plone core is `buildout.coredev`.

The current default and development branch of `buildout.coredev` is `6.1`
Older versions are named according to their `major.minor` version.
Former versions are named according to their `major.minor` version.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please revert. The versions still exist and are active. "Former" implies the version no longer exists or is no longer active. "Older" is a broader term that works. An appropriate usage of "former" would be, "I wish the former President had remained former, instead of getting elected a second time." 😈

Its versions align with Plone's `major.minor` versions.

Use a separate directory for each version of Plone to which you want to contribute.
This will avoid switching between git branches, then re-running buildout, which can cause dependency conflicts between versions of Plone.
This will avoid switching between git branches, which can cause dependency conflicts between versions of Plone.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

According to its README, "Git" is now capitalized. Originally it was "git", and occasionally "GIT", depending on your mood while using it, as the bulleted list in the README indicates.

Suggested change
This will avoid switching between git branches, which can cause dependency conflicts between versions of Plone.
This will avoid switching between Git branches, which can cause dependency conflicts between versions of Plone.

They will not work with buildout.
To contribute to Volto, you will need to start over, and follow {doc}`../volto`.
```
See more `make` options/targets in the READMEs of the `buildout.coredev` repo.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member

@davisagli davisagli left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This part is fine, but sections later in the file assume that Plone was installed using buildout. (For example, the "Edit packages" section shows how to check out a new package from source by editing buildout.local.cfg.) We can't update only the installation instructions without also updating the other instructions that assume installation was done using buildout.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: In Progress
Development

Successfully merging this pull request may close these issues.

a 'make help' could help
4 participants