diff --git a/metadata/com.willianveiga.countdowntimer.txt b/metadata/com.willianveiga.countdowntimer.txt
deleted file mode 100644
index 1b6424748c..0000000000
--- a/metadata/com.willianveiga.countdowntimer.txt
+++ /dev/null
@@ -1,40 +0,0 @@
-Categories:Time
-License:GPL-3.0-or-later
-Web Site:
-Source Code:https://github.com/willianveiga/CountdownTimer
-Issue Tracker:https://github.com/willianveiga/CountdownTimer/issues
-FlattrID:4151034
-
-Auto Name:Countdown Timer
-Summary:Set up a countdown timer
-Description:
-A simple countdown timer.
-.
-
-Repo Type:git
-Repo:https://github.com/willianveiga/CountdownTimer.git
-
-Build:1.0,1
-    commit=v1.0
-    subdir=app
-    gradle=yes
-
-Build:1.1,2
-    commit=v1.1
-    subdir=app
-    gradle=yes
-
-Build:1.1.1,3
-    commit=v1.1.1
-    subdir=app
-    gradle=yes
-
-Build:1.2.0,4
-    commit=v1.2.0
-    subdir=app
-    gradle=yes
-
-Auto Update Mode:Version v%v
-Update Check Mode:Tags
-Current Version:1.2.0
-Current Version Code:4
diff --git a/metadata/com.willianveiga.countdowntimer.yml b/metadata/com.willianveiga.countdowntimer.yml
new file mode 100644
index 0000000000..78e67d46d8
--- /dev/null
+++ b/metadata/com.willianveiga.countdowntimer.yml
@@ -0,0 +1,47 @@
+Categories:
+  - Time
+License: GPL-3.0-or-later
+SourceCode: https://github.com/willianveiga/CountdownTimer
+IssueTracker: https://github.com/willianveiga/CountdownTimer/issues
+FlattrID: '4151034'
+
+AutoName: Countdown Timer
+Summary: Set up a countdown timer
+Description: A simple countdown timer.
+
+RepoType: git
+Repo: https://github.com/willianveiga/CountdownTimer.git
+
+Builds:
+  - versionName: '1.0'
+    versionCode: 1
+    commit: v1.0
+    subdir: app
+    gradle:
+      - yes
+
+  - versionName: '1.1'
+    versionCode: 2
+    commit: v1.1
+    subdir: app
+    gradle:
+      - yes
+
+  - versionName: 1.1.1
+    versionCode: 3
+    commit: v1.1.1
+    subdir: app
+    gradle:
+      - yes
+
+  - versionName: 1.2.0
+    versionCode: 4
+    commit: v1.2.0
+    subdir: app
+    gradle:
+      - yes
+
+AutoUpdateMode: Version v%v
+UpdateCheckMode: Tags
+CurrentVersion: 1.2.0
+CurrentVersionCode: 4
diff --git a/metadata/com.wireguard.android.txt b/metadata/com.wireguard.android.txt
deleted file mode 100644
index f77048b27b..0000000000
--- a/metadata/com.wireguard.android.txt
+++ /dev/null
@@ -1,254 +0,0 @@
-Categories:Security,System,Connectivity,Internet
-License:GPL-2.0-or-later
-Web Site:https://www.wireguard.com/
-Source Code:https://git.zx2c4.com/wireguard-android/
-Issue Tracker:https://lists.zx2c4.com/mailman/listinfo/wireguard
-Donate:https://www.wireguard.com/donations/
-Bitcoin:1ASnTs4UjXKR8tHnLi9yG42n42hbFYV2um
-
-Auto Name:WireGuard
-Summary:Next generation secure VPN network tunnel
-Description:
-WireGuard is a next generation secure network tunnel protocol. This application
-allows users to connect to WireGuard tunnels. More information may be found on
-the [https://www.wireguard.com project webpage].
-
-If your device has a custom kernel containing the WireGuard module, then the
-module will be used for superior battery life and performance. Otherwise a
-userspace version will work sufficiently on all other devices.
-.
-
-Repo Type:git
-Repo:https://git.zx2c4.com/wireguard-android/
-
-Build:0.0.20180521,414
-    commit=0.0.20180521
-    subdir=app
-    submodules=yes
-    gradle=yes
-    ndk=r16b
-
-Build:0.0.20180523,415
-    commit=0.0.20180523
-    subdir=app
-    submodules=yes
-    gradle=yes
-    ndk=r16b
-
-Build:0.0.20180524,416
-    commit=0.0.20180524
-    subdir=app
-    submodules=yes
-    gradle=yes
-    ndk=r16b
-
-Build:0.0.20180526,417
-    commit=0.0.20180526
-    subdir=app
-    submodules=yes
-    gradle=yes
-    ndk=r16b
-
-Build:0.0.20180529,419
-    commit=0.0.20180529
-    subdir=app
-    submodules=yes
-    gradle=yes
-    ndk=r16b
-
-Build:0.0.20180601,420
-    commit=0.0.20180601
-    subdir=app
-    submodules=yes
-    gradle=yes
-    ndk=r16b
-
-Build:0.0.20180604,421
-    commit=0.0.20180604
-    subdir=app
-    submodules=yes
-    gradle=yes
-    ndk=r16b
-
-Build:0.0.20180605,422
-    commit=0.0.20180605
-    subdir=app
-    submodules=yes
-    gradle=yes
-    ndk=r16b
-
-Build:0.0.20180606,423
-    commit=0.0.20180606
-    subdir=app
-    submodules=yes
-    gradle=yes
-    ndk=r16b
-
-Build:0.0.20180612,424
-    commit=0.0.20180612
-    subdir=app
-    submodules=yes
-    gradle=yes
-    ndk=r16b
-
-Build:0.0.20180616,426
-    disable=Fetched in submodule path 'app/tools/wireguard', but it did not contain 6a2cfa9bee43573f5c3c9d25f69821c4fbb336cd
-    commit=0.0.20180616
-    subdir=app
-    submodules=yes
-    gradle=yes
-    ndk=r16b
-
-Build:0.0.20180625,427
-    disable=Fetched in submodule path 'app/tools/wireguard', but it did not contain e1167518ff41ae9ee21a3e90c7959be2867c3636
-    commit=0.0.20180625
-    subdir=app
-    submodules=yes
-    gradle=yes
-    ndk=r16b
-
-Build:0.0.20180706,429
-    commit=0.0.20180706
-    subdir=app
-    submodules=yes
-    gradle=yes
-    ndk=r16b
-
-Build:0.0.20180711,432
-    commit=0.0.20180711
-    subdir=app
-    submodules=yes
-    gradle=yes
-    ndk=r16b
-
-Build:0.0.20180716,433
-    commit=0.0.20180716
-    subdir=app
-    submodules=yes
-    gradle=yes
-    ndk=r16b
-
-Build:0.0.20180718,434
-    commit=0.0.20180718
-    subdir=app
-    submodules=yes
-    gradle=yes
-    ndk=r16b
-
-Build:0.0.20180720,435
-    commit=0.0.20180720
-    subdir=app
-    submodules=yes
-    gradle=yes
-    ndk=r16b
-
-Build:0.0.20180724,436
-    commit=0.0.20180724
-    subdir=app
-    submodules=yes
-    gradle=yes
-    ndk=r16b
-
-Build:0.0.20180725,437
-    commit=0.0.20180725
-    subdir=app
-    submodules=yes
-    gradle=yes
-    ndk=r16b
-
-Build:0.0.20180729,438
-    commit=0.0.20180729
-    subdir=app
-    submodules=yes
-    gradle=yes
-    ndk=r16b
-
-Build:0.0.20180826,439
-    commit=0.0.20180826
-    subdir=app
-    submodules=yes
-    gradle=yes
-    ndk=r16b
-
-Build:0.0.20181001,441
-    disable=Fetched in submodule path 'app/tools/wireguard', but it did not contain 36c4f1047ed51d7dd4128ff4ceb837a56470646c
-    commit=0.0.20181001
-    subdir=app
-    submodules=yes
-    gradle=yes
-    ndk=r16b
-
-Build:0.0.20181031,442
-    commit=0.0.20181031
-    subdir=app
-    submodules=yes
-    gradle=yes
-    ndk=r16b
-
-Build:0.0.20181103,443
-    commit=0.0.20181103
-    subdir=app
-    submodules=yes
-    gradle=yes
-    ndk=r16b
-
-Build:0.0.20181207,444
-    commit=0.0.20181207
-    subdir=app
-    submodules=yes
-    gradle=yes
-    ndk=r16b
-
-Build:0.0.20181210,445
-    commit=0.0.20181210
-    subdir=app
-    submodules=yes
-    gradle=yes
-    ndk=r16b
-
-Build:0.0.20181218,446
-    commit=0.0.20181218
-    subdir=app
-    submodules=yes
-    gradle=yes
-    ndk=r16b
-
-Build:0.0.20190215,447
-    commit=0.0.20190215
-    subdir=app
-    submodules=yes
-    gradle=yes
-    ndk=r16b
-
-Build:0.0.20190307,448
-    commit=0.0.20190307
-    subdir=app
-    submodules=yes
-    gradle=yes
-    ndk=r16b
-
-Build:0.0.20190319,449
-    commit=0.0.20190319
-    subdir=app
-    submodules=yes
-    gradle=yes
-    ndk=r16b
-
-Build:0.0.20190605,450
-    commit=0.0.20190605
-    subdir=app
-    submodules=yes
-    gradle=yes
-    ndk=r16b
-
-Build:0.0.20190708,451
-    commit=0.0.20190708
-    subdir=app
-    submodules=yes
-    gradle=yes
-    ndk=r16b
-
-Auto Update Mode:Version %v
-Update Check Mode:Tags
-Current Version:0.0.20190708
-Current Version Code:451
diff --git a/metadata/com.wireguard.android.yml b/metadata/com.wireguard.android.yml
new file mode 100644
index 0000000000..e487602e19
--- /dev/null
+++ b/metadata/com.wireguard.android.yml
@@ -0,0 +1,325 @@
+Categories:
+  - Security
+  - System
+  - Connectivity
+  - Internet
+License: GPL-2.0-or-later
+WebSite: https://www.wireguard.com/
+SourceCode: https://git.zx2c4.com/wireguard-android/
+IssueTracker: https://lists.zx2c4.com/mailman/listinfo/wireguard
+Donate: https://www.wireguard.com/donations/
+Bitcoin: 1ASnTs4UjXKR8tHnLi9yG42n42hbFYV2um
+
+AutoName: WireGuard
+Summary: Next generation secure VPN network tunnel
+Description: |-
+    WireGuard is a next generation secure network tunnel protocol. This application
+    allows users to connect to WireGuard tunnels. More information may be found on
+    the [https://www.wireguard.com project webpage].
+
+    If your device has a custom kernel containing the WireGuard module, then the
+    module will be used for superior battery life and performance. Otherwise a
+    userspace version will work sufficiently on all other devices.
+
+RepoType: git
+Repo: https://git.zx2c4.com/wireguard-android/
+
+Builds:
+  - versionName: 0.0.20180521
+    versionCode: 414
+    commit: 0.0.20180521
+    subdir: app
+    submodules: true
+    gradle:
+      - yes
+    ndk: r16b
+
+  - versionName: 0.0.20180523
+    versionCode: 415
+    commit: 0.0.20180523
+    subdir: app
+    submodules: true
+    gradle:
+      - yes
+    ndk: r16b
+
+  - versionName: 0.0.20180524
+    versionCode: 416
+    commit: 0.0.20180524
+    subdir: app
+    submodules: true
+    gradle:
+      - yes
+    ndk: r16b
+
+  - versionName: 0.0.20180526
+    versionCode: 417
+    commit: 0.0.20180526
+    subdir: app
+    submodules: true
+    gradle:
+      - yes
+    ndk: r16b
+
+  - versionName: 0.0.20180529
+    versionCode: 419
+    commit: 0.0.20180529
+    subdir: app
+    submodules: true
+    gradle:
+      - yes
+    ndk: r16b
+
+  - versionName: 0.0.20180601
+    versionCode: 420
+    commit: 0.0.20180601
+    subdir: app
+    submodules: true
+    gradle:
+      - yes
+    ndk: r16b
+
+  - versionName: 0.0.20180604
+    versionCode: 421
+    commit: 0.0.20180604
+    subdir: app
+    submodules: true
+    gradle:
+      - yes
+    ndk: r16b
+
+  - versionName: 0.0.20180605
+    versionCode: 422
+    commit: 0.0.20180605
+    subdir: app
+    submodules: true
+    gradle:
+      - yes
+    ndk: r16b
+
+  - versionName: 0.0.20180606
+    versionCode: 423
+    commit: 0.0.20180606
+    subdir: app
+    submodules: true
+    gradle:
+      - yes
+    ndk: r16b
+
+  - versionName: 0.0.20180612
+    versionCode: 424
+    commit: 0.0.20180612
+    subdir: app
+    submodules: true
+    gradle:
+      - yes
+    ndk: r16b
+
+  - versionName: 0.0.20180616
+    versionCode: 426
+    disable: Fetched in submodule path 'app/tools/wireguard', but it did not contain
+        6a2cfa9bee43573f5c3c9d25f69821c4fbb336cd
+    commit: 0.0.20180616
+    subdir: app
+    submodules: true
+    gradle:
+      - yes
+    ndk: r16b
+
+  - versionName: 0.0.20180625
+    versionCode: 427
+    disable: Fetched in submodule path 'app/tools/wireguard', but it did not contain
+        e1167518ff41ae9ee21a3e90c7959be2867c3636
+    commit: 0.0.20180625
+    subdir: app
+    submodules: true
+    gradle:
+      - yes
+    ndk: r16b
+
+  - versionName: 0.0.20180706
+    versionCode: 429
+    commit: 0.0.20180706
+    subdir: app
+    submodules: true
+    gradle:
+      - yes
+    ndk: r16b
+
+  - versionName: 0.0.20180711
+    versionCode: 432
+    commit: 0.0.20180711
+    subdir: app
+    submodules: true
+    gradle:
+      - yes
+    ndk: r16b
+
+  - versionName: 0.0.20180716
+    versionCode: 433
+    commit: 0.0.20180716
+    subdir: app
+    submodules: true
+    gradle:
+      - yes
+    ndk: r16b
+
+  - versionName: 0.0.20180718
+    versionCode: 434
+    commit: 0.0.20180718
+    subdir: app
+    submodules: true
+    gradle:
+      - yes
+    ndk: r16b
+
+  - versionName: 0.0.20180720
+    versionCode: 435
+    commit: 0.0.20180720
+    subdir: app
+    submodules: true
+    gradle:
+      - yes
+    ndk: r16b
+
+  - versionName: 0.0.20180724
+    versionCode: 436
+    commit: 0.0.20180724
+    subdir: app
+    submodules: true
+    gradle:
+      - yes
+    ndk: r16b
+
+  - versionName: 0.0.20180725
+    versionCode: 437
+    commit: 0.0.20180725
+    subdir: app
+    submodules: true
+    gradle:
+      - yes
+    ndk: r16b
+
+  - versionName: 0.0.20180729
+    versionCode: 438
+    commit: 0.0.20180729
+    subdir: app
+    submodules: true
+    gradle:
+      - yes
+    ndk: r16b
+
+  - versionName: 0.0.20180826
+    versionCode: 439
+    commit: 0.0.20180826
+    subdir: app
+    submodules: true
+    gradle:
+      - yes
+    ndk: r16b
+
+  - versionName: 0.0.20181001
+    versionCode: 441
+    disable: Fetched in submodule path 'app/tools/wireguard', but it did not contain
+        36c4f1047ed51d7dd4128ff4ceb837a56470646c
+    commit: 0.0.20181001
+    subdir: app
+    submodules: true
+    gradle:
+      - yes
+    ndk: r16b
+
+  - versionName: 0.0.20181031
+    versionCode: 442
+    commit: 0.0.20181031
+    subdir: app
+    submodules: true
+    gradle:
+      - yes
+    ndk: r16b
+
+  - versionName: 0.0.20181103
+    versionCode: 443
+    commit: 0.0.20181103
+    subdir: app
+    submodules: true
+    gradle:
+      - yes
+    ndk: r16b
+
+  - versionName: 0.0.20181207
+    versionCode: 444
+    commit: 0.0.20181207
+    subdir: app
+    submodules: true
+    gradle:
+      - yes
+    ndk: r16b
+
+  - versionName: 0.0.20181210
+    versionCode: 445
+    commit: 0.0.20181210
+    subdir: app
+    submodules: true
+    gradle:
+      - yes
+    ndk: r16b
+
+  - versionName: 0.0.20181218
+    versionCode: 446
+    commit: 0.0.20181218
+    subdir: app
+    submodules: true
+    gradle:
+      - yes
+    ndk: r16b
+
+  - versionName: 0.0.20190215
+    versionCode: 447
+    commit: 0.0.20190215
+    subdir: app
+    submodules: true
+    gradle:
+      - yes
+    ndk: r16b
+
+  - versionName: 0.0.20190307
+    versionCode: 448
+    commit: 0.0.20190307
+    subdir: app
+    submodules: true
+    gradle:
+      - yes
+    ndk: r16b
+
+  - versionName: 0.0.20190319
+    versionCode: 449
+    commit: 0.0.20190319
+    subdir: app
+    submodules: true
+    gradle:
+      - yes
+    ndk: r16b
+
+  - versionName: 0.0.20190605
+    versionCode: 450
+    commit: 0.0.20190605
+    subdir: app
+    submodules: true
+    gradle:
+      - yes
+    ndk: r16b
+
+  - versionName: 0.0.20190708
+    versionCode: 451
+    commit: 0.0.20190708
+    subdir: app
+    submodules: true
+    gradle:
+      - yes
+    ndk: r16b
+
+AutoUpdateMode: Version %v
+UpdateCheckMode: Tags
+CurrentVersion: 0.0.20190708
+CurrentVersionCode: 451
diff --git a/metadata/com.wmstein.tourcount.txt b/metadata/com.wmstein.tourcount.txt
deleted file mode 100644
index 9ec09d1074..0000000000
--- a/metadata/com.wmstein.tourcount.txt
+++ /dev/null
@@ -1,161 +0,0 @@
-Categories:Science & Education
-License:Apache-2.0
-Web Site:
-Source Code:https://github.com/wistein/TourCount
-Issue Tracker:https://github.com/wistein/TourCount/issues
-
-Auto Name:TourCount
-Summary:Species-specific counting of butterflies in nature
-Description:
-TourCount is an application that supports species-specific counting of
-butterflies in nature.
-
-The integrated database is organized according to a tour in nature with its
-expected butterfly species. That means, a new (importable and prepared) basic
-database instance will be used per tour.
-
-Databases can be individually created and adapted regarding meta data and
-expected butterfly species. The recorded data (counts, data and remarks) may
-either be read on the smartphone or exported in SQLite- or CSV-format and
-transferred to a PC for your own processing, e.g. by importing a csv-file into
-MS Excel.
-
-The app demands for storage access permit which is needed for im-/exporting the
-counting data, GPS permit for location info per count and the permit to prevent
-the phone from sleeping (to control the counting screen when used under Android
-5.0.1 or newer).
-.
-
-Repo Type:git
-Repo:https://github.com/wistein/TourCount.git
-
-Build:2.0.7,207
-    commit=0c3d71e8e492d02acdee775a7a5f3bb71e543b3a
-    gradle=yes
-
-Build:2.1.1,211
-    commit=74458f36447acc9d3d892d911ec3bc27afa52432
-    gradle=yes
-    prebuild=sed -i 's/mavenCentral/jcenter/' build.gradle
-
-Build:2.1.3,213
-    commit=32b3860690a69237aa055e6b4bd759bd82e075c3
-    gradle=yes
-    prebuild=sed -i 's/mavenCentral/jcenter/' build.gradle
-
-Build:2.1.4,214
-    commit=2.1.4
-    gradle=yes
-    prebuild=sed -i 's/mavenCentral/jcenter/' build.gradle
-
-Build:2.1.5,215
-    commit=2.1.5
-    gradle=yes
-    prebuild=mkdir -p gradle/wrapper && \
-        echo -e 'distributionUrl=https://services.gradle.org/distributions/gradle-3.3-bin.zip' > gradle/wrapper/gradle-wrapper.properties
-
-Build:2.1.6,216
-    commit=2.1.6
-    gradle=yes
-    prebuild=mkdir -p gradle/wrapper && \
-        echo -e 'distributionUrl=https://services.gradle.org/distributions/gradle-3.3-bin.zip' > gradle/wrapper/gradle-wrapper.properties
-
-Build:2.1.7,217
-    commit=2.1.7
-    gradle=yes
-    prebuild=mkdir -p gradle/wrapper && \
-        echo -e 'distributionUrl=https://services.gradle.org/distributions/gradle-3.3-bin.zip' > gradle/wrapper/gradle-wrapper.properties
-
-Build:2.1.7,218
-    commit=2.1.8
-    gradle=yes
-    prebuild=mkdir -p gradle/wrapper && \
-        echo -e 'distributionUrl=https://services.gradle.org/distributions/gradle-3.3-bin.zip' > gradle/wrapper/gradle-wrapper.properties
-
-Build:2.1.9,219
-    commit=2.1.9
-    gradle=yes
-    prebuild=mkdir -p gradle/wrapper && \
-        echo -e 'distributionUrl=https://services.gradle.org/distributions/gradle-3.3-bin.zip' > gradle/wrapper/gradle-wrapper.properties
-
-Build:2.3.0,230
-    commit=2.3.0
-    gradle=yes
-    prebuild=mkdir -p gradle/wrapper && \
-        echo -e 'distributionUrl=https://services.gradle.org/distributions/gradle-3.3-bin.zip' > gradle/wrapper/gradle-wrapper.properties
-
-Build:2.3.2,232
-    disable=Could not find com.android.tools.build:gradle:3.0.1
-    commit=2.3.2
-    gradle=yes
-
-Build:2.4.2,242
-    disable=Could not find com.android.tools.build:gradle:3.0.1
-    commit=2.4.2
-    gradle=yes
-
-Build:2.4.4,244
-    disable=Task 'clean' not found in root project
-    commit=2.4.4
-    gradle=yes
-
-Build:2.4.5,245
-    commit=2.4.5
-    subdir=tourcount
-    gradle=yes
-
-Build:2.4.6,246
-    commit=2.4.6
-    subdir=tourcount
-    gradle=yes
-
-Build:3.0.1,301
-    commit=3.0.1
-    subdir=tourcount
-    gradle=yes
-
-Build:3.0.3,303
-    commit=3.0.3
-    subdir=tourcount
-    gradle=yes
-
-Build:3.0.4,304
-    commit=3.0.4
-    subdir=tourcount
-    gradle=yes
-
-Build:3.0.4,305
-    commit=3.0.5
-    subdir=tourcount
-    gradle=yes
-
-Build:3.0.4,306
-    disable=Unexpected version/version code in output; APK: '3.0.4' / '304',  Expected: '3.0.4' / '306'
-    commit=3.0.4
-    subdir=tourcount
-    gradle=yes
-
-Build:3.0.7,307
-    commit=3.0.7
-    subdir=tourcount
-    gradle=yes
-
-Build:3.0.8,308
-    commit=3.0.8
-    subdir=tourcount
-    gradle=yes
-
-Build:3.1.0,310
-    commit=3.1.0
-    subdir=tourcount
-    gradle=yes
-
-Build:3.1.1,311
-    commit=3.1.1
-    subdir=tourcount
-    gradle=yes
-
-Auto Update Mode:Version %v
-Update Check Mode:Tags
-Current Version:3.1.1
-Current Version Code:311
diff --git a/metadata/com.wmstein.tourcount.yml b/metadata/com.wmstein.tourcount.yml
new file mode 100644
index 0000000000..3ac52439bf
--- /dev/null
+++ b/metadata/com.wmstein.tourcount.yml
@@ -0,0 +1,222 @@
+Categories:
+  - Science & Education
+License: Apache-2.0
+SourceCode: https://github.com/wistein/TourCount
+IssueTracker: https://github.com/wistein/TourCount/issues
+
+AutoName: TourCount
+Summary: Species-specific counting of butterflies in nature
+Description: |-
+    TourCount is an application that supports species-specific counting of
+    butterflies in nature.
+
+    The integrated database is organized according to a tour in nature with its
+    expected butterfly species. That means, a new (importable and prepared) basic
+    database instance will be used per tour.
+
+    Databases can be individually created and adapted regarding meta data and
+    expected butterfly species. The recorded data (counts, data and remarks) may
+    either be read on the smartphone or exported in SQLite- or CSV-format and
+    transferred to a PC for your own processing, e.g. by importing a csv-file into
+    MS Excel.
+
+    The app demands for storage access permit which is needed for im-/exporting the
+    counting data, GPS permit for location info per count and the permit to prevent
+    the phone from sleeping (to control the counting screen when used under Android
+    5.0.1 or newer).
+
+RepoType: git
+Repo: https://github.com/wistein/TourCount.git
+
+Builds:
+  - versionName: 2.0.7
+    versionCode: 207
+    commit: 0c3d71e8e492d02acdee775a7a5f3bb71e543b3a
+    gradle:
+      - yes
+
+  - versionName: 2.1.1
+    versionCode: 211
+    commit: 74458f36447acc9d3d892d911ec3bc27afa52432
+    gradle:
+      - yes
+    prebuild: sed -i 's/mavenCentral/jcenter/' build.gradle
+
+  - versionName: 2.1.3
+    versionCode: 213
+    commit: 32b3860690a69237aa055e6b4bd759bd82e075c3
+    gradle:
+      - yes
+    prebuild: sed -i 's/mavenCentral/jcenter/' build.gradle
+
+  - versionName: 2.1.4
+    versionCode: 214
+    commit: 2.1.4
+    gradle:
+      - yes
+    prebuild: sed -i 's/mavenCentral/jcenter/' build.gradle
+
+  - versionName: 2.1.5
+    versionCode: 215
+    commit: 2.1.5
+    gradle:
+      - yes
+    prebuild:
+      - mkdir -p gradle/wrapper
+      - echo -e 'distributionUrl=https://services.gradle.org/distributions/gradle-3.3-bin.zip'
+        > gradle/wrapper/gradle-wrapper.properties
+
+  - versionName: 2.1.6
+    versionCode: 216
+    commit: 2.1.6
+    gradle:
+      - yes
+    prebuild:
+      - mkdir -p gradle/wrapper
+      - echo -e 'distributionUrl=https://services.gradle.org/distributions/gradle-3.3-bin.zip'
+        > gradle/wrapper/gradle-wrapper.properties
+
+  - versionName: 2.1.7
+    versionCode: 217
+    commit: 2.1.7
+    gradle:
+      - yes
+    prebuild:
+      - mkdir -p gradle/wrapper
+      - echo -e 'distributionUrl=https://services.gradle.org/distributions/gradle-3.3-bin.zip'
+        > gradle/wrapper/gradle-wrapper.properties
+
+  - versionName: 2.1.7
+    versionCode: 218
+    commit: 2.1.8
+    gradle:
+      - yes
+    prebuild:
+      - mkdir -p gradle/wrapper
+      - echo -e 'distributionUrl=https://services.gradle.org/distributions/gradle-3.3-bin.zip'
+        > gradle/wrapper/gradle-wrapper.properties
+
+  - versionName: 2.1.9
+    versionCode: 219
+    commit: 2.1.9
+    gradle:
+      - yes
+    prebuild:
+      - mkdir -p gradle/wrapper
+      - echo -e 'distributionUrl=https://services.gradle.org/distributions/gradle-3.3-bin.zip'
+        > gradle/wrapper/gradle-wrapper.properties
+
+  - versionName: 2.3.0
+    versionCode: 230
+    commit: 2.3.0
+    gradle:
+      - yes
+    prebuild:
+      - mkdir -p gradle/wrapper
+      - echo -e 'distributionUrl=https://services.gradle.org/distributions/gradle-3.3-bin.zip'
+        > gradle/wrapper/gradle-wrapper.properties
+
+  - versionName: 2.3.2
+    versionCode: 232
+    disable: Could not find com.android.tools.build:gradle:3.0.1
+    commit: 2.3.2
+    gradle:
+      - yes
+
+  - versionName: 2.4.2
+    versionCode: 242
+    disable: Could not find com.android.tools.build:gradle:3.0.1
+    commit: 2.4.2
+    gradle:
+      - yes
+
+  - versionName: 2.4.4
+    versionCode: 244
+    disable: Task 'clean' not found in root project
+    commit: 2.4.4
+    gradle:
+      - yes
+
+  - versionName: 2.4.5
+    versionCode: 245
+    commit: 2.4.5
+    subdir: tourcount
+    gradle:
+      - yes
+
+  - versionName: 2.4.6
+    versionCode: 246
+    commit: 2.4.6
+    subdir: tourcount
+    gradle:
+      - yes
+
+  - versionName: 3.0.1
+    versionCode: 301
+    commit: 3.0.1
+    subdir: tourcount
+    gradle:
+      - yes
+
+  - versionName: 3.0.3
+    versionCode: 303
+    commit: 3.0.3
+    subdir: tourcount
+    gradle:
+      - yes
+
+  - versionName: 3.0.4
+    versionCode: 304
+    commit: 3.0.4
+    subdir: tourcount
+    gradle:
+      - yes
+
+  - versionName: 3.0.4
+    versionCode: 305
+    commit: 3.0.5
+    subdir: tourcount
+    gradle:
+      - yes
+
+  - versionName: 3.0.4
+    versionCode: 306
+    disable: "Unexpected version/version code in output; APK: '3.0.4' / '304',  Expected:\
+        \ '3.0.4' / '306'"
+    commit: 3.0.4
+    subdir: tourcount
+    gradle:
+      - yes
+
+  - versionName: 3.0.7
+    versionCode: 307
+    commit: 3.0.7
+    subdir: tourcount
+    gradle:
+      - yes
+
+  - versionName: 3.0.8
+    versionCode: 308
+    commit: 3.0.8
+    subdir: tourcount
+    gradle:
+      - yes
+
+  - versionName: 3.1.0
+    versionCode: 310
+    commit: 3.1.0
+    subdir: tourcount
+    gradle:
+      - yes
+
+  - versionName: 3.1.1
+    versionCode: 311
+    commit: 3.1.1
+    subdir: tourcount
+    gradle:
+      - yes
+
+AutoUpdateMode: Version %v
+UpdateCheckMode: Tags
+CurrentVersion: 3.1.1
+CurrentVersionCode: 311
diff --git a/metadata/com.wmstein.transektcount.txt b/metadata/com.wmstein.transektcount.txt
deleted file mode 100644
index d426cd5db7..0000000000
--- a/metadata/com.wmstein.transektcount.txt
+++ /dev/null
@@ -1,180 +0,0 @@
-Categories:Science & Education
-License:Apache-2.0
-Web Site:
-Source Code:https://github.com/wistein/TransektCount
-Issue Tracker:https://github.com/wistein/TransektCount/issues
-
-Auto Name:TransektCount
-Summary:Transect counting according to the Butterfly Monitoring Scheme methodology
-Description:
-TransektCount is an application that supports transect counters in nature
-preserving projects according to the Butterfly Monitoring Scheme methodology. It
-allows a species-specific counting per transect section.
-
-The integrated database is organized according to a single transect inspection.
-That means, a new (prepared and importable) basic database instance will be used
-per inspection.
-.
-
-Repo Type:git
-Repo:https://github.com/wistein/TransektCount.git
-
-Build:1.3.1,131
-    commit=723ce09e029c52d1bb869538e0bd00488bfc9379
-    subdir=transektcount
-    gradle=yes
-
-Build:1.3.4,134
-    commit=5bc05dfafd286b70c774caad36954010d8b240f4
-    subdir=transektcount
-    gradle=yes
-    prebuild=sed -i 's/mavenCentral/jcenter/' build.gradle && \
-        sed -i 's/mavenCentral/jcenter/' ../build.gradle && \
-        echo 'task wrapper(type: Wrapper) { gradleVersion = "2.14.1" }' >> ../build.gradle && \
-        rm -rf ../gradle
-
-Build:1.3.8,138
-    commit=1c2a56a6304bff578a0ecf40ec3024933cc6e325
-    subdir=transektcount
-    gradle=yes
-    prebuild=sed -i 's/mavenCentral/jcenter/' ../build.gradle build.gradle && \
-        echo 'task wrapper(type: Wrapper) { gradleVersion = "2.14.1" }' >> ../build.gradle
-
-Build:1.3.9,139
-    commit=1.3.9
-    subdir=transektcount
-    gradle=yes
-    prebuild=sed -i 's/mavenCentral/jcenter/' ../build.gradle build.gradle && \
-        echo 'task wrapper(type: Wrapper) { gradleVersion = "2.14.1" }' >> ../build.gradle
-
-Build:2.0.0,200
-    commit=2.0.0
-    subdir=transektcount
-    gradle=yes
-    prebuild=echo 'task wrapper(type: Wrapper) { gradleVersion = "2.14.1" }' >> ../build.gradle
-
-Build:2.0.1,201
-    commit=2.0.1
-    subdir=transektcount
-    gradle=yes
-    prebuild=cd .. && \
-        mkdir -p gradle/wrapper && \
-        echo -e 'distributionUrl=https://services.gradle.org/distributions/gradle-3.3-bin.zip' > gradle/wrapper/gradle-wrapper.properties
-
-Build:2.0.2,202
-    commit=2.0.2
-    subdir=transektcount
-    gradle=yes
-    prebuild=cd .. && \
-        mkdir -p gradle/wrapper && \
-        echo -e 'distributionUrl=https://services.gradle.org/distributions/gradle-3.3-bin.zip' > gradle/wrapper/gradle-wrapper.properties
-
-Build:2.0.4,204
-    commit=2.0.4
-    subdir=transektcount
-    gradle=yes
-    prebuild=cd .. && \
-        mkdir -p gradle/wrapper && \
-        echo -e 'distributionUrl=https://services.gradle.org/distributions/gradle-3.3-bin.zip' > gradle/wrapper/gradle-wrapper.properties
-
-Build:2.0.5,205
-    commit=2.0.5
-    subdir=transektcount
-    gradle=yes
-    prebuild=cd .. && \
-        mkdir -p gradle/wrapper && \
-        echo -e 'distributionUrl=https://services.gradle.org/distributions/gradle-3.3-bin.zip' > gradle/wrapper/gradle-wrapper.properties
-
-Build:2.1.0,210
-    commit=2.1.0
-    subdir=transektcount
-    gradle=yes
-    prebuild=cd .. && \
-        mkdir -p gradle/wrapper && \
-        echo -e 'distributionUrl=https://services.gradle.org/distributions/gradle-3.3-bin.zip' > gradle/wrapper/gradle-wrapper.properties
-
-Build:2.1.2,212
-    disable=Could not find com.android.tools.build:gradle:3.0.1
-    commit=2.1.2
-    subdir=transektcount
-    gradle=yes
-    prebuild=cd .. && \
-        mkdir -p gradle/wrapper && \
-        echo -e 'distributionUrl=https://services.gradle.org/distributions/gradle-3.3-bin.zip' > gradle/wrapper/gradle-wrapper.properties
-
-Build:2.1.4,214
-    commit=2.1.4
-    subdir=transektcount
-    gradle=yes
-
-Build:2.1.5,215
-    commit=2.1.5
-    subdir=transektcount
-    gradle=yes
-
-Build:2.1.6,216
-    commit=2.1.6
-    subdir=transektcount
-    gradle=yes
-
-Build:2.1.8,218
-    disable=Tag was removed
-    commit=2.1.8
-    subdir=transektcount
-    gradle=yes
-
-Build:3.0.1,301
-    commit=3.0.1
-    subdir=transektcount
-    gradle=yes
-
-Build:3.0.2,302
-    commit=3.0.2
-    subdir=transektcount
-    gradle=yes
-
-Build:3.0.3,303
-    commit=3.0.3
-    subdir=transektcount
-    gradle=yes
-
-Build:3.0.4,304
-    commit=3.0.4
-    subdir=transektcount
-    gradle=yes
-
-Build:3.0.4,305
-    disable=Unexpected version/version code in output; APK: '3.0.4' / '304',  Expected: '3.0.4' / '305'
-    commit=3.0.4
-    subdir=transektcount
-    gradle=yes
-
-Build:3.0.6,306
-    commit=3.0.6
-    subdir=transektcount
-    gradle=yes
-
-Build:3.0.7,307
-    commit=3.0.7
-    subdir=transektcount
-    gradle=yes
-
-Build:3.1.0,310
-    commit=3.1.0
-    subdir=transektcount
-    gradle=yes
-
-Build:3.1.1,311
-    commit=3.1.1
-    subdir=transektcount
-    gradle=yes
-
-Build:3.1.2,312
-    commit=3.1.2
-    subdir=transektcount
-    gradle=yes
-
-Auto Update Mode:Version %v
-Update Check Mode:Tags
-Current Version:3.1.2
-Current Version Code:312
diff --git a/metadata/com.wmstein.transektcount.yml b/metadata/com.wmstein.transektcount.yml
new file mode 100644
index 0000000000..5a9b5795c5
--- /dev/null
+++ b/metadata/com.wmstein.transektcount.yml
@@ -0,0 +1,247 @@
+Categories:
+  - Science & Education
+License: Apache-2.0
+SourceCode: https://github.com/wistein/TransektCount
+IssueTracker: https://github.com/wistein/TransektCount/issues
+
+AutoName: TransektCount
+Summary: Transect counting according to the Butterfly Monitoring Scheme methodology
+Description: |-
+    TransektCount is an application that supports transect counters in nature
+    preserving projects according to the Butterfly Monitoring Scheme methodology. It
+    allows a species-specific counting per transect section.
+
+    The integrated database is organized according to a single transect inspection.
+    That means, a new (prepared and importable) basic database instance will be used
+    per inspection.
+
+RepoType: git
+Repo: https://github.com/wistein/TransektCount.git
+
+Builds:
+  - versionName: 1.3.1
+    versionCode: 131
+    commit: 723ce09e029c52d1bb869538e0bd00488bfc9379
+    subdir: transektcount
+    gradle:
+      - yes
+
+  - versionName: 1.3.4
+    versionCode: 134
+    commit: 5bc05dfafd286b70c774caad36954010d8b240f4
+    subdir: transektcount
+    gradle:
+      - yes
+    prebuild:
+      - sed -i 's/mavenCentral/jcenter/' build.gradle
+      - sed -i 's/mavenCentral/jcenter/' ../build.gradle
+      - "echo 'task wrapper(type: Wrapper) { gradleVersion = \"2.14.1\" }' >> ../build.gradle"
+      - rm -rf ../gradle
+
+  - versionName: 1.3.8
+    versionCode: 138
+    commit: 1c2a56a6304bff578a0ecf40ec3024933cc6e325
+    subdir: transektcount
+    gradle:
+      - yes
+    prebuild:
+      - sed -i 's/mavenCentral/jcenter/' ../build.gradle build.gradle
+      - "echo 'task wrapper(type: Wrapper) { gradleVersion = \"2.14.1\" }' >> ../build.gradle"
+
+  - versionName: 1.3.9
+    versionCode: 139
+    commit: 1.3.9
+    subdir: transektcount
+    gradle:
+      - yes
+    prebuild:
+      - sed -i 's/mavenCentral/jcenter/' ../build.gradle build.gradle
+      - "echo 'task wrapper(type: Wrapper) { gradleVersion = \"2.14.1\" }' >> ../build.gradle"
+
+  - versionName: 2.0.0
+    versionCode: 200
+    commit: 2.0.0
+    subdir: transektcount
+    gradle:
+      - yes
+    prebuild: "echo 'task wrapper(type: Wrapper) { gradleVersion = \"2.14.1\" }' >>\
+        \ ../build.gradle"
+
+  - versionName: 2.0.1
+    versionCode: 201
+    commit: 2.0.1
+    subdir: transektcount
+    gradle:
+      - yes
+    prebuild:
+      - cd ..
+      - mkdir -p gradle/wrapper
+      - echo -e 'distributionUrl=https://services.gradle.org/distributions/gradle-3.3-bin.zip'
+        > gradle/wrapper/gradle-wrapper.properties
+
+  - versionName: 2.0.2
+    versionCode: 202
+    commit: 2.0.2
+    subdir: transektcount
+    gradle:
+      - yes
+    prebuild:
+      - cd ..
+      - mkdir -p gradle/wrapper
+      - echo -e 'distributionUrl=https://services.gradle.org/distributions/gradle-3.3-bin.zip'
+        > gradle/wrapper/gradle-wrapper.properties
+
+  - versionName: 2.0.4
+    versionCode: 204
+    commit: 2.0.4
+    subdir: transektcount
+    gradle:
+      - yes
+    prebuild:
+      - cd ..
+      - mkdir -p gradle/wrapper
+      - echo -e 'distributionUrl=https://services.gradle.org/distributions/gradle-3.3-bin.zip'
+        > gradle/wrapper/gradle-wrapper.properties
+
+  - versionName: 2.0.5
+    versionCode: 205
+    commit: 2.0.5
+    subdir: transektcount
+    gradle:
+      - yes
+    prebuild:
+      - cd ..
+      - mkdir -p gradle/wrapper
+      - echo -e 'distributionUrl=https://services.gradle.org/distributions/gradle-3.3-bin.zip'
+        > gradle/wrapper/gradle-wrapper.properties
+
+  - versionName: 2.1.0
+    versionCode: 210
+    commit: 2.1.0
+    subdir: transektcount
+    gradle:
+      - yes
+    prebuild:
+      - cd ..
+      - mkdir -p gradle/wrapper
+      - echo -e 'distributionUrl=https://services.gradle.org/distributions/gradle-3.3-bin.zip'
+        > gradle/wrapper/gradle-wrapper.properties
+
+  - versionName: 2.1.2
+    versionCode: 212
+    disable: Could not find com.android.tools.build:gradle:3.0.1
+    commit: 2.1.2
+    subdir: transektcount
+    gradle:
+      - yes
+    prebuild:
+      - cd ..
+      - mkdir -p gradle/wrapper
+      - echo -e 'distributionUrl=https://services.gradle.org/distributions/gradle-3.3-bin.zip'
+        > gradle/wrapper/gradle-wrapper.properties
+
+  - versionName: 2.1.4
+    versionCode: 214
+    commit: 2.1.4
+    subdir: transektcount
+    gradle:
+      - yes
+
+  - versionName: 2.1.5
+    versionCode: 215
+    commit: 2.1.5
+    subdir: transektcount
+    gradle:
+      - yes
+
+  - versionName: 2.1.6
+    versionCode: 216
+    commit: 2.1.6
+    subdir: transektcount
+    gradle:
+      - yes
+
+  - versionName: 2.1.8
+    versionCode: 218
+    disable: Tag was removed
+    commit: 2.1.8
+    subdir: transektcount
+    gradle:
+      - yes
+
+  - versionName: 3.0.1
+    versionCode: 301
+    commit: 3.0.1
+    subdir: transektcount
+    gradle:
+      - yes
+
+  - versionName: 3.0.2
+    versionCode: 302
+    commit: 3.0.2
+    subdir: transektcount
+    gradle:
+      - yes
+
+  - versionName: 3.0.3
+    versionCode: 303
+    commit: 3.0.3
+    subdir: transektcount
+    gradle:
+      - yes
+
+  - versionName: 3.0.4
+    versionCode: 304
+    commit: 3.0.4
+    subdir: transektcount
+    gradle:
+      - yes
+
+  - versionName: 3.0.4
+    versionCode: 305
+    disable: "Unexpected version/version code in output; APK: '3.0.4' / '304',  Expected:\
+        \ '3.0.4' / '305'"
+    commit: 3.0.4
+    subdir: transektcount
+    gradle:
+      - yes
+
+  - versionName: 3.0.6
+    versionCode: 306
+    commit: 3.0.6
+    subdir: transektcount
+    gradle:
+      - yes
+
+  - versionName: 3.0.7
+    versionCode: 307
+    commit: 3.0.7
+    subdir: transektcount
+    gradle:
+      - yes
+
+  - versionName: 3.1.0
+    versionCode: 310
+    commit: 3.1.0
+    subdir: transektcount
+    gradle:
+      - yes
+
+  - versionName: 3.1.1
+    versionCode: 311
+    commit: 3.1.1
+    subdir: transektcount
+    gradle:
+      - yes
+
+  - versionName: 3.1.2
+    versionCode: 312
+    commit: 3.1.2
+    subdir: transektcount
+    gradle:
+      - yes
+
+AutoUpdateMode: Version %v
+UpdateCheckMode: Tags
+CurrentVersion: 3.1.2
+CurrentVersionCode: 312
diff --git a/metadata/com.woefe.shoppinglist.txt b/metadata/com.woefe.shoppinglist.txt
deleted file mode 100644
index 067daa57c4..0000000000
--- a/metadata/com.woefe.shoppinglist.txt
+++ /dev/null
@@ -1,48 +0,0 @@
-Categories:Writing
-License:GPL-3.0-or-later
-Author Name:Wolfgang Popp
-Web Site:https://woefe.github.io/ShoppingList/
-Source Code:https://github.com/woefe/ShoppingList
-Issue Tracker:https://github.com/woefe/ShoppingList/issues
-
-Auto Name:Shopping List
-Summary:Manage (grocery) lists
-Description:
-Manage your shopping lists and other types of lists. The lists are stored as
-simple text files and use a simple, human-readable syntax. This allows you to
-synchronize them with other devices by using applications such as
-[https://syncthing.net/ Syncthing] and [https://nextcloud.com/ Nextcloud].
-.
-
-Repo Type:git
-Repo:https://github.com/woefe/ShoppingList
-
-Build:0.8.0,8
-    commit=v0.8.0
-    subdir=app
-    gradle=yes
-
-Build:0.9.0,9
-    commit=v0.9.0
-    subdir=app
-    gradle=yes
-
-Build:0.10.0,10
-    commit=v0.10.0
-    subdir=app
-    gradle=yes
-
-Build:0.10.1,11
-    commit=v0.10.1
-    subdir=app
-    gradle=yes
-
-Build:0.11.0,12
-    commit=v0.11.0
-    subdir=app
-    gradle=yes
-
-Auto Update Mode:Version v%v
-Update Check Mode:Tags
-Current Version:0.11.0
-Current Version Code:12
diff --git a/metadata/com.woefe.shoppinglist.yml b/metadata/com.woefe.shoppinglist.yml
new file mode 100644
index 0000000000..20da7bbec9
--- /dev/null
+++ b/metadata/com.woefe.shoppinglist.yml
@@ -0,0 +1,59 @@
+Categories:
+  - Writing
+License: GPL-3.0-or-later
+AuthorName: Wolfgang Popp
+WebSite: https://woefe.github.io/ShoppingList/
+SourceCode: https://github.com/woefe/ShoppingList
+IssueTracker: https://github.com/woefe/ShoppingList/issues
+
+AutoName: Shopping List
+Summary: Manage (grocery) lists
+Description: |-
+    Manage your shopping lists and other types of lists. The lists are stored as
+    simple text files and use a simple, human-readable syntax. This allows you to
+    synchronize them with other devices by using applications such as
+    [https://syncthing.net/ Syncthing] and [https://nextcloud.com/ Nextcloud].
+
+RepoType: git
+Repo: https://github.com/woefe/ShoppingList
+
+Builds:
+  - versionName: 0.8.0
+    versionCode: 8
+    commit: v0.8.0
+    subdir: app
+    gradle:
+      - yes
+
+  - versionName: 0.9.0
+    versionCode: 9
+    commit: v0.9.0
+    subdir: app
+    gradle:
+      - yes
+
+  - versionName: 0.10.0
+    versionCode: 10
+    commit: v0.10.0
+    subdir: app
+    gradle:
+      - yes
+
+  - versionName: 0.10.1
+    versionCode: 11
+    commit: v0.10.1
+    subdir: app
+    gradle:
+      - yes
+
+  - versionName: 0.11.0
+    versionCode: 12
+    commit: v0.11.0
+    subdir: app
+    gradle:
+      - yes
+
+AutoUpdateMode: Version v%v
+UpdateCheckMode: Tags
+CurrentVersion: 0.11.0
+CurrentVersionCode: 12
diff --git a/metadata/com.workingagenda.democracydroid.txt b/metadata/com.workingagenda.democracydroid.txt
deleted file mode 100644
index 8a1691b9dd..0000000000
--- a/metadata/com.workingagenda.democracydroid.txt
+++ /dev/null
@@ -1,142 +0,0 @@
-Categories:Multimedia,Reading,Science & Education
-License:GPL-3.0-only
-Web Site:
-Source Code:https://github.com/fenimore/DemocracyDroid
-Issue Tracker:https://github.com/fenimore/DemocracyDroid/issues
-Donate:https://www.democracynow.org/donate
-
-Auto Name:Democracy Droid
-Summary:Watch "Democracy Now The war and peace report"
-Description:
-Democracy Now! is an US-based national, daily, independent, award-winning news
-program hosted by journalists Amy Goodman and Juan Gonzalez. Pioneering the
-largest public media collaboration in the U.S.
-
-This application streams or downloads the independent media broadcast Democracy
-Now! The War and Peace Report. It supports streaming and downloading the audio
-and video broadcast - this includes watching and listening to individual
-stories, reading transcripts, and streaming the live stream.
-
-If you like the app, you are encouraged to donate to Democracy Now! at their
-website.
-
-The app is not affiliated with the production of the show, merely the
-distribution.
-.
-
-Repo Type:git
-Repo:https://github.com/fenimore/DemocracyDroid
-
-Build:2.8.6,20
-    commit=f769c7cbec7094252b4ad16ce3cb9190f63e2c98
-    subdir=app
-    gradle=yes
-    rm=app/libs
-    prebuild=sed -i "s/files.\(.\)libs.jsoup-\(.*\).jar../\1org.jsoup:jsoup:\2\1/" build.gradle
-
-Build:2.8.8,22
-    commit=2304ae32c187ecd9e3f4f6ea0571b1b1785012bf
-    subdir=app
-    gradle=yes
-    rm=app/libs
-    prebuild=sed -i "s/files.\(.\)libs.jsoup-\(.*\).jar../\1org.jsoup:jsoup:\2\1/" build.gradle
-
-Build:2.8.9,23
-    commit=eeb63de21cb2dbd2db4067e0879e1ebe172b1ab5
-    subdir=app
-    gradle=yes
-    rm=app/libs
-    prebuild=sed -i "s/files.\(.\)libs.jsoup-\(.*\).jar../\1org.jsoup:jsoup:\2\1/" build.gradle
-
-Build:2.9.2,24
-    commit=a6d684db364348a43efab8d2583206ae1885dd58
-    subdir=app
-    gradle=yes
-    rm=app/libs
-    prebuild=sed -i "s/files.\(.\)libs.jsoup-\(.*\).jar../\1org.jsoup:jsoup:\2\1/" build.gradle
-
-Build:2.9.6,26
-    commit=1d6b3d815d0f527631b36b19af1049a25a6ca405
-    subdir=app
-    gradle=yes
-    rm=app/libs
-    prebuild=sed -i "s/files.\(.\)libs.jsoup-\(.*\).jar../\1org.jsoup:jsoup:\2\1/" build.gradle
-
-Build:2.9.7,27
-    commit=fdeafbf4a32aa20470fb1c7b940652b313a2d8af
-    subdir=app
-    gradle=yes
-    rm=app/libs
-    prebuild=sed -i "s/files.\(.\)libs.jsoup-\(.*\).jar../\1org.jsoup:jsoup:\2\1/" build.gradle
-
-Build:2.9.8,28
-    commit=cfe853b4114606c04768e0e8fb7cba2aa44efd70
-    subdir=app
-    gradle=yes
-    rm=app/libs
-    prebuild=sed -i "s/files.\(.\)libs.jsoup-\(.*\).jar../\1org.jsoup:jsoup:\2\1/" build.gradle
-
-Build:3.0,29
-    commit=3c5ad9398a61465624e140002252bf32ad2b3f24
-    subdir=app
-    gradle=yes
-    rm=app/libs
-    prebuild=sed -i "s/files.\(.\)libs.jsoup-\(.*\).jar../\1org.jsoup:jsoup:\2\1/" build.gradle
-
-Build:3.1.1,30
-    commit=494ed8c04568748331b0250b5ec9f52b4e6d75ed
-    subdir=app
-    gradle=yes
-    rm=picasso-2.5.2/picasso-2.5.2.jar
-
-Build:3.2,32
-    commit=11fa388eadf68de8882429bc7f51595f1ee684f3
-    subdir=app
-    gradle=yes
-    rm=picasso-2.5.2/picasso-2.5.2.jar
-
-Build:3.3,33
-    commit=98e9552d408577340021dcb43cd9be30341c5523
-    subdir=app
-    gradle=yes
-    rm=picasso-2.5.2/picasso-2.5.2.jar
-
-Build:3.4,34
-    commit=3.4
-    subdir=app
-    gradle=yes
-
-Build:3.5,35
-    commit=v3.5
-    subdir=app
-    gradle=yes
-
-Build:3.6.1,38
-    commit=v3.6.1
-    subdir=app
-    gradle=yes
-
-Build:3.6.2,39
-    commit=v3.6.2
-    subdir=app
-    gradle=yes
-
-Build:3.6.4,41
-    commit=v3.6.4
-    subdir=app
-    gradle=yes
-
-Build:3.7.0,42
-    commit=v3.7.0
-    subdir=app
-    gradle=yes
-
-Build:3.7.1,43
-    commit=v3.7.1
-    subdir=app
-    gradle=yes
-
-Auto Update Mode:Version v%v
-Update Check Mode:Tags
-Current Version:3.7.1
-Current Version Code:43
diff --git a/metadata/com.workingagenda.democracydroid.yml b/metadata/com.workingagenda.democracydroid.yml
new file mode 100644
index 0000000000..67d82976ea
--- /dev/null
+++ b/metadata/com.workingagenda.democracydroid.yml
@@ -0,0 +1,200 @@
+Categories:
+  - Multimedia
+  - Reading
+  - Science & Education
+License: GPL-3.0-only
+SourceCode: https://github.com/fenimore/DemocracyDroid
+IssueTracker: https://github.com/fenimore/DemocracyDroid/issues
+Changelog: https://github.com/fenimore/DemocracyDroid/releases
+Donate: https://www.democracynow.org/donate
+
+AutoName: Democracy Droid
+Summary: Watch "Democracy Now The war and peace report"
+Description: |-
+    Democracy Now! is an US-based national, daily, independent, award-winning news
+    program hosted by journalists Amy Goodman and Juan Gonzalez. Pioneering the
+    largest public media collaboration in the U.S.
+
+    This application streams or downloads the independent media broadcast Democracy
+    Now! The War and Peace Report. It supports streaming and downloading the audio
+    and video broadcast - this includes watching and listening to individual
+    stories, reading transcripts, and streaming the live stream.
+
+    If you like the app, you are encouraged to donate to Democracy Now! at their
+    website.
+
+    The app is not affiliated with the production of the show, merely the
+    distribution.
+
+RepoType: git
+Repo: https://github.com/fenimore/DemocracyDroid
+
+Builds:
+  - versionName: 2.8.6
+    versionCode: 20
+    commit: f769c7cbec7094252b4ad16ce3cb9190f63e2c98
+    subdir: app
+    gradle:
+      - yes
+    rm:
+      - app/libs
+    prebuild: sed -i "s/files.\(.\)libs.jsoup-\(.*\).jar../\1org.jsoup:jsoup:\2\1/"
+        build.gradle
+
+  - versionName: 2.8.8
+    versionCode: 22
+    commit: 2304ae32c187ecd9e3f4f6ea0571b1b1785012bf
+    subdir: app
+    gradle:
+      - yes
+    rm:
+      - app/libs
+    prebuild: sed -i "s/files.\(.\)libs.jsoup-\(.*\).jar../\1org.jsoup:jsoup:\2\1/"
+        build.gradle
+
+  - versionName: 2.8.9
+    versionCode: 23
+    commit: eeb63de21cb2dbd2db4067e0879e1ebe172b1ab5
+    subdir: app
+    gradle:
+      - yes
+    rm:
+      - app/libs
+    prebuild: sed -i "s/files.\(.\)libs.jsoup-\(.*\).jar../\1org.jsoup:jsoup:\2\1/"
+        build.gradle
+
+  - versionName: 2.9.2
+    versionCode: 24
+    commit: a6d684db364348a43efab8d2583206ae1885dd58
+    subdir: app
+    gradle:
+      - yes
+    rm:
+      - app/libs
+    prebuild: sed -i "s/files.\(.\)libs.jsoup-\(.*\).jar../\1org.jsoup:jsoup:\2\1/"
+        build.gradle
+
+  - versionName: 2.9.6
+    versionCode: 26
+    commit: 1d6b3d815d0f527631b36b19af1049a25a6ca405
+    subdir: app
+    gradle:
+      - yes
+    rm:
+      - app/libs
+    prebuild: sed -i "s/files.\(.\)libs.jsoup-\(.*\).jar../\1org.jsoup:jsoup:\2\1/"
+        build.gradle
+
+  - versionName: 2.9.7
+    versionCode: 27
+    commit: fdeafbf4a32aa20470fb1c7b940652b313a2d8af
+    subdir: app
+    gradle:
+      - yes
+    rm:
+      - app/libs
+    prebuild: sed -i "s/files.\(.\)libs.jsoup-\(.*\).jar../\1org.jsoup:jsoup:\2\1/"
+        build.gradle
+
+  - versionName: 2.9.8
+    versionCode: 28
+    commit: cfe853b4114606c04768e0e8fb7cba2aa44efd70
+    subdir: app
+    gradle:
+      - yes
+    rm:
+      - app/libs
+    prebuild: sed -i "s/files.\(.\)libs.jsoup-\(.*\).jar../\1org.jsoup:jsoup:\2\1/"
+        build.gradle
+
+  - versionName: '3.0'
+    versionCode: 29
+    commit: 3c5ad9398a61465624e140002252bf32ad2b3f24
+    subdir: app
+    gradle:
+      - yes
+    rm:
+      - app/libs
+    prebuild: sed -i "s/files.\(.\)libs.jsoup-\(.*\).jar../\1org.jsoup:jsoup:\2\1/"
+        build.gradle
+
+  - versionName: 3.1.1
+    versionCode: 30
+    commit: 494ed8c04568748331b0250b5ec9f52b4e6d75ed
+    subdir: app
+    gradle:
+      - yes
+    rm:
+      - picasso-2.5.2/picasso-2.5.2.jar
+
+  - versionName: '3.2'
+    versionCode: 32
+    commit: 11fa388eadf68de8882429bc7f51595f1ee684f3
+    subdir: app
+    gradle:
+      - yes
+    rm:
+      - picasso-2.5.2/picasso-2.5.2.jar
+
+  - versionName: '3.3'
+    versionCode: 33
+    commit: 98e9552d408577340021dcb43cd9be30341c5523
+    subdir: app
+    gradle:
+      - yes
+    rm:
+      - picasso-2.5.2/picasso-2.5.2.jar
+
+  - versionName: '3.4'
+    versionCode: 34
+    commit: '3.4'
+    subdir: app
+    gradle:
+      - yes
+
+  - versionName: '3.5'
+    versionCode: 35
+    commit: v3.5
+    subdir: app
+    gradle:
+      - yes
+
+  - versionName: 3.6.1
+    versionCode: 38
+    commit: v3.6.1
+    subdir: app
+    gradle:
+      - yes
+
+  - versionName: 3.6.2
+    versionCode: 39
+    commit: v3.6.2
+    subdir: app
+    gradle:
+      - yes
+
+  - versionName: 3.6.4
+    versionCode: 41
+    commit: v3.6.4
+    subdir: app
+    gradle:
+      - yes
+
+  - versionName: 3.7.0
+    versionCode: 42
+    commit: v3.7.0
+    subdir: app
+    gradle:
+      - yes
+
+  - versionName: 3.7.1
+    versionCode: 43
+    commit: v3.7.1
+    subdir: app
+    gradle:
+      - yes
+
+AutoUpdateMode: Version v%v
+UpdateCheckMode: Tags
+CurrentVersion: 3.7.1
+CurrentVersionCode: 43
diff --git a/metadata/com.workingagenda.fissure.txt b/metadata/com.workingagenda.fissure.txt
deleted file mode 100644
index c742a2671e..0000000000
--- a/metadata/com.workingagenda.fissure.txt
+++ /dev/null
@@ -1,45 +0,0 @@
-Categories:Multimedia
-License:GPL-3.0-only
-Web Site:
-Source Code:https://github.com/fenimore/fissure-android
-Issue Tracker:https://github.com/fenimore/fissure-android/issues
-
-Auto Name:Fissure
-Summary:Create and view GIFs
-Description:
-A simple utility for creating and viewing GIF files from JPEGs on an Android
-device.
-
-''Fissure'' loads and compresses JPEG pictures, and saves GIFs to the Picture
-folder on your phone. Still rough around the edges, don't expect a fully
-featured app!
-.
-
-Repo Type:git
-Repo:https://github.com/fenimore/fissure-android
-
-Build:0.1.0,1
-    commit=d1e385cb45b7ff767c824cc457424be2570c9b46
-    subdir=app
-    gradle=yes
-
-Build:0.2.0,2
-    commit=29ef07da212670749aa42e4b1529ce8635299704
-    subdir=app
-    gradle=yes
-
-Build:0.2.1,3
-    commit=23189e6d1a29d2ee7c60e186e597a9e5340fe2cf
-    subdir=app
-    gradle=yes
-
-Build:0.3.2,5
-    commit=e47d1101046cba5e0cdbd7e6801d9b9187ccb10a
-    subdir=app
-    gradle=yes
-    prebuild=sed -i -e 's@http://repo.commonsware.com.s3.amazonaws.com@https://s3.amazonaws.com/repo.commonsware.com@g' build.gradle
-
-Auto Update Mode:None
-Update Check Mode:RepoManifest
-Current Version:0.3.2
-Current Version Code:5
diff --git a/metadata/com.workingagenda.fissure.yml b/metadata/com.workingagenda.fissure.yml
new file mode 100644
index 0000000000..6b9a935cb1
--- /dev/null
+++ b/metadata/com.workingagenda.fissure.yml
@@ -0,0 +1,54 @@
+Categories:
+  - Multimedia
+License: GPL-3.0-only
+SourceCode: https://github.com/fenimore/fissure-android
+IssueTracker: https://github.com/fenimore/fissure-android/issues
+
+AutoName: Fissure
+Summary: Create and view GIFs
+Description: |-
+    A simple utility for creating and viewing GIF files from JPEGs on an Android
+    device.
+
+    ''Fissure'' loads and compresses JPEG pictures, and saves GIFs to the Picture
+    folder on your phone. Still rough around the edges, don't expect a fully
+    featured app!
+
+RepoType: git
+Repo: https://github.com/fenimore/fissure-android
+
+Builds:
+  - versionName: 0.1.0
+    versionCode: 1
+    commit: d1e385cb45b7ff767c824cc457424be2570c9b46
+    subdir: app
+    gradle:
+      - yes
+
+  - versionName: 0.2.0
+    versionCode: 2
+    commit: 29ef07da212670749aa42e4b1529ce8635299704
+    subdir: app
+    gradle:
+      - yes
+
+  - versionName: 0.2.1
+    versionCode: 3
+    commit: 23189e6d1a29d2ee7c60e186e597a9e5340fe2cf
+    subdir: app
+    gradle:
+      - yes
+
+  - versionName: 0.3.2
+    versionCode: 5
+    commit: e47d1101046cba5e0cdbd7e6801d9b9187ccb10a
+    subdir: app
+    gradle:
+      - yes
+    prebuild: sed -i -e 's@http://repo.commonsware.com.s3.amazonaws.com@https://s3.amazonaws.com/repo.commonsware.com@g'
+        build.gradle
+
+AutoUpdateMode: None
+UpdateCheckMode: RepoManifest
+CurrentVersion: 0.3.2
+CurrentVersionCode: 5
diff --git a/metadata/com.xabber.android.classic.txt b/metadata/com.xabber.android.classic.txt
deleted file mode 100644
index 1a15f6245c..0000000000
--- a/metadata/com.xabber.android.classic.txt
+++ /dev/null
@@ -1,73 +0,0 @@
-Categories:Internet
-License:GPL-3.0-only
-Web Site:https://www.xabber.com
-Source Code:https://github.com/redsolution/xabber-android
-Issue Tracker:https://github.com/redsolution/xabber-android/issues
-
-Auto Name:Xabber Classic
-Summary:Instant messaging client
-Description:
-Jabber (XMPP) client app with multiple accounts, privacy modes and a clean and
-simple interface.
-
-'''This version is for old versions of Android, if you are running Ice Cream
-Sandwitch or later, consider installing [[com.xabber.androiddev]] instead.'''
-
-Supported protocols:
-
-* RFC-3920: Core;
-* RFC-3921: Instant Messaging and Presence;
-* XEP-0030: Service Discovery;
-* XEP-0128: Service Discovery Extensions;
-* XEP-0115: Entity Capabilities;
-* XEP-0054: vcard-temp;
-* XEP-0153: vCard-Based Avatars;
-* XEP-0045: Multi-User Chat (incompletely);
-* XEP-0078: Non-SASL Authentication;
-* XEP-0138: Stream Compression;
-* XEP-0203: Delayed Delivery;
-* XEP-0091: Legacy Delayed Delivery;
-* XEP-0199: XMPP Ping;
-* XEP-0147: XMPP URI Scheme Query Components;
-* XEP-0085: Chat State Notifications;
-* XEP-0184: Message Delivery Receipts;
-* XEP-0155: Stanza Session Negotiation;
-* XEP-0059: Result Set Management;
-* XEP-0136: Message Archiving;
-* XEP-0224: Attention.
-.
-
-Repo Type:git
-Repo:https://github.com/redsolution/xabber-android.git
-
-Build:0.9.30g,103
-    commit=0.9.30g
-    subdir=app
-    gradle=yes
-    srclibs=Otr4j@7fb42b2ef912fe664064edf717a6b72ce77ccb3b
-    rm=app/libs/*.jar
-    prebuild=sed -i -e '/otr4j.jar/d' build.gradle && \
-        cp -fR $$Otr4j$$/src/net src/main/java
-
-Build:0.9.31,105
-    commit=0.9.31
-    subdir=app
-    gradle=yes
-    srclibs=Otr4j@7fb42b2ef912fe664064edf717a6b72ce77ccb3b
-    rm=app/libs/*.jar
-    prebuild=sed -i -e '/otr4j.jar/d' build.gradle && \
-        cp -fR $$Otr4j$$/src/net src/main/java
-
-Build:0.9.31a,106
-    commit=d36fb2fa2f6a138c0fd9dd562f48ab530473d35b
-    subdir=app
-    gradle=yes
-    srclibs=Otr4j@7fb42b2ef912fe664064edf717a6b72ce77ccb3b
-    rm=app/libs/*.jar
-    prebuild=sed -i -e '/otr4j.jar/d' build.gradle && \
-        cp -fR $$Otr4j$$/src/net src/main/java
-
-Auto Update Mode:Version %v
-Update Check Mode:Tags ^0\.9.*$
-Current Version:0.9.31a
-Current Version Code:106
diff --git a/metadata/com.xabber.android.classic.yml b/metadata/com.xabber.android.classic.yml
new file mode 100644
index 0000000000..92eee75b36
--- /dev/null
+++ b/metadata/com.xabber.android.classic.yml
@@ -0,0 +1,90 @@
+Categories:
+  - Internet
+License: GPL-3.0-only
+WebSite: https://www.xabber.com
+SourceCode: https://github.com/redsolution/xabber-android
+IssueTracker: https://github.com/redsolution/xabber-android/issues
+Changelog: https://github.com/redsolution/xabber-android/releases
+
+AutoName: Xabber Classic
+Summary: Instant messaging client
+Description: |-
+    Jabber (XMPP) client app with multiple accounts, privacy modes and a clean and
+    simple interface.
+
+    '''This version is for old versions of Android, if you are running Ice Cream
+    Sandwitch or later, consider installing [[com.xabber.androiddev]] instead.'''
+
+    Supported protocols:
+
+    * RFC-3920: Core;
+    * RFC-3921: Instant Messaging and Presence;
+    * XEP-0030: Service Discovery;
+    * XEP-0128: Service Discovery Extensions;
+    * XEP-0115: Entity Capabilities;
+    * XEP-0054: vcard-temp;
+    * XEP-0153: vCard-Based Avatars;
+    * XEP-0045: Multi-User Chat (incompletely);
+    * XEP-0078: Non-SASL Authentication;
+    * XEP-0138: Stream Compression;
+    * XEP-0203: Delayed Delivery;
+    * XEP-0091: Legacy Delayed Delivery;
+    * XEP-0199: XMPP Ping;
+    * XEP-0147: XMPP URI Scheme Query Components;
+    * XEP-0085: Chat State Notifications;
+    * XEP-0184: Message Delivery Receipts;
+    * XEP-0155: Stanza Session Negotiation;
+    * XEP-0059: Result Set Management;
+    * XEP-0136: Message Archiving;
+    * XEP-0224: Attention.
+
+RepoType: git
+Repo: https://github.com/redsolution/xabber-android.git
+
+Builds:
+  - versionName: 0.9.30g
+    versionCode: 103
+    commit: 0.9.30g
+    subdir: app
+    gradle:
+      - yes
+    srclibs:
+      - Otr4j@7fb42b2ef912fe664064edf717a6b72ce77ccb3b
+    rm:
+      - app/libs/*.jar
+    prebuild:
+      - sed -i -e '/otr4j.jar/d' build.gradle
+      - cp -fR $$Otr4j$$/src/net src/main/java
+
+  - versionName: 0.9.31
+    versionCode: 105
+    commit: 0.9.31
+    subdir: app
+    gradle:
+      - yes
+    srclibs:
+      - Otr4j@7fb42b2ef912fe664064edf717a6b72ce77ccb3b
+    rm:
+      - app/libs/*.jar
+    prebuild:
+      - sed -i -e '/otr4j.jar/d' build.gradle
+      - cp -fR $$Otr4j$$/src/net src/main/java
+
+  - versionName: 0.9.31a
+    versionCode: 106
+    commit: d36fb2fa2f6a138c0fd9dd562f48ab530473d35b
+    subdir: app
+    gradle:
+      - yes
+    srclibs:
+      - Otr4j@7fb42b2ef912fe664064edf717a6b72ce77ccb3b
+    rm:
+      - app/libs/*.jar
+    prebuild:
+      - sed -i -e '/otr4j.jar/d' build.gradle
+      - cp -fR $$Otr4j$$/src/net src/main/java
+
+AutoUpdateMode: Version %v
+UpdateCheckMode: Tags ^0\.9.*$
+CurrentVersion: 0.9.31a
+CurrentVersionCode: 106
diff --git a/metadata/com.xatik.app.droiddraw.client.txt b/metadata/com.xatik.app.droiddraw.client.txt
deleted file mode 100644
index 8026934478..0000000000
--- a/metadata/com.xatik.app.droiddraw.client.txt
+++ /dev/null
@@ -1,42 +0,0 @@
-Categories:Graphics
-License:Apache-2.0
-Web Site:
-Source Code:https://bitbucket.org/XatikGroup/droiddraw/src
-Issue Tracker:https://bitbucket.org/XatikGroup/droiddraw/issues
-
-Auto Name:Droid Draw
-Summary:Automated drawing
-Description:
-Control a pen holding Android and create complex shapes using part of the LOGO
-programming language. Not sure what Turtle Graphics and LOGO programming is? The
-original Turtle Graphics allowed a user to enter commands which represented what
-would be drawn out out on a Cartesian plane. Droid Draw brings this same
-functionality to Android users.
-
-Not sure what to do? Make sure to check out the help section in the app or visit
-the website. There is information on how to use the app and what every command
-does.
-.
-
-Repo Type:git
-Repo:https://bitbucket.org/XatikGroup/droiddraw.git
-
-Build:1.0.0,4
-    commit=6721ed5417ae
-    subdir=DroidDrawClient
-    srclibs=ActionBarSherlock@6e3f2bb5
-    prebuild=sed -i 's@\(android.library.reference.1=\).*@\1$$ActionBarSherlock$$@' project.properties
-    update=.,../TouchListView
-    target=android-15
-
-Build:1.1.1,6
-    disable=libraries dont build
-    commit=v1.1.1
-    subdir=app
-    gradle=yes
-    prebuild=sed -i -e 's/com.android.tools.build:gradle:0.7.+/com.android.tools.build:gradle:0.10.1/g' build.gradle ../libraries/actionbarsherlock/build.gradle ../libraries/DragSortListView/build.gradle
-
-Auto Update Mode:None
-Update Check Mode:Tags
-Current Version:1.1.1
-Current Version Code:6
diff --git a/metadata/com.xatik.app.droiddraw.client.yml b/metadata/com.xatik.app.droiddraw.client.yml
new file mode 100644
index 0000000000..c970411947
--- /dev/null
+++ b/metadata/com.xatik.app.droiddraw.client.yml
@@ -0,0 +1,49 @@
+Categories:
+  - Graphics
+License: Apache-2.0
+SourceCode: https://bitbucket.org/XatikGroup/droiddraw/src
+IssueTracker: https://bitbucket.org/XatikGroup/droiddraw/issues
+
+AutoName: Droid Draw
+Summary: Automated drawing
+Description: |-
+    Control a pen holding Android and create complex shapes using part of the LOGO
+    programming language. Not sure what Turtle Graphics and LOGO programming is? The
+    original Turtle Graphics allowed a user to enter commands which represented what
+    would be drawn out out on a Cartesian plane. Droid Draw brings this same
+    functionality to Android users.
+
+    Not sure what to do? Make sure to check out the help section in the app or visit
+    the website. There is information on how to use the app and what every command
+    does.
+
+Builds:
+  - versionName: 1.0.0
+    versionCode: 4
+    commit: 6721ed5417ae
+    subdir: DroidDrawClient
+    srclibs:
+      - ActionBarSherlock@6e3f2bb5
+    prebuild: sed -i 's@\(android.library.reference.1=\).*@\1$$ActionBarSherlock$$@'
+        project.properties
+    androidupdate:
+      - .
+      - ../TouchListView
+    target: android-15
+
+  - versionName: 1.1.1
+    versionCode: 6
+    disable: libraries dont build
+    commit: v1.1.1
+    subdir: app
+    gradle:
+      - yes
+    prebuild: sed -i -e 's/com.android.tools.build:gradle:0.7.+/com.android.tools.build:gradle:0.10.1/g'
+        build.gradle ../libraries/actionbarsherlock/build.gradle ../libraries/DragSortListView/build.gradle
+
+AutoUpdateMode: None
+UpdateCheckMode: Tags
+CurrentVersion: 1.1.1
+CurrentVersionCode: 6
+
+NoSourceSince: 1.1.1
diff --git a/metadata/com.xmission.trevin.android.todo.txt b/metadata/com.xmission.trevin.android.todo.txt
deleted file mode 100644
index b0f837cb09..0000000000
--- a/metadata/com.xmission.trevin.android.todo.txt
+++ /dev/null
@@ -1,30 +0,0 @@
-Categories:Writing
-License:GPL-3.0-only
-Web Site:https://sourceforge.net/p/androidtodolist
-Source Code:https://sourceforge.net/p/androidtodolist/code
-Issue Tracker:https://sourceforge.net/p/androidtodolist/tickets
-
-Auto Name:To Do
-Summary:TODO lists
-Description:
-Categorize and prioritize checklists, assign due dates and alarms, set highly
-configurable recurring tasks, and add detailed notes to items.
-.
-
-Repo Type:git
-Repo:https://git.code.sf.net/p/androidtodolist/code
-
-Build:1.0,1
-    commit=487164c148b5bf5a8831a8119af38af69d417748
-    target=android-19
-
-Maintainer Notes:
-Upstream's ant target android-7 is ridicolously old. They probably forgot to
-set a newer version somewhere, since this app is recent. Remove target= once
-they do.
-.
-
-Auto Update Mode:None
-Update Check Mode:RepoManifest
-Current Version:1.1.1
-Current Version Code:3
diff --git a/metadata/com.xmission.trevin.android.todo.yml b/metadata/com.xmission.trevin.android.todo.yml
new file mode 100644
index 0000000000..37300b1fba
--- /dev/null
+++ b/metadata/com.xmission.trevin.android.todo.yml
@@ -0,0 +1,31 @@
+Categories:
+  - Writing
+License: GPL-3.0-only
+WebSite: https://sourceforge.net/p/androidtodolist
+SourceCode: https://sourceforge.net/p/androidtodolist/code
+IssueTracker: https://sourceforge.net/p/androidtodolist/tickets
+
+AutoName: To Do
+Summary: TODO lists
+Description: |-
+    Categorize and prioritize checklists, assign due dates and alarms, set highly
+    configurable recurring tasks, and add detailed notes to items.
+
+RepoType: git
+Repo: https://git.code.sf.net/p/androidtodolist/code
+
+Builds:
+  - versionName: '1.0'
+    versionCode: 1
+    commit: 487164c148b5bf5a8831a8119af38af69d417748
+    target: android-19
+
+MaintainerNotes: |-
+    Upstream's ant target android-7 is ridicolously old. They probably forgot to
+    set a newer version somewhere, since this app is recent. Remove target= once
+    they do.
+
+AutoUpdateMode: None
+UpdateCheckMode: RepoManifest
+CurrentVersion: 1.1.1
+CurrentVersionCode: 3
diff --git a/metadata/com.ymber.eleven.txt b/metadata/com.ymber.eleven.txt
deleted file mode 100644
index 1aba4cefea..0000000000
--- a/metadata/com.ymber.eleven.txt
+++ /dev/null
@@ -1,34 +0,0 @@
-Categories:Multimedia
-License:Apache-2.0
-Web Site:https://gitlab.com/ymber/Eleven
-Source Code:https://gitlab.com/ymber/Eleven/tree/HEAD
-Issue Tracker:https://gitlab.com/ymber/Eleven/issues
-Changelog:https://gitlab.com/ymber/Eleven/commits/HEAD
-Donate:https://www.paypal.me/LineageOS
-Bitcoin:12aDckQC6YHEn75zReQWxXFCivBBNXfRjM
-
-Auto Name:Eleven
-Summary:Default LineageOS music player
-Description:
-Music player with song, album, and artist sort and playlist support. Eleven is
-the default music player for LineageOS. This build is built from modified
-sources based on the Cyanogenmod 14.1 release of Eleven.
-.
-
-Repo Type:git
-Repo:https://gitlab.com/ymber/Eleven.git
-
-Build:1.0,1
-    commit=1.0
-    subdir=app
-    gradle=yes
-
-Maintainer Notes:
-Built from [https://github.com/dwi336/Eleven] with modified build files and structure.
-.
-
-Archive Policy:0 versions
-Auto Update Mode:Version %v
-Update Check Mode:Tags
-Current Version:1.0
-Current Version Code:1
diff --git a/metadata/com.ymber.eleven.yml b/metadata/com.ymber.eleven.yml
new file mode 100644
index 0000000000..3a277f724c
--- /dev/null
+++ b/metadata/com.ymber.eleven.yml
@@ -0,0 +1,33 @@
+Categories:
+  - Multimedia
+License: Apache-2.0
+WebSite: https://gitlab.com/ymber/Eleven
+SourceCode: https://gitlab.com/ymber/Eleven/tree/HEAD
+IssueTracker: https://gitlab.com/ymber/Eleven/issues
+Changelog: https://gitlab.com/ymber/Eleven/commits/HEAD
+Donate: https://www.paypal.me/LineageOS
+Bitcoin: 12aDckQC6YHEn75zReQWxXFCivBBNXfRjM
+
+AutoName: Eleven
+Summary: Default LineageOS music player
+Description: |-
+    Music player with song, album, and artist sort and playlist support. Eleven is
+    the default music player for LineageOS. This build is built from modified
+    sources based on the Cyanogenmod 14.1 release of Eleven.
+
+Builds:
+  - versionName: '1.0'
+    versionCode: 1
+    commit: '1.0'
+    subdir: app
+    gradle:
+      - yes
+
+MaintainerNotes: Built from [https://github.com/dwi336/Eleven] with modified build
+    files and structure.
+
+ArchivePolicy: 0 versions
+AutoUpdateMode: Version %v
+UpdateCheckMode: Tags
+CurrentVersion: '1.0'
+CurrentVersionCode: 1
diff --git a/metadata/com.yubico.yubiclip.txt b/metadata/com.yubico.yubiclip.txt
deleted file mode 100644
index 405f89f174..0000000000
--- a/metadata/com.yubico.yubiclip.txt
+++ /dev/null
@@ -1,64 +0,0 @@
-Categories:Connectivity
-License:BSD-3-Clause
-Web Site:
-Source Code:https://github.com/Yubico/yubiclip-android
-Issue Tracker:https://github.com/Yubico/yubiclip-android/issues
-
-Auto Name:YubiClip
-Summary:Copy YubiKey NEO OTP from NFC to clipboard
-Description:
-Read a One-Time Password (OTP) from a YubiKey NEO over NFC, and copy it to the
-system clipboard.
-
-Once installed the app does not need to be started. Just swiping the YubiKey NEO
-against the phones NFC reader will cause it to run, displaying a message to
-indicate that the OTP has been copied, all without leaving the currently running
-app.
-
-Note that the default NDEF programming needs to be used. If you've reprogrammed
-the NDEF tag of your YubiKey NEO, you will need to change it back to the URL:
-https://my.yubico.com/neo/
-
-This can be done using the
-[http://opensource.yubico.com/yubikey-personalization-gui/ personalization
-tool].
-
-When using a YubiKey NEO with a static password in scan code mode you will need
-to configure which keyboard layout to use in the YubiClip Settings. Currently
-only the US layout is supported. If you would like to see additional layout
-support, please consider contributing code via a pull request to
-[https://github.com/Yubico/yubiclip-android/ our source code repositiory].
-.
-
-Repo Type:git
-Repo:https://github.com/Yubico/yubiclip-android.git
-
-Build:0.0.1,1
-    commit=yubiclip-0.0.1
-    maven=yes
-
-Build:0.0.2,2
-    commit=yubiclip-0.0.2
-    maven=yes
-
-Build:1.0.0,3
-    commit=yubiclip-1.0.0
-    maven=yes
-
-Build:1.1.0,4
-    commit=yubiclip-1.1.0
-    maven=yes
-
-Build:1.2.0,5
-    commit=yubiclip-1.2.0
-    maven=yes
-
-Build:1.3.0,10300
-    commit=yubiclip-1.3.0
-    subdir=app
-    gradle=yes
-
-Auto Update Mode:Version yubiclip-%v
-Update Check Mode:Tags
-Current Version:1.3.0
-Current Version Code:10300
diff --git a/metadata/com.yubico.yubiclip.yml b/metadata/com.yubico.yubiclip.yml
new file mode 100644
index 0000000000..1f66399fdd
--- /dev/null
+++ b/metadata/com.yubico.yubiclip.yml
@@ -0,0 +1,71 @@
+Categories:
+  - Connectivity
+License: BSD-3-Clause
+SourceCode: https://github.com/Yubico/yubiclip-android
+IssueTracker: https://github.com/Yubico/yubiclip-android/issues
+
+AutoName: YubiClip
+Summary: Copy YubiKey NEO OTP from NFC to clipboard
+Description: |-
+    Read a One-Time Password (OTP) from a YubiKey NEO over NFC, and copy it to the
+    system clipboard.
+
+    Once installed the app does not need to be started. Just swiping the YubiKey NEO
+    against the phones NFC reader will cause it to run, displaying a message to
+    indicate that the OTP has been copied, all without leaving the currently running
+    app.
+
+    Note that the default NDEF programming needs to be used. If you've reprogrammed
+    the NDEF tag of your YubiKey NEO, you will need to change it back to the URL:
+    https://my.yubico.com/neo/
+
+    This can be done using the
+    [http://opensource.yubico.com/yubikey-personalization-gui/ personalization
+    tool].
+
+    When using a YubiKey NEO with a static password in scan code mode you will need
+    to configure which keyboard layout to use in the YubiClip Settings. Currently
+    only the US layout is supported. If you would like to see additional layout
+    support, please consider contributing code via a pull request to
+    [https://github.com/Yubico/yubiclip-android/ our source code repositiory].
+
+RepoType: git
+Repo: https://github.com/Yubico/yubiclip-android.git
+
+Builds:
+  - versionName: 0.0.1
+    versionCode: 1
+    commit: yubiclip-0.0.1
+    maven: 'yes'
+
+  - versionName: 0.0.2
+    versionCode: 2
+    commit: yubiclip-0.0.2
+    maven: 'yes'
+
+  - versionName: 1.0.0
+    versionCode: 3
+    commit: yubiclip-1.0.0
+    maven: 'yes'
+
+  - versionName: 1.1.0
+    versionCode: 4
+    commit: yubiclip-1.1.0
+    maven: 'yes'
+
+  - versionName: 1.2.0
+    versionCode: 5
+    commit: yubiclip-1.2.0
+    maven: 'yes'
+
+  - versionName: 1.3.0
+    versionCode: 10300
+    commit: yubiclip-1.3.0
+    subdir: app
+    gradle:
+      - yes
+
+AutoUpdateMode: Version yubiclip-%v
+UpdateCheckMode: Tags
+CurrentVersion: 1.3.0
+CurrentVersionCode: 10300