summary refs log tree commit diff
path: root/pkgs/development/mobile
diff options
context:
space:
mode:
authorTad Fisher <tadfisher@gmail.com>2019-03-22 10:44:48 -0700
committerLuca Favatella <lucafavatella@users.noreply.github.com>2020-03-09 03:43:19 +0000
commit6f809839633ab4e3434df7eb125cc4d5d0b406b7 (patch)
tree762f147c39aa60fc714f2c326cc538487f2f2bd3 /pkgs/development/mobile
parent12a97158a2758f43b9d79bea1249c6a301d746d6 (diff)
downloadnixpkgs-6f809839633ab4e3434df7eb125cc4d5d0b406b7.tar
nixpkgs-6f809839633ab4e3434df7eb125cc4d5d0b406b7.tar.gz
nixpkgs-6f809839633ab4e3434df7eb125cc4d5d0b406b7.tar.bz2
nixpkgs-6f809839633ab4e3434df7eb125cc4d5d0b406b7.tar.lz
nixpkgs-6f809839633ab4e3434df7eb125cc4d5d0b406b7.tar.xz
nixpkgs-6f809839633ab4e3434df7eb125cc4d5d0b406b7.tar.zst
nixpkgs-6f809839633ab4e3434df7eb125cc4d5d0b406b7.zip
androidenv: update generate.sh to use nix-shell and fail on error
Update generate.sh to run using nix-shell. Also make it fail with
meaningful output instead of writing empty output files.

This is extracted from https://github.com/NixOS/nixpkgs PR 58131.

This relies on the shebang being used.
Diffstat (limited to 'pkgs/development/mobile')
-rwxr-xr-x[-rw-r--r--]pkgs/development/mobile/androidenv/generate.sh28
1 files changed, 24 insertions, 4 deletions
diff --git a/pkgs/development/mobile/androidenv/generate.sh b/pkgs/development/mobile/androidenv/generate.sh
index 1c55734f5f4..895a741adff 100644..100755
--- a/pkgs/development/mobile/androidenv/generate.sh
+++ b/pkgs/development/mobile/androidenv/generate.sh
@@ -1,16 +1,36 @@
-#!/bin/sh -e
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p curl libxslt
+
+set -e
+
+die() {
+    echo "$1" >&2
+    exit 1
+}
+
+fetch() {
+    local url="https://dl.google.com/android/repository/$1"
+    echo "$url -> $2"
+    curl -s "$url" -o "$2" || die "Failed to fetch $url"
+}
+
+pushd "$(dirname "$0")" &>/dev/null || exit 1
+
+mkdir -p xml
 
 # Convert base packages
-curl https://dl.google.com/android/repository/repository2-1.xml -o xml/repository2-1.xml
+fetch repository2-1.xml xml/repository2-1.xml
 xsltproc convertpackages.xsl xml/repository2-1.xml > generated/packages.nix
 
 # Convert system images
 for img in android android-tv android-wear android-wear-cn google_apis google_apis_playstore
 do
-    curl https://dl.google.com/android/repository/sys-img/$img/sys-img2-1.xml -o xml/$img-sys-img2-1.xml
+    fetch sys-img/$img/sys-img2-1.xml xml/$img-sys-img2-1.xml
     xsltproc --stringparam imageType $img convertsystemimages.xsl xml/$img-sys-img2-1.xml > generated/system-images-$img.nix
 done
 
 # Convert system addons
-curl https://dl.google.com/android/repository/addon2-1.xml -o xml/addon2-1.xml
+fetch addon2-1.xml xml/addon2-1.xml
 xsltproc convertaddons.xsl xml/addon2-1.xml > generated/addons.nix
+
+popd &>/dev/null