def build(): """ Builds mssql-cli package. """ print_heading('Cleanup') # clean utility.clean_up(utility.MSSQLCLI_DIST_DIRECTORY) utility.clean_up_egg_info_sub_directories(utility.ROOT_DIR) print_heading('Running setup') # install general requirements. utility.exec_command( '{0} -m pip install -r requirements-dev.txt'.format(PYTHON), utility.ROOT_DIR) # convert windows line endings to unix for mssql-cli bash script utility.exec_command('{0} dos2unix.py mssql-cli mssql-cli'.format(PYTHON), utility.ROOT_DIR) # run flake8 code_analysis() if utility.get_current_platform().startswith('win'): platforms_to_build = ['win32', 'win_amd64'] else: platforms_to_build = [utility.get_current_platform()] for plat in platforms_to_build: # For the current platform, populate the appropriate binaries and # generate the wheel. clean_and_copy_sqltoolsservice(plat) utility.clean_up(utility.MSSQLCLI_BUILD_DIRECTORY) print_heading('Building mssql-cli pip package') utility.exec_command('%s --version' % PYTHON, utility.ROOT_DIR) utility.exec_command('%s setup.py bdist_wheel --plat-name %s' % (PYTHON, plat), utility.ROOT_DIR, continue_on_error=False) try: # checks if long description will render correctly--does not work on some systems utility.exec_command('twine check {}'.format( os.path.join(utility.MSSQLCLI_DIST_DIRECTORY, '*')), utility.ROOT_DIR, continue_on_error=False) except IOError as err: print(err) print("Unable to run 'twine check'.") # Copy back the SqlToolsService binaries for this platform. clean_and_copy_sqltoolsservice(utility.get_current_platform()) copy_and_rename_wheels()
def build(): """ Builds mssql-cli package. """ print_heading('Cleanup') # clean utility.clean_up(utility.MSSQLCLI_DIST_DIRECTORY) utility.clean_up_egg_info_sub_directories(utility.ROOT_DIR) print_heading('Running setup') # install general requirements. utility.exec_command('{0} install -r requirements-dev.txt'.format(PIP), utility.ROOT_DIR) # convert windows line endings to unix for mssql-cli bash script utility.exec_command('{0} dos2unix.py mssql-cli mssql-cli'.format(PYTHON), utility.ROOT_DIR) # run flake8 code_analysis() if utility.get_current_platform().startswith('win'): platforms_to_build = ['win32', 'win_amd64'] else: platforms_to_build = [utility.get_current_platform()] for plat in platforms_to_build: # For the current platform, populate the appropriate binaries and # generate the wheel. clean_and_copy_sqltoolsservice(plat) utility.clean_up(utility.MSSQLCLI_BUILD_DIRECTORY) print_heading('Building mssql-cli pip package') utility.exec_command('%s --version' % PYTHON, utility.ROOT_DIR) utility.exec_command( '%s setup.py check -r -s bdist_wheel --plat-name %s' % (PYTHON, plat), utility.ROOT_DIR, continue_on_error=False) # generate sdist--only run on macOS to eliminate redundant copies when published to Azure # NOTE: macOS was arbitrarily chosen as the single OS if sys.platform == 'darwin': utility.exec_command( '%s setup.py check -r -s sdist --formats=gztar' % PYTHON, utility.ROOT_DIR, continue_on_error=False) # Copy back the SqlToolsService binaries for this platform. clean_and_copy_sqltoolsservice(utility.get_current_platform()) copy_and_rename_wheels()
def build(): """ Builds mssql-cli package. """ print_heading('Cleanup') # clean utility.clean_up(utility.MSSQLCLI_DIST_DIRECTORY) utility.clean_up_egg_info_sub_directories(utility.ROOT_DIR) print_heading('Running setup') # install general requirements. utility.exec_command('{0} install -r requirements-dev.txt'.format(PIP), utility.ROOT_DIR) # convert windows line endings to unix for mssql-cli bash script utility.exec_command('{0} dos2unix.py mssql-cli mssql-cli'.format(PYTHON), utility.ROOT_DIR) # run flake8 code_analysis() if utility.get_current_platform().startswith('win'): platforms_to_build = ['win32', 'win_amd64'] else: platforms_to_build = [utility.get_current_platform()] for platform in platforms_to_build: # For the current platform, populate the appropriate binaries and # generate the wheel. clean_and_copy_sqltoolsservice(platform) utility.clean_up(utility.MSSQLCLI_BUILD_DIRECTORY) print_heading('Building mssql-cli pip package') utility.exec_command('{0} --version'.format(PYTHON), utility.ROOT_DIR) utility.exec_command( '{0} setup.py check -r -s bdist_wheel --plat-name {1}'.format( PYTHON, platform), utility.ROOT_DIR, continue_on_error=False) # Copy back the SqlToolsService binaries for this platform. clean_and_copy_sqltoolsservice(utility.get_current_platform()) copy_and_rename_wheels()
def validate_package(): """ Install mssql-cli package locally. """ root_dir = os.path.abspath(os.path.join(os.path.abspath(__file__), '..')) # Local install of mssql-scripter. mssqlcli_wheel_dir = os.listdir(utility.MSSQLCLI_DIST_DIRECTORY) # To ensure we have a clean install, we disable the cache as to prevent # cache overshadowing actual changes made. current_platform = utility.get_current_platform() mssqlcli_wheel_name = [ pkge for pkge in mssqlcli_wheel_dir if current_platform in pkge ] utility.exec_command( 'pip install --no-cache-dir --no-index ./dist/{}'.format( mssqlcli_wheel_name[0]), root_dir, continue_on_error=False)
#!/usr/bin/env python # -------------------------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. # Licensed under the MIT License. See License.txt in the project root for license information. # -------------------------------------------------------------------------------------------- from __future__ import print_function import os import platform import utility import mssqlscripter.mssqltoolsservice.external as mssqltoolsservice print('Running dev setup...') print('Root directory \'{}\'\n'.format(utility.ROOT_DIR)) # install general requirements. utility.exec_command('pip install -r dev_requirements.txt', utility.ROOT_DIR) run_time_id = utility.get_current_platform() if run_time_id: mssqltoolsservice.copy_sqltoolsservice(run_time_id) else: print("This platform does not support mssqltoolsservice.") print('Finished dev setup.')