Ejemplo n.º 1
0
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()
Ejemplo n.º 2
0
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()
Ejemplo n.º 3
0
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()
Ejemplo n.º 4
0
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)
Ejemplo n.º 5
0
#!/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.')