Skip to content

Commit

Permalink
{Packaging} Trim all SDKs instead of biggest SDKs (#25894)
Browse files Browse the repository at this point in the history
  • Loading branch information
bebound authored Mar 29, 2023
1 parent e3700b7 commit b9fbd0e
Showing 1 changed file with 9 additions and 35 deletions.
44 changes: 9 additions & 35 deletions scripts/trim_sdk.py
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,11 @@ def remove_aio_folders():

def remove_unused_api_versions(resource_type):
_LOGGER.info(f"Removing unused api folders for {resource_type.import_prefix}:")
sdk_path = importlib.import_module(resource_type.import_prefix).__path__[0]
try:
sdk_path = importlib.import_module(resource_type.import_prefix).__path__[0]
except ImportError:
_LOGGER.info(f'{resource_type} is not installed, skip')
return

used_api_versions = set()

Expand All @@ -70,6 +74,9 @@ def remove_unused_api_versions(resource_type):
if resource_type in profile:
# value is str like '2022-01-01' or SDKProfile
value = profile[resource_type]
if value is None:
_LOGGER.info(f'{resource_type}\'s API version is None, skip')
return
if isinstance(value, str):
used_api_versions.add(value)
else:
Expand Down Expand Up @@ -112,39 +119,6 @@ def _get_all_sdks_to_trim():
return resource_types


def _get_biggest_sdks_to_trim():
# Return top biggest SDKs. This list was retrieved by running
# ncdu /opt/az/lib/python3.10/site-packages/azure/mgmt
resource_types = [
# /web
ResourceType.MGMT_APPSERVICE,
# /compute
ResourceType.MGMT_COMPUTE,
# /containerservice
ResourceType.MGMT_CONTAINERSERVICE,
# /resource
ResourceType.MGMT_RESOURCE_FEATURES,
ResourceType.MGMT_RESOURCE_LINKS,
ResourceType.MGMT_RESOURCE_LOCKS,
ResourceType.MGMT_RESOURCE_POLICY,
ResourceType.MGMT_RESOURCE_RESOURCES,
ResourceType.MGMT_RESOURCE_SUBSCRIPTIONS,
ResourceType.MGMT_RESOURCE_DEPLOYMENTSCRIPTS,
ResourceType.MGMT_RESOURCE_TEMPLATESPECS,
ResourceType.MGMT_RESOURCE_PRIVATELINKS,
# /storage
ResourceType.MGMT_STORAGE,
# /databoxedge
ResourceType.MGMT_DATABOXEDGE,
# /containerregistry
ResourceType.MGMT_CONTAINERREGISTRY,
# /iothub
ResourceType.MGMT_IOTHUB,
]

return resource_types


def main():
mgmt_sdk_dir = azure.mgmt.__path__[0]

Expand All @@ -155,7 +129,7 @@ def main():
_print_folder_size(mgmt_sdk_dir)

# Removed unused API versions
resource_types = _get_biggest_sdks_to_trim()
resource_types = _get_all_sdks_to_trim()

for r in resource_types:
remove_unused_api_versions(r)
Expand Down

0 comments on commit b9fbd0e

Please sign in to comment.