feat(autoversion): generate changelog HTML
This commit is contained in:
parent
d66a9e7c51
commit
c9cbbce3b2
@ -32,6 +32,10 @@ var Project.changelog: String
|
||||
get() = if (extra.has("changelog")) extra["changelog"].toString() else ""
|
||||
set(value) = extra.set("changelog", value)
|
||||
|
||||
var Project.changelogHtml: String
|
||||
get() = if (extra.has("changelogHtml")) extra["changelogHtml"].toString() else ""
|
||||
set(value) = extra.set("changelogHtml", value)
|
||||
|
||||
var Project.flavour: String
|
||||
get() = prop("flavour", "").trim()
|
||||
set(value) {
|
||||
|
@ -13,7 +13,10 @@ if (File(projectDir, ".git").exists()) {
|
||||
versionS = "0.0.0+notag"
|
||||
val tags: List<Tag> = git.getTags()
|
||||
if (tags.isNotEmpty()) {
|
||||
if (tags[0].fullMessage != null) changelog += "${tags[0].fullMessage}\n"
|
||||
if (tags[0].fullMessage != null) {
|
||||
changelog += "${tags[0].fullMessage}\n"
|
||||
changelogHtml += "<p>${tags[0].fullMessage}</p>\n"
|
||||
}
|
||||
versionS = tags[0].name
|
||||
lastRelease = versionS
|
||||
val parsedVersion = SemanticVersion.parse(versionS)
|
||||
@ -21,14 +24,15 @@ if (File(projectDir, ".git").exists()) {
|
||||
versionS = parsedVersion.unclassifiedToString()
|
||||
if (isRelease) {
|
||||
changelog += "Commits in ${versionType.displayName} $versionS:\n"
|
||||
changelog += git.log(if (tags.size >= 2) tags[1].peeledId else null, tags[0].peeledId)
|
||||
.reversed()
|
||||
.joinToString("\n") { "- ${it.shortMessage}" }
|
||||
val log = git.log(if (tags.size >= 2) tags[1].peeledId else null, tags[0].peeledId).reversed()
|
||||
changelog += log.joinToString("\n") { "- ${it.shortMessage}" }
|
||||
changelogHtml += "<ul>\n" + log.joinToString("") { " <li>${it.shortMessage}</li>\n" } + "</ul>"
|
||||
nextRelease = parsedVersion
|
||||
} else {
|
||||
changelog += "Commits after ${versionType.displayName} $versionS:\n"
|
||||
val log = git.log(tags[0].peeledId, git.repository.resolve("HEAD")).reversed()
|
||||
changelog += log.joinToString("\n") { "- ${it.shortMessage}" }
|
||||
changelogHtml += "<ul>\n" + log.joinToString("") { " <li>${it.shortMessage}</li>\n" } + "</ul>"
|
||||
val type = log.stream()
|
||||
.filter { !it.isMerge }
|
||||
.map { it.fullMessage }
|
||||
@ -39,9 +43,9 @@ if (File(projectDir, ".git").exists()) {
|
||||
}
|
||||
} else {
|
||||
changelog += "Commits after inception:\n"
|
||||
changelog += git.log().all().call()
|
||||
.reversed()
|
||||
.joinToString("\n") { "- ${it.shortMessage}" }
|
||||
val log = git.log().all().call().reversed()
|
||||
changelog += log.joinToString("\n") { "- ${it.shortMessage}" }
|
||||
changelogHtml += "<ul>\n" + log.joinToString("") { " <li>${it.shortMessage}</li>\n" } + "</ul>"
|
||||
}
|
||||
}
|
||||
} else changelog = "No changelog"
|
||||
|
Loading…
Reference in New Issue
Block a user