From 5a4defadab29ace322b1457cc0598c06c73a2f5c Mon Sep 17 00:00:00 2001 From: Jussi Pakkanen Date: Sun, 10 Mar 2019 16:28:57 +0200 Subject: Generate release notes from snippets automatically. [skip ci] --- docs/genrelnotes.py | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100755 docs/genrelnotes.py (limited to 'docs/genrelnotes.py') diff --git a/docs/genrelnotes.py b/docs/genrelnotes.py new file mode 100755 index 0000000..e5ff432 --- /dev/null +++ b/docs/genrelnotes.py @@ -0,0 +1,63 @@ +#!/usr/bin/env python3 + +# Copyright 2019 The Meson development team +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import sys, os, subprocess +from glob import glob + +relnote_template = '''--- +title: Release %s +short-description: Release notes for %s +... + +# New features + +''' + + +def add_to_sitemap(from_version, to_version): + sitemapfile = '../sitemap.txt' + sf = open(sitemapfile) + lines = sf.readlines() + sf.close() + with open(sitemapfile, 'w') as sf: + for line in lines: + if 'Release-notes' in line and from_version in line: + new_line = line.replace(from_version, to_version) + sf.write(new_line) + sf.write(line) + +def generate(from_version, to_version): + ofilename = 'Release-notes-for-%s.md' % to_version + with open(ofilename, 'w') as ofile: + ofile.write(relnote_template % (to_version, to_version)) + for snippetfile in glob('snippets/*.md'): + snippet = open(snippetfile).read() + ofile.write(snippet) + if not snippet.endswith('\n'): + ofile.write('\n') + ofile.write('\n') + subprocess.check_call(['git', 'rm', snippetfile]) + subprocess.check_call(['git', 'add', ofilename]) + add_to_sitemap(from_version, to_version) + +if __name__ == '__main__': + if len(sys.argv) != 3: + print(sys.argv[0], 'from_version to_version') + sys.exit(1) + from_version = sys.argv[1] + to_version = sys.argv[2] + os.chdir('markdown') + generate(from_version, to_version) -- cgit v1.1