Sync eng/common directory with azure-sdk-tools for PR 1633 (#2429)

* Update format of new Changelog Entry

* Add parsing of changelog sections

* Update ChangeLog Logic

Co-authored-by: Chidozie Ononiwu <chononiw@microsoft.com>
This commit is contained in:
Azure SDK Bot 2021-06-08 12:05:10 -07:00 committed by GitHub
parent 8f08d9c043
commit f9bf94d018
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -40,7 +40,6 @@ function Get-ChangeLogEntriesFromContent {
$changeLogEntries = [Ordered]@{}
try {
# walk the document, finding where the version specifiers are and creating lists
$changeLogEntry = $null
foreach ($line in $changeLogContent) {
if ($line -match $RELEASE_TITLE_REGEX) {
$changeLogEntry = [pscustomobject]@{
@ -48,11 +47,25 @@ function Get-ChangeLogEntriesFromContent {
ReleaseStatus = $matches["releaseStatus"]
ReleaseTitle = "## {0} {1}" -f $matches["version"], $matches["releaseStatus"]
ReleaseContent = @()
Sections = @{}
}
$changeLogEntries[$changeLogEntry.ReleaseVersion] = $changeLogEntry
}
else {
if ($changeLogEntry) {
if ($line.Trim() -match "^###\s(?<sectionName>.*)")
{
$sectionName = $matches["sectionName"].Trim()
$changeLogEntry.Sections[$sectionName] = @()
$changeLogEntry.ReleaseContent += $line
continue
}
if ($sectionName)
{
$changeLogEntry.Sections[$sectionName] += $line
}
$changeLogEntry.ReleaseContent += $line
}
}
@ -195,7 +208,19 @@ function New-ChangeLogEntry {
return $null
}
if (!$Content) { $Content = @() }
if (!$Content) {
$Content = @()
$Content += ""
$Content += "### Features Added"
$Content += ""
$Content += "### Breaking Changes"
$Content += ""
$Content += "### Key Bugs Fixed"
$Content += ""
$Content += "### Fixed"
$Content += ""
$Content += ""
}
$newChangeLogEntry = [pscustomobject]@{
ReleaseVersion = $Version