[meld/meld-3-20] maint: Support adding appstream release data
- From: Kai Willadsen <kaiw src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [meld/meld-3-20] maint: Support adding appstream release data
- Date: Sat, 30 Mar 2019 21:57:49 +0000 (UTC)
commit c9887e9bd6a79ac394c96b6fca98169e744b79ee
Author: Kai Willadsen <kai willadsen gmail com>
Date: Sun Mar 31 07:42:59 2019 +1000
maint: Support adding appstream release data
maint | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 file changed, 57 insertions(+), 2 deletions(-)
---
diff --git a/maint b/maint
index 6b70368a..31ad25f0 100755
--- a/maint
+++ b/maint
@@ -42,6 +42,26 @@ NEWS_TEMPLATE = """
"""
+APPDATA_TEMPLATE = """
+ <release date="{{ utcdate }}" version="{{ version }}">
+ <description>
+ <p>
+ {%- if stable_release %}
+ This is a stable release in the {{ release_series }} series.
+ {%- else %}
+ This is an unstable release in the {{ release_series }} development series.
+ {%- endif %}
+ </p>
+ <ul>
+ <li></li>
+ {%- if translator_langs %}
+ <li>Updated translations</li>
+ {%- endif %}
+ </ul>
+ </description>
+ </release>
+"""
+
EMAIL_TEMPLATE = """
{{ app|title }} {{version}} has been released, and is now available at:
https://download.gnome.org/sources/meld/{{ version|minor_version }}/{{ app }}-{{ version }}.tar.xz
@@ -223,10 +243,19 @@ def make_env():
def get_tokens():
news = get_last_news_entry()
features, fixes, translators = parse_news_entry(news)
+ version = meld.conf.__version__
+ major, minor, *release = version.split('.')
+ stable_release = int(minor) % 2 == 0
+ release_series = '{}.{}'.format(major, minor)
+
return {
'date': datetime.date.today().isoformat(),
+ # Appstream appears to expect release dates in UTC.
+ 'utcdate': datetime.datetime.utcnow().date().isoformat(),
'app': meld.conf.__package__,
- 'version': meld.conf.__version__,
+ 'version': version,
+ 'release_series': release_series,
+ 'stable_release': stable_release,
'translator_langs': get_translator_langs(),
'features': features,
'fixes': fixes,
@@ -388,6 +417,31 @@ def news():
return message
+@cli.command()
+def appdata():
+ filename = 'data/org.gnome.meld.appdata.xml.in'
+
+ rendered = render_template(APPDATA_TEMPLATE)
+ with open(filename, 'r') as f:
+ appdata = f.read()
+
+ insert_tag = '<releases>'
+ insert_idx = appdata.find(insert_tag)
+ if insert_idx == -1:
+ click.echo('Failed to find <releases> tag in appdata')
+ raise click.Abort()
+
+ insert_idx += len(insert_tag)
+
+ new_appdata = appdata[:insert_idx] + rendered + appdata[insert_idx:]
+
+ with open(filename, 'w') as f:
+ f.write(new_appdata)
+
+ message = click.edit(filename=filename)
+ return message
+
+
def write_somewhere(filename, output):
if filename and os.path.exists(filename):
overwrite = click.confirm(
@@ -564,7 +618,8 @@ def appveyor_build(account, tag):
def make_release(ctx):
pull()
ctx.forward(news)
- commit(message='Update NEWS')
+ ctx.forward(appdata)
+ commit(message='Update NEWS + appdata')
push()
archive_path = ctx.forward(dist)
ctx.forward(tag)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]