Change Version formatting properties and functions to return Version objects (#4834)

* Change version.up_to() to return Version() object
* Add unit tests for Version.up_to()
* Fix packages that expected up_to() to return a string
* Ensure that up_to() preserves separator characters
* Use version indexing instead of up_to
* Make all Version formatting properties return Version objects
* Update docs
* Tests need to test string representation
This commit is contained in:
Adam J. Stewart
2017-07-24 15:02:13 -05:00
committed by Todd Gamblin
parent df2fc25ddf
commit 250ee413e9
7 changed files with 138 additions and 27 deletions

View File

@@ -145,11 +145,11 @@ def setup_environment(self, spack_env, run_env):
@property
def lua_lib_dir(self):
return os.path.join('lib', 'lua', self.version.up_to(2))
return os.path.join('lib', 'lua', str(self.version.up_to(2)))
@property
def lua_share_dir(self):
return os.path.join('share', 'lua', self.version.up_to(2))
return os.path.join('share', 'lua', str(self.version.up_to(2)))
def setup_dependent_package(self, module, dependent_spec):
"""

View File

@@ -109,7 +109,7 @@ def install(self, spec, prefix):
if '+metview' in spec:
if '+qt' in spec:
options.append('-DENABLE_METVIEW=ON')
if spec['qt'].version.up_to(1) == '5':
if spec['qt'].version[0] == 5:
options.append('-DENABLE_QT5=ON')
else:
options.append('-DENABLE_METVIEW_NO_QT=ON')

View File

@@ -131,9 +131,9 @@ def url_for_version(self, version):
url = self.list_url
if version >= Version('4.0'):
url += version.up_to(2) + '/'
url += str(version.up_to(2)) + '/'
else:
url += version.up_to(1) + '/'
url += str(version.up_to(1)) + '/'
if version >= Version('4.8'):
url += str(version) + '/'

View File

@@ -49,7 +49,7 @@ class SublimeText(Package):
depends_on('libxau', type='run')
def url_for_version(self, version):
if version.up_to(1) == '2':
if version[0] == 2:
return "https://download.sublimetext.com/Sublime%20Text%20{0}%20x64.tar.bz2".format(version)
else:
return "https://download.sublimetext.com/sublime_text_3_build_{0}_x64.tar.bz2".format(version)