From 2b851fe3c8ec0fd543d87ebd6865d7703e0bb829 2016-01-29 23:06:56 From: Matthias Bussonnier Date: 2016-01-29 23:06:56 Subject: [PATCH] Merge pull request #9200 from Carreau/rc2 Factor build process (and gen what's new) --- diff --git a/docs/source/whatsnew/development.rst b/docs/source/whatsnew/development.rst index ad6917a..a07ee1e 100644 --- a/docs/source/whatsnew/development.rst +++ b/docs/source/whatsnew/development.rst @@ -11,23 +11,7 @@ This document describes in-flight development work. `docs/source/whatsnew/pr` folder -IPython debugger (IPdb) now supports the number of context lines for the -``where`` (and ``w``) commands. The `context` keyword is also available in various APIs. -See PR :ghpull:`9097` -YouTube video will now show thumbnail when exported to a media that do not support video. (:ghpull:`9086`) - -Add warning when running `ipython ` when subcommand is deprecated. `jupyter` should now be used. - -Code in `%pinfo` (also known as `??`) are now highlighter (:ghpull:`8947`) - -`%aimport` now support module completion. (:ghpull:`8884`) - -`ipdb` output is now colored ! (:ghpull:`8842`) - -Add ability to transpose columns for completion: (:ghpull:`8748`) - -Many many docs improvements and bug fixes, you can see the list of changes [add link to GitHub diff] .. DO NOT EDIT THIS LINE BEFORE RELEASE. FEATURE INSERTION POINT. @@ -36,4 +20,4 @@ Backwards incompatible changes ------------------------------ -.. DO NOT EDIT THIS LINE BEFORE RELEASE. INCOMPAT INSERTION POINT. \ No newline at end of file +.. DO NOT EDIT THIS LINE BEFORE RELEASE. INCOMPAT INSERTION POINT. diff --git a/docs/source/whatsnew/version4.rst b/docs/source/whatsnew/version4.rst index f150a4f..c16ea48 100644 --- a/docs/source/whatsnew/version4.rst +++ b/docs/source/whatsnew/version4.rst @@ -2,6 +2,29 @@ 4.x Series ============ + +IPython 4.1 +=========== + +Release February, 2016. IPython 4.1 contain mostly bug fixes. It though contain +a few improvement. + + +- IPython debugger (IPdb) now supports the number of context lines for the + ``where`` (and ``w``) commands. The `context` keyword is also available in + various APIs. See PR :ghpull:`9097` +- YouTube video will now show thumbnail when exported to a media that do not + support video. (:ghpull:`9086`) +- Add warning when running `ipython ` when subcommand is + deprecated. `jupyter` should now be used. +- Code in `%pinfo` (also known as `??`) are now highlighter (:ghpull:`8947`) +- `%aimport` now support module completion. (:ghpull:`8884`) +- `ipdb` output is now colored ! (:ghpull:`8842`) +- Add ability to transpose columns for completion: (:ghpull:`8748`) + +Many many docs improvements and bug fixes, you can see the +`list of changes `_ + IPython 4.0 =========== diff --git a/tools/build_release b/tools/build_release index 65efd11..3521e5f 100755 --- a/tools/build_release +++ b/tools/build_release @@ -1,28 +1,32 @@ #!/usr/bin/env python """IPython release build script. """ - import os from shutil import rmtree -from toollib import sh, pjoin, get_ipdir, cd, compile_tree, execfile, sdists, wheels +from toollib import sh, pjoin, get_ipdir, cd, compile_tree, execfile, sdists, buildwheels + +def build_release(): + + # Get main ipython dir, this will raise if it doesn't pass some checks + ipdir = get_ipdir() + cd(ipdir) -# Get main ipython dir, this will raise if it doesn't pass some checks -ipdir = get_ipdir() -cd(ipdir) + # Load release info + execfile(pjoin('IPython', 'core', 'release.py'), globals()) -# Load release info -execfile(pjoin('IPython', 'core', 'release.py'), globals()) + # Check that everything compiles + compile_tree('*') -# Check that everything compiles -compile_tree('*') + # Cleanup + for d in ['build', 'dist', pjoin('docs', 'build'), pjoin('docs', 'dist'), + pjoin('docs', 'source', 'api', 'generated')]: + if os.path.isdir(d): + rmtree(d) -# Cleanup -for d in ['build', 'dist', pjoin('docs', 'build'), pjoin('docs', 'dist'), - pjoin('docs', 'source', 'api', 'generated')]: - if os.path.isdir(d): - rmtree(d) + # Build source and binary distros + sh(sdists) + buildwheels() -# Build source and binary distros -sh(sdists) -sh(wheels) +if __name__ == '__main__': + build_release() diff --git a/tools/release b/tools/release index c6c8909..69e5123 100755 --- a/tools/release +++ b/tools/release @@ -9,7 +9,7 @@ import os import sys from toollib import (get_ipdir, pjoin, cd, execfile, sh, archive, - sdists, archive_user, archive_dir) + sdists, archive_user, archive_dir, buildwheels) from gh_api import post_download # Get main ipython dir, this will raise if it doesn't pass some checks @@ -56,8 +56,8 @@ cd(ipdir) # Upload all files sh(sdists) -for py in ('2', '3'): - sh('python%s setupegg.py bdist_wheel' % py) + +buildwheels() if 'upload' not in sys.argv: print("`./release upload` to register and release") diff --git a/tools/toollib.py b/tools/toollib.py index 7406c2b..1b390c7 100644 --- a/tools/toollib.py +++ b/tools/toollib.py @@ -20,7 +20,9 @@ archive = '%s:%s' % (archive_user, archive_dir) # Source dists sdists = './setup.py sdist --formats=gztar,zip' # Binary dists -wheels = './setupegg.py bdist_wheel' +def buildwheels(): + for py in ('2', '3'): + sh('python%s setupegg.py bdist_wheel' % py) # Utility functions def sh(cmd): diff --git a/tools/update_whatsnew.py b/tools/update_whatsnew.py index d960bb0..f3156c5 100755 --- a/tools/update_whatsnew.py +++ b/tools/update_whatsnew.py @@ -6,7 +6,7 @@ whatsnew/development.rst (chronologically ordered), and deletes the snippets. """ import io -import os +import sys from glob import glob from os.path import dirname, basename, abspath, join as pjoin from subprocess import check_call, check_output @@ -28,6 +28,10 @@ files.difference_update({pjoin(pr_dir, f) for f in { 'antigravity-feature.rst'} }) +if not files: + print("No automatic update available for what's new") + sys.exit(0) + def getmtime(f): return check_output(['git', 'log', '-1', '--format="%ai"', '--', f])