Sync eng/common directory with azure-sdk-tools for PR 1303 (#1667)
* Add PrepareRelease Script * Update Package-Properties.ps1 * Update Collect-ChangeLog Script * Update Collect-ChangeLog.ps1 and Collect-Unreleased.ps1 * Update GeneralReleaseNotesParser.ps1 script * Change GeneralReleaseNotesParser logic * Change GeneralReleaseNotesParser.ps1 logic * Remoce GeneralReleaseNotesParsercopy * Update collect changelog and generalreleasenotes parser logic * Refine CollectChangelog Logic * Add logic for filtering collected changelog * Add Filter-ReleaseHighlights function * Update General ReleasNotes Logic * Delete GeneralReleaseNotesLogic.ps1 * Update Collect ChangeLogLogic Co-authored-by: Chidozie Ononiwu <chononiw@microsoft.com>
This commit is contained in:
parent
e423265180
commit
2741ad4762
60
eng/common/scripts/Collect-ChangeLogs.ps1
Normal file
60
eng/common/scripts/Collect-ChangeLogs.ps1
Normal file
@ -0,0 +1,60 @@
|
||||
[CmdletBinding()]
|
||||
param(
|
||||
[Parameter(Mandatory=$true)]
|
||||
[DateTime] $FromDate
|
||||
)
|
||||
|
||||
. (Join-Path $PSScriptRoot common.ps1)
|
||||
|
||||
$releaseHighlights = @{}
|
||||
|
||||
if ($FromDate -as [DateTime])
|
||||
{
|
||||
$date = ([DateTime]$FromDate).ToString($CHANGELOG_DATE_FORMAT)
|
||||
}
|
||||
else {
|
||||
LogWarning "Invalid date passed. Switch to using the current date"
|
||||
$date = Get-Date -Format $CHANGELOG_DATE_FORMAT
|
||||
}
|
||||
|
||||
$allPackageProps = Get-AllPkgProperties
|
||||
|
||||
foreach ($packageProp in $allPackageProps) {
|
||||
$changeLogLocation = $packageProp.ChangeLogPath
|
||||
if (!(Test-Path $changeLogLocation))
|
||||
{
|
||||
continue
|
||||
}
|
||||
$changeLogEntries = Get-ChangeLogEntries -ChangeLogLocation $changeLogLocation
|
||||
$packageName = $packageProp.Name
|
||||
$serviceDirectory = $packageProp.ServiceDirectory
|
||||
|
||||
foreach ($changeLogEntry in $changeLogEntries.Values) {
|
||||
if ([System.String]::IsNullOrEmpty($changeLogEntry.ReleaseStatus))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
$ReleaseStatus = $changeLogEntry.ReleaseStatus.Trim("(",")")
|
||||
if (!($ReleaseStatus -as [DateTime]) -or $ReleaseStatus -lt $date)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
$releaseVersion = $changeLogEntry.ReleaseVersion
|
||||
$githubAnchor = $changeLogEntry.ReleaseTitle.Replace("## ", "").Replace(".", "").Replace("(", "").Replace(")", "").Replace(" ", "-")
|
||||
|
||||
$releaseTag = "${packageName}_${releaseVersion}"
|
||||
$key = "${packageName}:${releaseVersion}"
|
||||
|
||||
$releaseHighlights[$key] = @{}
|
||||
$releaseHighlights[$key]["PackageProperties"] = $packageProp
|
||||
$releaseHighlights[$key]["ChangelogUrl"] = "https://github.com/Azure/azure-sdk-for-${LanguageShort}/blob/${releaseTag}/sdk/${serviceDirectory}/${packageName}/CHANGELOG.md#${githubAnchor}"
|
||||
$releaseHighlights[$key]["Content"] = @()
|
||||
|
||||
$changeLogEntry.ReleaseContent | %{
|
||||
$releaseHighlights[$key]["Content"] += $_.Replace("###", "####")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $releaseHighlights
|
||||
Loading…
Reference in New Issue
Block a user