chiark / gitweb /
Merge branch 'support-xml-json-yaml-for-metadata' into 'master'
authorDaniel Martí <mvdan@mvdan.cc>
Tue, 1 Sep 2015 17:29:11 +0000 (17:29 +0000)
committerDaniel Martí <mvdan@mvdan.cc>
Tue, 1 Sep 2015 17:29:11 +0000 (17:29 +0000)
Support XML, JSON, and YAML for metadata

Add support for app metadata files in JSON, XML, and YAML data formats.  All of the formats use the exact same metadata tags, so there is no translation layer needed.  They all just parse the data into the same internal data format: Python dicts.  Supporting these standard formats will make it much easier for people to write recipes since they can choose a data format that they are familiar with.  It also makes it much easier to generate metadata programmatically, since there are good libraries for working with all three formats in basically every language (unlike FDroid's .txt format).

Here are the same tags in .txt, JSON, XML, and YAML:

    Source Code:https://github.com/SMSSecure/SMSSecure
    "Source Code": "https://github.com/SMSSecure/SMSSecure",
    <string name="Source Code">https://github.com/SMSSecure/SMSSecure</string>
    Source Code: https://github.com/SMSSecure/SMSSecure

Looking for comments, suggestions, flames, etc. from @CiaranG, @mvdan, and everyone else.

See merge request !57

buildserver/cookbooks/fdroidbuild-general/recipes/default.rb

index 0b98cc598d7967a66ac5664c6e3e16fee52c63cf..90c002e57fa46089ff0cdfcff4d0f42b0d684b69 100644 (file)
@@ -10,7 +10,7 @@ execute "apt-get-update" do
   command "apt-get update"
 end
 
-%w{ant ant-contrib autoconf autoconf2.13 automake1.11 autopoint bison bzr cmake curl expect faketime flex gettext git-core git-svn gperf graphviz imagemagick inkscape javacc libarchive-zip-perl librsvg2-bin libsaxonb-java libssl-dev libssl1.0.0 libtool make maven mercurial nasm openjdk-7-jdk optipng pandoc perlmagick pkg-config python python-gnupg python-magic python-setuptools python3-gnupg quilt realpath scons subversion swig texinfo transfig unzip vorbis-tools xsltproc yasm zip}.each do |pkg|
+%w{ant ant-contrib autoconf autoconf2.13 automake1.11 autopoint bison bzr cmake curl expect faketime flex gettext git-core git-svn gperf graphviz imagemagick inkscape javacc libarchive-zip-perl liblzma-dev librsvg2-bin libsaxonb-java libssl-dev libssl1.0.0 libtool make maven mercurial nasm openjdk-7-jdk optipng pandoc perlmagick pkg-config python python-gnupg python-magic python-setuptools python3-gnupg quilt realpath scons subversion swig texinfo transfig unzip vorbis-tools xsltproc yasm zip}.each do |pkg|
   package pkg do
     action :install
   end