mirror of
https://github.com/microsoft/debugpy.git
synced 2025-12-23 08:48:12 +00:00
* Try building ABI specific wheels * Fix typo * Fix another typo * Skip cython rebuild * Try some tweaks * Revert "Skip cython rebuild" This reverts commit 3ba6002e9cc1715d9202ec778adc52e6dc7b1732. * More tweaks * Fix pathlib install * Disable 2.7 builds * Try pure python builds * Tweak and test pure builds * Tweak pure builds * Add universal wheel * Try universal wheel * Attempt to fix pyds * Try re adding platform * Keep install structure between builds * Split how we build wheels for windows * Fix broken sys argv * Fix setup platform * Adding some logging for filter * Fix platform build script * Ensure ABI tag * Fix platform abi * Test platform build of wheels * fix platform metadata * Log pyd file generation * Log dir location for pyd * recursively include *win*.pyd * limit to pydevd pyds * tweak manifest * remove unused code * restore manifest changes * fix proj path * Remove logging * Add script for linux wheels (#3) * Add linux builds * Simplify building bdist and sdist wheels. * Try with frame eval off * Ensure imports * Add instructions to build linux wheels locally.
121 lines
3.5 KiB
Python
121 lines
3.5 KiB
Python
#!/usr/bin/env python
|
|
|
|
# Copyright (c) Microsoft Corporation. All rights reserved.
|
|
# Licensed under the MIT License. See LICENSE in the project root
|
|
# for license information.
|
|
|
|
import os
|
|
import os.path
|
|
import subprocess
|
|
import sys
|
|
|
|
pure = None
|
|
if '--pure' in sys.argv:
|
|
pure = True
|
|
sys.argv.remove('--pure')
|
|
elif '--universal' in sys.argv:
|
|
pure = True
|
|
elif '--abi' in sys.argv:
|
|
pure = False
|
|
sys.argv.remove('--abi')
|
|
|
|
|
|
from setuptools import setup # noqa
|
|
import versioneer # noqa
|
|
|
|
sys.path.insert(0, os.path.join(os.path.dirname(os.path.abspath(__file__)), 'src'))
|
|
import ptvsd # noqa
|
|
import ptvsd._vendored # noqa
|
|
del sys.path[0]
|
|
|
|
|
|
PYDEVD_ROOT = ptvsd._vendored.project_root('pydevd')
|
|
PTVSD_ROOT = os.path.dirname(os.path.abspath(ptvsd.__file__))
|
|
|
|
|
|
def get_buildplatform():
|
|
if '-p' in sys.argv:
|
|
return sys.argv[sys.argv.index('-p') + 1]
|
|
return None
|
|
|
|
def cython_build():
|
|
print('Compiling extension modules (set SKIP_CYTHON_BUILD=1 to omit)')
|
|
subprocess.call([
|
|
sys.executable,
|
|
os.path.join(PYDEVD_ROOT, 'setup_cython.py'),
|
|
'build_ext',
|
|
'-i',
|
|
])
|
|
|
|
|
|
def iter_vendored_files():
|
|
# Add pydevd files as data files for this package. They are not
|
|
# treated as a package of their own, because we don't actually
|
|
# want to provide pydevd - just use our own copy internally.
|
|
for project in ptvsd._vendored.list_all():
|
|
for filename in ptvsd._vendored.iter_packaging_files(project):
|
|
yield filename
|
|
|
|
|
|
with open('DESCRIPTION.md', 'r') as fh:
|
|
long_description = fh.read()
|
|
|
|
|
|
try:
|
|
from wheel.bdist_wheel import bdist_wheel as _bdist_wheel
|
|
|
|
class bdist_wheel(_bdist_wheel):
|
|
def finalize_options(self):
|
|
_bdist_wheel.finalize_options(self)
|
|
self.root_is_pure = pure
|
|
|
|
except ImportError:
|
|
bdist_wheel = None
|
|
|
|
if __name__ == '__main__':
|
|
if not os.getenv('SKIP_CYTHON_BUILD'):
|
|
cython_build()
|
|
|
|
cmds = versioneer.get_cmdclass()
|
|
cmds['bdist_wheel'] = bdist_wheel
|
|
|
|
extras = {}
|
|
platforms = get_buildplatform()
|
|
if platforms is not None:
|
|
extras['platforms'] = platforms
|
|
|
|
setup(
|
|
name='ptvsd',
|
|
version=versioneer.get_version(),
|
|
description='Remote debugging server for Python support in Visual Studio and Visual Studio Code', # noqa
|
|
long_description=long_description,
|
|
long_description_content_type='text/markdown',
|
|
license='MIT',
|
|
author='Microsoft Corporation',
|
|
author_email='ptvshelp@microsoft.com',
|
|
url='https://aka.ms/ptvs',
|
|
python_requires='>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*',
|
|
classifiers=[
|
|
'Development Status :: 5 - Production/Stable',
|
|
'Programming Language :: Python :: 2.7',
|
|
'Programming Language :: Python :: 3.4',
|
|
'Programming Language :: Python :: 3.5',
|
|
'Programming Language :: Python :: 3.6',
|
|
'Programming Language :: Python :: 3.7',
|
|
'Topic :: Software Development :: Debuggers',
|
|
'Operating System :: OS Independent',
|
|
'License :: OSI Approved :: Eclipse Public License 2.0 (EPL-2.0)',
|
|
'License :: OSI Approved :: MIT License',
|
|
],
|
|
package_dir={'': 'src'},
|
|
packages=[
|
|
'ptvsd',
|
|
'ptvsd._vendored',
|
|
],
|
|
package_data={
|
|
'ptvsd': ['ThirdPartyNotices.txt'],
|
|
'ptvsd._vendored': list(iter_vendored_files()),
|
|
},
|
|
cmdclass=cmds,
|
|
**extras
|
|
)
|