-
Notifications
You must be signed in to change notification settings - Fork 3
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
Add buildout2pip command #72
Conversation
So this has no url, branch, etc. For an example, see plone/buildout.coredev#903
From now on we only want source information in here, not checkout information. For that we have MxCheckoutsFile.
I want to use this in pip.py as well.
Pass a name to create_from_string. In create_from_section use the name of the section.
This translates buildout versions, sources, and checkouts to their pip/mxdev variants.
@mauritsvanrees thanks for creating this Pull Request and helping to improve Plone! TL;DR: Finish pushing changes, pass all other checks, then paste a comment:
To ensure that these changes do not break other parts of Plone, the Plone test suite matrix needs to pass, but it takes 30-60 min. Other CI checks are usually much faster and the Plone Jenkins resources are limited, so when done pushing changes and all other checks pass either start all Jenkins PR jobs yourself, or simply add the comment above in this PR to start all the jobs automatically. Happy hacking! |
@mauritsvanrees this is one step towards a "pip.coredev"? Will you plan on using pip instead of buildout someday? |
@wesleybl This brings buildout and pip more on the same level, but still with buildout leading, being the source. And yes, at some point (Plone 7.0?) we might rename or copy |
In coredev, the `docs` repo has `path=${buildout:docs-directory}`.
[ci skip]
this should generate |
Done. And I have added tests. This is now ready for review. |
We already had
bin/manage version2constraints
. Now we havebin/manage buildout2pip
. It translatesversions*.cfg
,checkouts*.cfg
andsources*.cfg
to their pip/mxdev equivalents.This aims to create what @thet added in plone/buildout.coredev#903. @jensens there suggested
mxsources.ini
andmxcheckouts.ini
and I went with that.The base code has tests, but I would like to add a few more high level tests. But you can try it out in buildout.coredev.
plone.releaser
is already in the checkouts. So go tosrc/plone.releaser
and checkout the branch of this PR, and then in the buildout runbin/manage buildout2pip
and see what files it creates.Note that this PR mostly removes support for a
mxdev.ini
file with both sources and checkouts in one: you must separate them into two files. This matches what we are doing in coredev with buildout since years.Also, I hardcode putting
default-use = false
inmxsources.ini
, without looking at the[buildout] always-checkout
value incheckouts.cfg
. We may want to make clearer in the readme that this package is really only meant for core Plone development, not as a package for general use. It just gets too complicated if we want to support use cases that we do not have in core Plone.