aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2011-11-18 01:18:12 +0000
committerDavid Robillard <d@drobilla.net>2011-11-18 01:18:12 +0000
commit1180249596c09353c7e093d7c025e627cf26e0ab (patch)
treec6f6da3c6a951d61f984ac040ed7161ce10fcb83
parent6fde4cff5c0cce1d20be93407d8d3a28c12a459e (diff)
downloadlv2-1180249596c09353c7e093d7c025e627cf26e0ab.tar.xz
Improve DOAP metadata.
Add function to generate NEWS file from DOAP metadata.
-rw-r--r--core.lv2/lv2-doap.ttl40
-rw-r--r--core.lv2/wscript43
2 files changed, 69 insertions, 14 deletions
diff --git a/core.lv2/lv2-doap.ttl b/core.lv2/lv2-doap.ttl
index bbd093b..f01eadb 100644
--- a/core.lv2/lv2-doap.ttl
+++ b/core.lv2/lv2-doap.ttl
@@ -3,6 +3,19 @@
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+<http://plugin.org.uk/swh.xrdf#me>
+ a foaf:Person ;
+ foaf:name "Steve Harris" ;
+ foaf:homepage <http://plugin.org.uk/> ;
+ rdfs:seeAlso <http://plugin.org.uk/swh.xrdf> .
+
+<http://drobilla.net/drobilla#me>
+ a foaf:Person ;
+ foaf:name "David Robillard" ;
+ foaf:homepage <http://drobilla.net/> ;
+ foaf:mbox <mailto:d@drobilla.net> ;
+ rdfs:seeAlso <http://drobilla.net/drobilla> .
+
<http://lv2plug.in/ns/lv2core>
a doap:Project ;
doap:license <http://opensource.org/licenses/isc> ;
@@ -13,9 +26,10 @@
doap:programming-language "C" ;
doap:release [
doap:revision "4.1" ;
+ dcs:blame <http://drobilla.net/drobilla#me> ;
dcs:changeset [
dcs:item [
- rdfs:label "Add lv2:extensionData and lv2:ExtensionData for plugins to indicate that they support some URI for LV2_Descriptor::extension_data."
+ rdfs:label "Add lv2:extensionData and lv2:ExtensionData for plugins to indicate that they support some URI for extension_data()."
] , [
rdfs:label "Remove lv2config in favour of the convention that extension bundles simply install headers to standard URI-like include paths."
] , [
@@ -26,6 +40,7 @@
doap:revision "4.0" ;
doap:created "2011-03-18" ;
doap:file-release <http://lv2plug.in/spec/lv2core-4.0.tar.bz2> ;
+ dcs:blame <http://drobilla.net/drobilla#me> ;
dcs:changeset [
dcs:item [
rdfs:label "Make doap:license suggested, but not required (for wrappers)."
@@ -59,6 +74,7 @@
doap:revision "3.0" ;
doap:created "2008-11-08" ;
doap:file-release <http://lv2plug.in/spec/lv2core-3.0.tar.bz2> ;
+ dcs:blame <http://drobilla.net/drobilla#me> ;
dcs:changeset [
dcs:item [
rdfs:label "Require that serialisations refer to ports by symbol rather than index."
@@ -71,16 +87,14 @@
] , [
doap:revision "2.0" ;
doap:created "2008-02-10" ;
- doap:file-release <http://lv2plug.in/spec/lv2core-2.0.tar.gz>
+ doap:file-release <http://lv2plug.in/spec/lv2core-2.0.tar.gz> ;
+ dcs:blame <http://drobilla.net/drobilla#me> ;
+ dcs:changeset [
+ dcs:item [
+ rdfs:label "Initial packaging."
+ ]
+ ]
] ;
- doap:maintainer [
- a foaf:Person ;
- foaf:name "Steve Harris" ;
- foaf:homepage <http://plugin.org.uk/> ;
- rdfs:seeAlso <http://plugin.org.uk/swh.xrdf>
- ] , [
- a foaf:Person ;
- foaf:name "David Robillard" ;
- foaf:homepage <http://drobilla.net/> ;
- rdfs:seeAlso <http://drobilla.net/drobilla.rdf>
- ] .
+ doap:developer <http://plugin.org.uk/swh.xrdf#me> ,
+ <http://drobilla.net/drobilla#me> ;
+ doap:maintainer <http://drobilla.net/drobilla#me> .
diff --git a/core.lv2/wscript b/core.lv2/wscript
index 2831a5e..d57985f 100644
--- a/core.lv2/wscript
+++ b/core.lv2/wscript
@@ -1,6 +1,5 @@
#!/usr/bin/env python
import os
-import sys
from waflib.extras import autowaf as autowaf
import waflib.Options as Options
@@ -33,6 +32,48 @@ def configure(conf):
autowaf.display_msg(conf, "LV2 bundle directory", conf.env['LV2DIR'])
print('')
+def write_news(bld):
+ import rdflib
+ import textwrap
+ from time import strftime, strptime
+
+ doap = rdflib.Namespace('http://usefulinc.com/ns/doap#')
+ dcs = rdflib.Namespace('http://ontologi.es/doap-changeset#')
+ rdfs = rdflib.Namespace('http://www.w3.org/2000/01/rdf-schema#')
+ foaf = rdflib.Namespace('http://xmlns.com/foaf/0.1/')
+ rdf = rdflib.Namespace('http://www.w3.org/1999/02/22-rdf-syntax-ns#')
+
+ m = rdflib.ConjunctiveGraph()
+ m.parse('lv2-doap.ttl', format='n3')
+ spec = m.value(None, rdf.type, doap.Project)
+
+ entries = {}
+ for r in m.triples([spec, doap.release, None]):
+ release = r[2]
+ revision = m.value(release, doap.revision, None) or '9999'
+ date = m.value(release, doap.created, None) or '9999-01-01'
+ blamee = m.value(release, dcs.blame, None)
+ changeset = m.value(release, dcs.changeset, None)
+
+ entry = '%s (%s) stable;\n' % (APPNAME, revision)
+
+ if changeset:
+ for i in m.triples([changeset, dcs.item, None]):
+ entry += '\n * ' + '\n '.join(
+ textwrap.wrap(m.value(i[2], rdfs.label, None), width=79))
+
+ entry += '\n\n -- %s <%s> %s\n\n' % (
+ m.value(blamee, foaf.name, None),
+ m.value(blamee, foaf.mbox, None).replace('mailto:', ''),
+ strftime('%a, %d %b %Y %H:%M:%S +0000', strptime(date, '%Y-%m-%d')))
+
+ entries[revision] = entry
+
+ news = open('NEWS', 'w')
+ for e in sorted(entries.keys(), reverse=True):
+ news.write(entries[e])
+ news.close()
+
def build(bld):
# Header "library"
obj = bld(export_includes = ['.'],