parent
7589471978
commit
5a4defadab
4 changed files with 65 additions and 26 deletions
@ -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) |
@ -1,25 +0,0 @@ |
||||
--- |
||||
title: Release 0.50 |
||||
short-description: Release notes for 0.49 (preliminary) |
||||
... |
||||
|
||||
# New features |
||||
|
||||
This page is a placeholder for the eventual release notes. |
||||
|
||||
Notable new features should come with release note updates. This is |
||||
done by creating a file snippet called `snippets/featurename.md` and |
||||
whose contents should look like this: |
||||
|
||||
## Feature name |
||||
|
||||
A short description explaining the new feature and how it should be used. |
||||
|
||||
## custom_target: install no longer overrides build_by_default |
||||
|
||||
Earlier, if `build_by_default` was set to false and `install` was set to true in |
||||
a `custom_target`, `install` would override it and the `custom_target` would |
||||
always be built by default. |
||||
Now if `build_by_default` is explicitly set to false it will no longer be |
||||
overridden. If `build_by_default` is not set, its default will still be |
||||
determined by the value of `install` for greater backward compatibility. |
Loading…
Reference in new issue