diff options
| author | bozokopic <bozo.kopic@gmail.com> | 2018-04-24 13:54:40 +0200 |
|---|---|---|
| committer | bozokopic <bozo.kopic@gmail.com> | 2018-04-24 13:54:40 +0200 |
| commit | efbe7c3b75f05cbe1f7670f6e0fac05270a93bef (patch) | |
| tree | f5dc2d226cbbb00f114b9ab1b1f7d63efae7474b /src_py | |
| parent | e77fbff877452586c89f8542cc3f211d3bb3fe5e (diff) | |
setup.py
Diffstat (limited to 'src_py')
| -rw-r--r-- | src_py/opcut/doit/main.py | 49 |
1 files changed, 42 insertions, 7 deletions
diff --git a/src_py/opcut/doit/main.py b/src_py/opcut/doit/main.py index 98844af..fb34e8c 100644 --- a/src_py/opcut/doit/main.py +++ b/src_py/opcut/doit/main.py @@ -1,3 +1,4 @@ +from doit.action import CmdAction from opcut.doit import _common @@ -47,14 +48,48 @@ def task_dist_build(): """Distribution - build (DEFAULT)""" def generate_setup_py(): - with open('dist/setup.py', 'w', encoding='utf-8') as f: - f.write('\n') - - return {'actions': [(_common.rm_rf, ['dist']), - (_common.cp_r, ['build/pyopcut', 'dist']), - (_common.cp_r, ['build/jsopcut', 'dist/opcut/web']), - generate_setup_py], + with open('requirements.txt', encoding='utf-8') as f: + dependencies = [i.strip() for i in f.readlines() if i.strip()] + with open('build/dist/setup.py', 'w', encoding='utf-8') as f: + f.write(_setup_py.format( + version='0.1.0', + dependencies=repr(dependencies))) + + return {'actions': [ + (_common.rm_rf, ['dist', 'build/dist']), + (_common.cp_r, ['build/pyopcut', 'build/dist']), + (_common.cp_r, ['build/jsopcut', 'build/dist/opcut/web']), + (_common.cp_r, ['README.rst', 'build/dist/README.rst']), + generate_setup_py, + CmdAction('python setup.py bdist_wheel --dist-dir ../../dist', + cwd='build/dist')], 'task_dep': [ 'gen_all', 'pyopcut_build', 'jsopcut_build']} + + +_setup_py = r""" +from setuptools import setup +setup( + name='opcut', + version='{version}', + description='Cutting stock problem optimizer', + url='https://github.com/bozokopic/opcut', + author='Bozo Kopic', + author_email='bozo.kopic@gmail.com', + license='GPLv3', + python_requires='>=3.5', + zip_safe=False, + packages=['opcut'], + package_data={{ + 'opcut': ['web/*', 'web/fonts/*'] + }}, + install_requires={dependencies}, + entry_points={{ + 'console_scripts': [ + 'opcut = opcut.main:main' + ] + }} +) +""" |
