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