pin lessc to 1.4

Not necessarily what we want to do,
but every minor revision of less seems to change how it minifies,
which produces churn.

At least this should prevent accidental churn,
as has recently been committed to master.
This commit is contained in:
MinRK 2014-02-04 14:50:33 -08:00
parent 978a5c1bc2
commit 0e81506dd9

View File

@ -3,11 +3,15 @@
from fabric.api import local,lcd
from fabric.utils import abort
import os
from distutils.version import LooseVersion as V
from subprocess import check_output
pjoin = os.path.join
static_dir = 'static'
components_dir = os.path.join(static_dir, 'components')
min_less_version = '1.4.0'
max_less_version = '1.5.0' # exclusive
def css(minify=True, verbose=False):
"""generate the css from less files"""
@ -27,6 +31,16 @@ def _compile_less(source, target, minify=True, verbose=False):
verbose = _to_bool(verbose)
min_flag = '-x' if minify is True else ''
ver_flag = '--verbose' if verbose is True else ''
# pin less to 1.4
out = check_output(['lessc', '--version'])
out = out.decode('utf8', 'replace')
less_version = out.split()[1]
if V(less_version) < V(min_less_version):
raise ValueError("lessc too old: %s < %s" % (less_version, min_less_version))
if V(less_version) > V(max_less_version):
raise ValueError("lessc too new: %s > %s" % (less_version, max_less_version))
with lcd(static_dir):
local('lessc {min_flag} {ver_flag} {source} {target}'.format(**locals()))