123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 |
- #!/usr/bin/env python
- #
- # Copyright (c) 2015, Nordic Semiconductor
- # All rights reserved.
- #
- # Redistribution and use in source and binary forms, with or without
- # modification, are permitted provided that the following conditions are met:
- #
- # * Redistributions of source code must retain the above copyright notice, this
- # list of conditions and the following disclaimer.
- #
- # * Redistributions in binary form must reproduce the above copyright notice,
- # this list of conditions and the following disclaimer in the documentation
- # and/or other materials provided with the distribution.
- #
- # * Neither the name of Nordic Semiconductor ASA nor the names of its
- # contributors may be used to endorse or promote products derived from
- # this software without specific prior written permission.
- #
- # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
- # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- """
- Setup script for nrfutil.
- USAGE:
- python setup.py install
- python setup.py py2exe
- """
- import os
- import platform
- from setuptools import setup, find_packages
- from setuptools.command.test import test as TestCommand
- from setuptools_behave import behave_test
- from nordicsemi import version
- if platform.system() == 'Windows':
- import py2exe # Required even if it is not used in this file. This import adds py2exe to distutils.
- excludes = ["Tkconstants",
- "Tkinter",
- "tcl",
- "pickle",
- "unittest",
- "pyreadline"]
- # DFU component cli interface
- includes = ["nordicsemi.dfu.dfu"]
- packages = []
- dll_excludes = [
- "w9xpopen.exe",
- "OLEAUT32.DLL",
- "OLE32.DLL",
- "USER32.DLL",
- "SHELL32.DLL",
- "ADVAPI32.DLL",
- "KERNEL32.DLL",
- "WS2_32.DLL",
- "GDI32.DLL"]
- build_dir = os.environ.get("NRFUTIL_BUILD_DIR", "./{}".format(version.NRFUTIL_VERSION))
- description = """A Python package that includes the nrfutil utility and the nordicsemi library"""
- class NoseTestCommand(TestCommand):
- def finalize_options(self):
- TestCommand.finalize_options(self)
- self.test_args = []
- self.test_suite = True
- def run_tests(self):
- import nose
- nose.run_exit(argv=['nosetests', '--with-xunit', '--xunit-file=test-reports/unittests.xml'])
- common_requirements=[]
- setup(
- name="nrfutil",
- version=version.NRFUTIL_VERSION,
- license="Nordic Semicondictor proprietary license",
- url="https://github.com/NordicSemiconductor/pc-nrfutil",
- description="Nordic Semiconductor nrfutil utility and Python library",
- long_description=description,
- packages=find_packages(exclude=["tests.*", "tests"]),
- include_package_data=False,
- install_requires=common_requirements,
- setup_requires=common_requirements,
- zipfile=None,
- tests_require=[
- "nose >= 1.3.4",
- "behave"
- ],
- zip_safe=False,
- classifiers=[
- "Programming Language :: Python :: 2.7",
- ],
- cmdclass={
- 'test': NoseTestCommand
- # 'bdd_test': behave_test
- },
- entry_points='''
- [console_scripts]
- nrfutil = nordicsemi.__main__:cli
- ''',
- console=[{
- "script": "./nordicsemi/__main__.py",
- "dest_base": "nrfutil"
- }],
- options={
- "py2exe": {
- "includes": includes,
- "excludes": excludes,
- "ascii": False,
- "bundle_files": 1, # 1 for bunding into exe, 3 for to distdir
- "dist_dir": build_dir,
- "verbose": True,
- "dll_excludes": dll_excludes
- }
- }
- )
|