1+ [CmdletBinding ()]
2+ param (
3+ [Parameter (Mandatory = $true )]
4+ [string ]$Language ,
5+ [Parameter (Mandatory = $true )]
6+ [string ]$ServiceName ,
7+ [Parameter (Mandatory = $true )]
8+ [string ]$PackageName ,
9+ [Parameter (Mandatory = $true )]
10+ [string ]$PackageDisplayName ,
11+ [Parameter (Mandatory = $true )]
12+ [string ]$PackageVersion ,
13+ [Parameter (Mandatory = $true )]
14+ [string ]$ReleaseDate ,
15+ [string ]$RelatedWorkItemId ,
16+ [string ]$Tag = " " ,
17+ [string ]$WorkingDir = " ." ,
18+ [string ]$PackageRootPath = " " ,
19+ [string ]$Devops_pat = $env: DEVOPS_PAT
20+ )
21+
22+ Set-StrictMode - Version 3
23+
24+ function Get-Repo-Name ($language )
25+ {
26+ switch ($language )
27+ {
28+ " .NET" { return " azure-sdk-for-net" }
29+ " Python" { return " azure-sdk-for-python" }
30+ " Java" { return " azure-sdk-for-java" }
31+ " JavaScript" { return " azure-sdk-for-js" }
32+ " Go" { return " azure-sdk-for-go" }
33+ " C" { return " azure-sdk-for-c" }
34+ " C++" { return " azure-sdk-for-cpp" }
35+ }
36+ Write-Host " Unknown language to map it to repo name. Language: [$language ]"
37+ return " "
38+ }
39+
40+
41+ $repoName = Get-Repo - Name $language
42+ if (! $repoName )
43+ {
44+ Write-Error " GitHub repo name is not found for language [$language ]. Failed to find package root path."
45+ exit 1
46+ }
47+
48+ # clone language repo
49+ $clonedRepoPath = Join-Path $WorkingDir $repoName
50+ Write-Host " Cloning repo [$repoName ] to [$WorkingDir ]."
51+ git clone -- depth 1 " https://github.com/azure/$repoName .git" $clonedRepoPath
52+ Push-Location $clonedRepoPath
53+
54+ try
55+ {
56+ . " eng/common/scripts/common.ps1"
57+ # Parse package properties from cloned repo and find the package repo path
58+ $PkgProperties = Get-PkgProperties - PackageName $PackageName
59+ if (! $PkgProperties )
60+ {
61+ Write-Error " Failed to find package properties for package name [$PackageName ]."
62+ exit 1
63+ }
64+
65+ # Create or update package work item
66+ & $EngCommonScriptsDir / Update-DevOps - Release- WorkItem.ps1 `
67+ - language $Language `
68+ - packageName $PackageName `
69+ - version $PackageVersion `
70+ - plannedDate $ReleaseDate `
71+ - packageRepoPath $PkgProperties.ServiceDirectory `
72+ - packageType $PkgProperties.SdkType `
73+ - packageNewLibrary $PkgProperties.IsNewSdk `
74+ - serviceName $ServiceName `
75+ - packageDisplayName $PackageDisplayName `
76+ - relatedWorkItemId $RelatedWorkItemId `
77+ - tag $Tag `
78+ - devops_pat $Devops_pat
79+ }
80+ finally {
81+ Pop-Location
82+ }
0 commit comments