2 minutes to read
exportChangeLog
About This Task
As the name suggests, this task exports the changelog to be referenced from within your documentation, if needed.
The changelog is written to build/docs/changelog.adoc
.
This task can be configured to use a different source control system or a different directory.
To configure this task, copy template_config/scripts/ChangelogConfig.groovy
to your directory and modify to suit your needs.
Then use -PchangelogConfigFile=<your config file> to add the path to your configuration file to the task.
See the description inside the template for more details.
By default, the source is the Git changelog for the path src/docs
and only contains the commit messages for changes made to the documentation.
All changes to the build or other sources in the repository will not show up.
By default, the changelog contains changes made to date, author and commit message already formatted as AsciiDoc table content:
| 09.04.2017 | Ralf D. Mueller | fix #24 template updated to V7.0 | 08.04.2017 | Ralf D. Mueller | fixed typo
You simply include it like this:
.Changes [options="header",cols="1,2,6"] |==== | Date | Author | Comment include::../../build/docs/changelog.adoc[] |====
By excluding the table definition, you can easily translate the table headings through different text snippets.
Note
|
In a future docToolchain release, you will have the ability to include only certain commit messages from the changelog and exclude others (starting with # or // ?).
This feature is not available just yet.
|
Further Reading and Resources
The only constant in life is change blog post.
Source
Show source code of scripts/exportChangelog.gradle
or go directly to GitHub · docToolchain/scripts/exportChangelog.gradle.
task exportChangeLog(
description: 'exports the change log from a git subpath',
group: 'docToolchain'
) {
doFirst {
new File(targetDir).mkdirs()
}
doLast {
logger.info("docToolchain> docDir: "+docDir)
logger.info("docToolchain> mainConfigFile: "+mainConfigFile)
def config = new ConfigSlurper().parse(new File(docDir, mainConfigFile).text)
def cmd = "${config.changelog.cmd} ."
def changes = cmd.execute(null, new File(docDir, config.changelog.dir)).text
def changelog = new File(targetDir, 'changelog.adoc')
logger.info "> changelog exported ${changelog.canonicalPath}"
changelog.write(changes)
}
}
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.