Closed msarahan closed 8 years ago
This is blocked by https://github.com/conda/conda/issues/3342, because you currently can't install conda-build without also installing the new conda.
I can't seem to kill the build. I'm sorry.
Conda-build 2 builds should be available on defaults soon. When that happens, it will be easier to test this PR.
Sorry it isn't 100% backwards compatible. I tried, but the global state stuff was pretty hard to get right, and ultimately I gave up.
@pelson @jakirkham this should now be compatible with both conda-build 1.x and 2.0. Please review and deploy as time allows.
Thanks @msarahan.
I wonder if it would be worthwhile to add conda-build
versions to the CI matrix.
I have tested this with both conda-build 2.* and 1.* and both pass 👍 . I'll submit a followup PR to test both in CI.
Thanks for doing this @msarahan. The non-global config is a huge boon and makes the conda-build-all codebase much neater - I hope that vindicates the hard work you have put into conda-build 2. 🎉
Thanks @pelson. I'm glad that the work is paying off here. The greater testing that it is facilitating will really pay off in future work (like the more flexible build customization stuff) - we can move forward with less concern about breaking unseen functionality.
I'm not sure you should merge this yet. The biggest change that conda-build-all sees in conda-build 2.0 is the no-longer-global configuration. This simplifies conda-build-all - you no longer need context managers to change and then revert the global state.
Quite a bit of this PR seems unnecessary to me, though. If you want much greater flexibility, then plumbing the config through like I do here makes sense. Otherwise, it seems like too much effort.
I am going to experiment with how much I can make conda-build 2 be backwards compatible here. Conda-build-all can adapt this PR if you want to take advantage of the non-global config somehow, but otherwise it seems easy enough to have some global instance like there used to be, and people can use it, but they don't have to.