Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This PR converts the `conda-build-all` script to be compatible with Conda Build 3 and Conda 4.4, using the API as much as I can. Its imperfect due to the imperfect API, but I think I managed to get what we need without high-maintenance work arounds. In theory, this should make the conda-build all script much more stable and we can switch back to using the `conda-forge` docker image as a base after some iterations We've kicked this can down the road about as far as it can go at this point so I think its time to implement a proper fix. All existing functionality should remain unchanged from how the script is used and invoked. Complete list of everything I tweaked: * Simplify imports to minimal set * Import only from the Conda(-build) API when possible * Added docstrings everywhere * Use metapackage functions directly instead of reading from various metapackage dicts * Reduce calls to the CLI directly where possible, replacing with API * Convert previous multi-python multi-numpy build-mixing to Conda Build 3 Variant system * Variants compiled from command line, still supports `--python` and `--numpy` * Build enumeration automatically checks for duplications * Still uses old package string styles instead of hashed dependencies for checking if package already on Anaconda (Will need to convert at some point) * Adds ability to check if package is already built locally, and can be overridden with `--rebuild` * Preserved checking against specific channels, both at command line and meta.yaml level * Package building handled by API instead of CLI * Functions more generalized to allow importing the conda-build-all script if need be * Switched all print statements to the Python 3 `.format()` mini-language over `%` formatting * Minimized amount of excess data passed between functions, handled mostly by Metadata now * Added ability for built and uploaded tarballs to be removed to save build space (e.g. Travis-CI) through the `-c` or `--clean` command line arg. This is False by default (related: omnia-md/conda-recipes#877) * Unpinned the conda and conda-build versions from the scripts. Will need to make changes to the Docker Image though Related issues: omnia-md/conda-recipes#799 Potentially resolved issues from these changes: * omnia-md/conda-recipes#712 * omnia-md/conda-recipes#403 (not likely, but something to consider)
- Loading branch information