Skip to content

Commit 98a87cb

Browse files
Added package properties SDKType and NewSDK (#16476)
* Added package properties SDKType and NewSDK
1 parent 52ff963 commit 98a87cb

File tree

4 files changed

+23
-3
lines changed

4 files changed

+23
-3
lines changed

eng/pipelines/templates/steps/build-artifacts.yml

+2-1
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,8 @@ steps:
5757
arguments: '-d "$(Build.ArtifactStagingDirectory)" "${{ parameters.BuildTargetingString }}" --service=${{parameters.ServiceDirectory}} --devbuild="$(SetDevVersion)"'
5858

5959
- script: |
60-
twine check $(Build.ArtifactStagingDirectory)/*
60+
twine check $(Build.ArtifactStagingDirectory)/*.whl
61+
twine check $(Build.ArtifactStagingDirectory)/*.zip
6162
displayName: 'Verify Readme'
6263
6364
- task: PythonScript@0

eng/pipelines/templates/steps/set-dev-build.yml

+2
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ parameters:
44

55
steps:
66
- template: /eng/common/pipelines/templates/steps/daily-dev-build-variable.yml
7+
parameters:
8+
ServiceDirectory: ${{ parameters.ServiceDirectory }}
79

810
- task: PythonScript@0
911
condition: and(succeededOrFailed(), eq(variables['SetDevVersion'],'true'))

eng/scripts/Language-Settings.ps1

+12-2
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,21 @@ function Get-python-PackageInfoFromRepo ($pkgPath, $serviceDirectory, $pkgName)
1313
{
1414
$setupLocation = $pkgPath.Replace('\','/')
1515
pushd $RepoRoot
16-
$setupProps = (python -c "import sys; import os; sys.path.append(os.path.join('scripts', 'devops_tasks')); from common_tasks import parse_setup; obj=parse_setup('$setupLocation'); print('{0},{1}'.format(obj[0], obj[1]));") -split ","
16+
$setupProps = (python -c "import sys; import os; sys.path.append(os.path.join('scripts', 'devops_tasks')); from common_tasks import get_package_properties; obj=get_package_properties('$setupLocation'); print('{0},{1},{2}'.format(obj[0], obj[1], obj[2]));") -split ","
1717
popd
1818
if (($setupProps -ne $null) -and ($setupProps[0] -eq $pkgName))
1919
{
20-
return [PackageProps]::new($setupProps[0], $setupProps[1], $pkgPath, $serviceDirectory)
20+
$pkgProp = [PackageProps]::new($setupProps[0], $setupProps[1], $pkgPath, $serviceDirectory)
21+
if ($pkgName -match "mgmt")
22+
{
23+
$pkgProp.SdkType = "mgmt"
24+
}
25+
else
26+
{
27+
$pkgProp.SdkType = "client"
28+
}
29+
$pkgProp.IsNewSdk = $setupProps[3]
30+
return $pkgProp
2131
}
2232
}
2333
return $null

scripts/devops_tasks/common_tasks.py

+7
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232

3333
DEV_REQ_FILE = "dev_requirements.txt"
3434
NEW_DEV_REQ_FILE = "new_dev_requirements.txt"
35+
NEW_REQ_PACKAGES = ["azure-core", "azure-mgmt-core"]
3536

3637
logging.getLogger().setLevel(logging.INFO)
3738

@@ -462,3 +463,9 @@ def get_installed_packages(paths = None):
462463
ws = WorkingSet(paths) if paths else working_set
463464
return ["{0}=={1}".format(p.project_name, p.version) for p in ws]
464465

466+
def get_package_properties(setup_py_path):
467+
"""Parse setup.py and return package details like package name, version, whether it's new SDK
468+
"""
469+
pkgName, version, _, requires = parse_setup(setup_py_path)
470+
is_new_sdk = pkgName in NEW_REQ_PACKAGES or any(map(lambda x: (parse_require(x)[0] in NEW_REQ_PACKAGES), requires))
471+
return pkgName, version, is_new_sdk

0 commit comments

Comments
 (0)