From 329ed43716e4380f74eddd1260547f28136c23e4 Mon Sep 17 00:00:00 2001 From: Laurent Mazuel Date: Fri, 8 Jul 2016 11:40:32 -0700 Subject: [PATCH] Remove explicit list of packages in setup.py. Makes setup.py capable of build. --- build.ps1 | 63 ------------------------------------------------- build_conda.bat | 38 ----------------------------- build_conda.sh | 38 ----------------------------- setup.py | 47 ++++++++++++++++-------------------- 4 files changed, 20 insertions(+), 166 deletions(-) delete mode 100644 build.ps1 delete mode 100644 build_conda.bat delete mode 100644 build_conda.sh diff --git a/build.ps1 b/build.ps1 deleted file mode 100644 index 3fba60498183..000000000000 --- a/build.ps1 +++ /dev/null @@ -1,63 +0,0 @@ -# -# build.ps1 -# -# TODO: integrate this into the root setup.py -# - -$packages = @( - "azure-nspkg", - "azure-common", - "azure-mgmt-nspkg", - "azure-mgmt-authorization", - "azure-mgmt-batch", - "azure-mgmt-cdn", - "azure-mgmt-cognitiveservices", - "azure-mgmt-commerce", - "azure-mgmt-compute", - "azure-mgmt-logic", - "azure-mgmt-network", - "azure-mgmt-notificationhubs", - "azure-mgmt-powerbiembedded", - "azure-mgmt-redis", - "azure-mgmt-resource", - "azure-mgmt-scheduler", - "azure-mgmt-storage", - "azure-mgmt-web", - "azure-batch", - "azure-graphrbac", - "azure-servicebus", - "azure-servicemanagement-legacy" -) - -$bundles = @( - "azure", - "azure-mgmt" -) - -function build-sdist($package, $target) { - pushd $package - Remove-Item -Force -Recurse dist - Remove-Item -Force -Recurse *.egg-info - py -3.4-32 setup.py sdist - Copy-Item -Force "dist\*.zip" $($target) - popd -} - -function build-wheel($package) { - py -3.4-32 -m pip wheel --no-index --no-deps $package -} - -$sdist_target = Join-Path $PSScriptRoot dist -Remove-Item -Force -Recurse $sdist_target -mkdir $sdist_target -Force - -foreach ($package in ($packages + $bundles)) { - build-sdist $package $sdist_target -} - -pushd $sdist_target -foreach ($package in $packages) { - $item = Get-Item ($package + "*.zip") - build-wheel $item.name -} -popd diff --git a/build_conda.bat b/build_conda.bat deleted file mode 100644 index 9cad93699819..000000000000 --- a/build_conda.bat +++ /dev/null @@ -1,38 +0,0 @@ -conda skeleton pypi azure-nspkg -conda-build azure-nspkg - -conda skeleton pypi azure-common -conda-build azure-common - -conda skeleton pypi azure-mgmt-nspkg -conda-build azure-mgmt-nspkg - -conda skeleton pypi azure-mgmt-common -conda-build azure-mgmt-common - -conda skeleton pypi azure-mgmt-compute -conda-build azure-mgmt-compute - -conda skeleton pypi azure-mgmt-network -conda-build azure-mgmt-network - -conda skeleton pypi azure-mgmt-resource -conda-build azure-mgmt-resource - -conda skeleton pypi azure-mgmt-storage -conda-build azure-mgmt-storage - -conda skeleton pypi azure-mgmt -conda-build azure-mgmt - -conda skeleton pypi azure-storage -conda-build azure-storage - -conda skeleton pypi azure-servicebus -conda-build azure-servicebus - -conda skeleton pypi azure-servicemanagement-legacy -conda-build azure-servicemanagement-legacy - -conda skeleton pypi azure -conda-build azure \ No newline at end of file diff --git a/build_conda.sh b/build_conda.sh deleted file mode 100644 index 9cad93699819..000000000000 --- a/build_conda.sh +++ /dev/null @@ -1,38 +0,0 @@ -conda skeleton pypi azure-nspkg -conda-build azure-nspkg - -conda skeleton pypi azure-common -conda-build azure-common - -conda skeleton pypi azure-mgmt-nspkg -conda-build azure-mgmt-nspkg - -conda skeleton pypi azure-mgmt-common -conda-build azure-mgmt-common - -conda skeleton pypi azure-mgmt-compute -conda-build azure-mgmt-compute - -conda skeleton pypi azure-mgmt-network -conda-build azure-mgmt-network - -conda skeleton pypi azure-mgmt-resource -conda-build azure-mgmt-resource - -conda skeleton pypi azure-mgmt-storage -conda-build azure-mgmt-storage - -conda skeleton pypi azure-mgmt -conda-build azure-mgmt - -conda skeleton pypi azure-storage -conda-build azure-storage - -conda skeleton pypi azure-servicebus -conda-build azure-servicebus - -conda skeleton pypi azure-servicemanagement-legacy -conda-build azure-servicemanagement-legacy - -conda skeleton pypi azure -conda-build azure \ No newline at end of file diff --git a/setup.py b/setup.py index b6975d2e382a..ff6caa94db90 100644 --- a/setup.py +++ b/setup.py @@ -15,40 +15,33 @@ # limitations under the License. #-------------------------------------------------------------------------- -import os import os.path +import glob import copy import sys import runpy root_folder = os.path.abspath(os.path.dirname(__file__)) -# order is significant, start from the leaf nodes -packages = [ - 'azure-nspkg', - 'azure-common', - 'azure-mgmt-nspkg', - 'azure-mgmt-authorization', - 'azure-mgmt-batch', - 'azure-mgmt-cdn', - 'azure-mgmt-cognitiveservices', - 'azure-mgmt-commerce', - 'azure-mgmt-compute', - 'azure-mgmt-logic', - 'azure-mgmt-graphrbac', - 'azure-mgmt-network', - 'azure-mgmt-notificationhubs', - 'azure-mgmt-powerbiembedded', - 'azure-mgmt-redis', - 'azure-mgmt-resource', - 'azure-mgmt-scheduler', - 'azure-mgmt-storage', - 'azure-mgmt-web', - 'azure-graphrbac', - 'azure-batch', - 'azure-servicebus', - 'azure-servicemanagement-legacy', -] +packages = [os.path.dirname(p) for p in glob.glob('azure*/setup.py')] + +# order is significant for "install": +# - Install nspkg first +# - Then install content package +# - Then install meta-package + +# Extract nspkg and sort nspkg by number of "-" +nspkg_packages = [p for p in packages if "nspkg" in p] +nspkg_packages.sort(key = lambda x: len([c for c in x if c == '-'])) + +# Manually push meta-packages at the end +meta_package = ['azure', 'azure-mgmt'] + +# So content packages are: +content_package = [p for p in packages if p not in meta_package+nspkg_packages] + +# Package final order: +packages = nspkg_packages + content_package + meta_package for pkg_name in packages: pkg_setup_folder = os.path.join(root_folder, pkg_name)