[tox] Use generating environments
Drop the "env" option, which is unknown, and set a generative_ "envlist". Then
use conditional dependencies based on factors_ to avoid repeating environment
sections. The only singular one is the "cubicweb" environment because of its
"commands".
At some point, it'd be nice to find a way to have python version prefixes
(py27-hooks or py34-web) for environment names but I could not find a way to extract
the package name from such names.
.. _generative: http://tox.readthedocs.org/en/latest/config.html#generative-envlist
.. _factors: http://tox.readthedocs.org/en/latest/config.html#factors-and-factor-conditional-settings
# pylint: disable=W0622
"""%(distname)s application packaging information"""
modname = '%(cubename)s'
distname = '%(distname)s'
numversion = (0, 1, 0)
version = '.'.join(str(num) for num in numversion)
license = '%(license)s'
author = '%(author)s'
author_email = '%(author-email)s'
description = '%(shortdesc)s'
web = 'http://www.cubicweb.org/project/%%s' %% distname
__depends__ = %(dependencies)s
__recommends__ = {}
classifiers = [
'Environment :: Web Environment',
'Framework :: CubicWeb',
'Programming Language :: Python',
'Programming Language :: JavaScript',
]
from os import listdir as _listdir
from os.path import join, isdir
from glob import glob
THIS_CUBE_DIR = join('share', 'cubicweb', 'cubes', modname)
def listdir(dirpath):
return [join(dirpath, fname) for fname in _listdir(dirpath)
if fname[0] != '.' and not fname.endswith('.pyc')
and not fname.endswith('~')
and not isdir(join(dirpath, fname))]
data_files = [
# common files
[THIS_CUBE_DIR, [fname for fname in glob('*.py') if fname != 'setup.py']],
]
# check for possible extended cube layout
for dname in ('entities', 'views', 'sobjects', 'hooks', 'schema', 'data',
'wdoc', 'i18n', 'migration'):
if isdir(dname):
data_files.append([join(THIS_CUBE_DIR, dname), listdir(dname)])
# Note: here, you'll need to add subdirectories if you want
# them to be included in the debian package