Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
87 changes: 47 additions & 40 deletions eng/common/scripts/Save-Package-Properties.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -99,56 +99,63 @@ $exportedPaths = @{}
$allPackageProperties = @()

if ($prDiff) {
Write-Host "Getting package properties for PR diff file: $prDiff"
$allPackageProperties = Get-PrPkgProperties $prDiff

if (!$allPackageProperties) {
Write-Host "No packages found matching PR diff file $prDiff"
Write-Host "Setting NoPackagesChanged variable to true"
Write-Host "##vso[task.setvariable variable=NoPackagesChanged]true"
exit 0
}
}
else {
Write-Host "Getting package properties for service directory: $serviceDirectory"
$allPackageProperties = Get-AllPkgProperties $serviceDirectory

if (!$allPackageProperties) {
Write-Error "Package properties are not available for service directory $serviceDirectory"
exit 1
}
}

if (-not (Test-Path -Path $outDirectory))
{
New-Item -ItemType Directory -Force -Path $outDirectory | Out-Null
}

if ($allPackageProperties)
foreach($pkg in $allPackageProperties)
{
if (-not (Test-Path -Path $outDirectory))
if ($pkg.Name) {
Write-Host "Package Name: $($pkg.Name)"
Write-Host "Package Version: $($pkg.Version)"
Write-Host "Package SDK Type: $($pkg.SdkType)"
Write-Host "Artifact Name: $($pkg.ArtifactName)"
Write-Host "Release date: $($pkg.ReleaseStatus)"
$configFilePrefix = $pkg.Name
if ($pkg.ArtifactName)
{
New-Item -ItemType Directory -Force -Path $outDirectory
$configFilePrefix = $pkg.ArtifactName
}
foreach($pkg in $allPackageProperties)
$outputPath = Join-Path -Path $outDirectory "$configFilePrefix.json"
Write-Host "Output path of json file: $outputPath"
$outDir = Split-Path $outputPath -parent
if (-not (Test-Path -path $outDir))
{
if ($pkg.Name) {
Write-Host "Package Name: $($pkg.Name)"
Write-Host "Package Version: $($pkg.Version)"
Write-Host "Package SDK Type: $($pkg.SdkType)"
Write-Host "Artifact Name: $($pkg.ArtifactName)"
Write-Host "Release date: $($pkg.ReleaseStatus)"
$configFilePrefix = $pkg.Name
if ($pkg.ArtifactName)
{
$configFilePrefix = $pkg.ArtifactName
}
$outputPath = Join-Path -Path $outDirectory "$configFilePrefix.json"
Write-Host "Output path of json file: $outputPath"
$outDir = Split-Path $outputPath -parent
if (-not (Test-Path -path $outDir))
{
Write-Host "Creating directory $($outDir) for json property file"
New-Item -ItemType Directory -Path $outDir
}

# If package properties for a track 2 (IsNewSdk = true) package has
# already been written, skip writing to that same path.
if ($exportedPaths.ContainsKey($outputPath) -and $exportedPaths[$outputPath].IsNewSdk -eq $true) {
Write-Host "Track 2 package info with file name $($outputPath) already exported. Skipping export."
continue
}
$exportedPaths[$outputPath] = $pkg

SetOutput $outputPath $pkg
}
Write-Host "Creating directory $($outDir) for json property file"
New-Item -ItemType Directory -Path $outDir | Out-Null
}

Get-ChildItem -Path $outDirectory
}
else
{
Write-Error "Package properties are not available for service directory $serviceDirectory or $prdiff"
exit 1
# If package properties for a track 2 (IsNewSdk = true) package has
# already been written, skip writing to that same path.
if ($exportedPaths.ContainsKey($outputPath) -and $exportedPaths[$outputPath].IsNewSdk -eq $true) {
Write-Host "Track 2 package info with file name $($outputPath) already exported. Skipping export."
continue
}
$exportedPaths[$outputPath] = $pkg

SetOutput $outputPath $pkg
}
}

Get-ChildItem -Path $outDirectory