Skip to content
This repository has been archived by the owner on Dec 5, 2024. It is now read-only.

Commit

Permalink
Fix missing newline between appended release notes
Browse files Browse the repository at this point in the history
  • Loading branch information
Larusso committed Aug 24, 2017
1 parent ba8dfb7 commit b618c0a
Show file tree
Hide file tree
Showing 2 changed files with 48 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ class ReleaseNotesGenerationIntegrationSpec extends GithubIntegrationWithDefault
def releaseNotes = createFile("RELEASE_NOTES.md")
releaseNotes << """
** FIRST RELEASE **
""".stripIndent()
""".stripIndent().trim()

and: "one release"
createRelease("0.0.1")
Expand All @@ -110,6 +110,24 @@ class ReleaseNotesGenerationIntegrationSpec extends GithubIntegrationWithDefault
!releaseNotes.text.contains("# [0.0.1 -")
}

def "append release notes seperated by empty line"() {
given: "a RELEASE_NOTES.md file"
def releaseNotes = createFile("RELEASE_NOTES.md")
releaseNotes << """
** FIRST RELEASE **
""".stripIndent().trim()

and: "one release"
createRelease("0.1.0")

when:
def result = runTasksSuccessfully("appendReleaseNotes")

then:
releaseNotes.text.normalize().contains("\n\n** FIRST RELEASE **")
releaseNotes.text.contains("# [0.1.0 -")
}

def "generate release notes with multiple releases"() {
given: "a RELEASE_NOTES.md file"
def releaseNotes = createFile("RELEASE_NOTES.md")
Expand Down Expand Up @@ -141,4 +159,31 @@ class ReleaseNotesGenerationIntegrationSpec extends GithubIntegrationWithDefault

releaseNotes.text =~ /(?s)(1\.2\.0).*(1\.1\.0).*(1\.0\.0)/
}

def "generate release notes ending with empty line"() {
given: "a RELEASE_NOTES.md file"
def releaseNotes = createFile("RELEASE_NOTES.md")
releaseNotes << """
** FIRST RELEASE **
""".stripIndent()

and: "logs"
git.commit(message: 'a change')
git.tag.add(name: "v1.0.0")
git.commit(message: 'a change')
git.tag.add(name: "v1.1.0")
git.commit(message: 'a change')
git.tag.add(name: "v1.2.0")

and: "some releases"
createRelease("1.0.0")
createRelease("1.1.0")
createRelease("1.2.0")

when:
def result = runTasksSuccessfully("generateReleaseNotes")

then:
releaseNotes.text.readLines().last() == ""
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -131,13 +131,12 @@ class GenerateReleaseNotes extends AbstractGithubTask {
File tempFile = File.createTempFile("releaseNotes_", "", notesFile.parentFile)
tempFile.deleteOnExit()
tempFile.append(notes)
tempFile.append(System.lineSeparator())
tempFile.append(System.lineSeparator())

if (getAppendLatestRelease()) {
tempFile.append(notesFile.newReader())
}
else {
tempFile.append("\n")
}

notesFile.delete()
tempFile.renameTo(notesFile)
Expand Down

0 comments on commit b618c0a

Please sign in to comment.