-
Notifications
You must be signed in to change notification settings - Fork 3.1k
Automatic vendoring #4093
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
Automatic vendoring #4093
Conversation
adb3303
to
990fece
Compare
Only a couple of comments, as I don't have time for a full review at the moment, sorry.
|
Well, the special cases editions are there to stay and are likely to be done at each revendoring, so I'd say automating this part also makes sense.
Yes, I started my first implementation with invoke (and btw, for invoke 0.13.0, the generate.authors task needs to be updated) but I did not see the added value of invoke in our case so I went back to full python instead. I'm also tempted to drop the invoke part for authors... |
I'd prefer it this was done using an invoke task. My goal with those is to put all of the automation in that so that a release can be as simple as |
@dstufft : I understand the final goal but what is the added value of |
@xavfernandez A better UX for calling it with different options. Invoke is obviously nothing you can't replace with argparse, subprocess, etc etc... but why reinvent the wheel when invoke exists already? |
Absolutely, any modifications we make to the vendored code should be automated if possible. But for example, the change to
+1 on this, but at the moment we don't have a noticeably better UX. It's the choice between OTOH, it's only really you (@dstufft) who does any of the release work anyway, so to an extent I'm OK with "whatever tools you prefer".But it would be nice if the release process was documented and automated so it didn't need to be just you doing it. If invoke makes that easier to achieve, then that's great. |
It is indeed done by the vendoring script ! Edited: I removed 990fece from the PR |
My end goal here is to make it so |
42bb1b5
to
6051433
Compare
And update README.rst with the setuptools/pkg_resources "modification".
) | ||
|
||
|
||
SPECIAL_CASES = ( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What about turning these into actual diff files stored alongside this (tasks/vendoring/__init__.py
and tasks/vendoring/patches/*.diff
) and restoring using difflib.restore()
? That seems like it'd be easier to manage then baking them into the file itself.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done, with git apply
.
bb8486f
to
1028b28
Compare
Ah, got it now! Sorry for being dense :-) |
cc @dstufft