##// END OF EJS Templates
Check verison number only at build time or pip install -e fails
Matthias Bussonnier -
Show More
@@ -10,8 +10,8 b' before_install:'
10 - git clone --quiet --depth 1 https://github.com/minrk/travis-wheels travis-wheels
10 - git clone --quiet --depth 1 https://github.com/minrk/travis-wheels travis-wheels
11 - 'if [[ $GROUP != js* ]]; then COVERAGE=""; fi'
11 - 'if [[ $GROUP != js* ]]; then COVERAGE=""; fi'
12 install:
12 install:
13 - pip install "setuptools>=18.5"
13 - pip install "setuptools>=18.5"
14 - pip install -f travis-wheels/wheelhouse -e file://$PWD#egg=ipython[test] traitlets
14 - pip install -f travis-wheels/wheelhouse -e file://$PWD#egg=ipython[test]
15 - pip install codecov
15 - pip install codecov
16 script:
16 script:
17 - cd /tmp && iptest --coverage xml && cd -
17 - cd /tmp && iptest --coverage xml && cd -
@@ -292,13 +292,17 b' else:'
292 setup_args.update(setuptools_extra_args)
292 setup_args.update(setuptools_extra_args)
293
293
294
294
295 # loose as `.dev` is suppose to be invalid
296 loose_pep440re = re.compile('^(\d+)\.(\d+)\.(\d+((a|b|rc)\d+)?)(\.post\d+)?(\.dev\d*)?$')
297
295
298 def main():
296 def main():
299 import IPython.core.release as r
297 try:
300 if not loose_pep440re.match(r.version):
298 # loose as `.dev` is suppose to be invalid
301 raise ValueError("Version number '%s' is not valid (should match [N!]N(.N)*[{a|b|rc}N][.postN][.devN])" % r.version)
299 print("check version number")
300 loose_pep440re = re.compile('^(\d+)\.(\d+)\.(\d+((a|b|rc)\d+)?)(\.post\d+)?(\.dev\d*)?$')
301 import IPython.core.release as r
302 if not loose_pep440re.match(r.version):
303 raise ValueError("Version number '%s' is not valid (should match [N!]N(.N)*[{a|b|rc}N][.postN][.devN])" % r.version)
304 except:
305 pass
302 setup(**setup_args)
306 setup(**setup_args)
303
307
304 if __name__ == '__main__':
308 if __name__ == '__main__':
@@ -14,7 +14,7 b' This includes:'
14
14
15 from __future__ import print_function
15 from __future__ import print_function
16
16
17 import errno
17 import re
18 import os
18 import os
19 import sys
19 import sys
20
20
@@ -24,10 +24,7 b' from distutils.command.build_scripts import build_scripts'
24 from distutils.command.install import install
24 from distutils.command.install import install
25 from distutils.command.install_scripts import install_scripts
25 from distutils.command.install_scripts import install_scripts
26 from distutils.cmd import Command
26 from distutils.cmd import Command
27 from distutils.errors import DistutilsExecError
28 from fnmatch import fnmatch
29 from glob import glob
27 from glob import glob
30 from subprocess import Popen, PIPE
31
28
32 from setupext import install_data_ext
29 from setupext import install_data_ext
33
30
@@ -426,6 +423,14 b' def git_prebuild(pkg_dir, build_cmd=build_py):'
426 class MyBuildPy(build_cmd):
423 class MyBuildPy(build_cmd):
427 ''' Subclass to write commit data into installation tree '''
424 ''' Subclass to write commit data into installation tree '''
428 def run(self):
425 def run(self):
426 # loose as `.dev` is suppose to be invalid
427 print("check version number")
428 loose_pep440re = re.compile('^(\d+)\.(\d+)\.(\d+((a|b|rc)\d+)?)(\.post\d+)?(\.dev\d*)?$')
429 import IPython.core.release as r
430 if not loose_pep440re.match(r.version):
431 raise ValueError("Version number '%s' is not valid (should match [N!]N(.N)*[{a|b|rc}N][.postN][.devN])" % r.version)
432
433
429 build_cmd.run(self)
434 build_cmd.run(self)
430 # this one will only fire for build commands
435 # this one will only fire for build commands
431 if hasattr(self, 'build_lib'):
436 if hasattr(self, 'build_lib'):
General Comments 0
You need to be logged in to leave comments. Login now