blob: f9f377a4b0c73dca6698a9ac46aef7e0de802b8a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
#!/bin/sh
# Converts the given Cargo.lock file to static cargo urls
case "$1" in
-) set -- /dev/stdin ;;
'') printf '\033[1;33m-> \033[m%s\n' "usage: ${0##*/} <Cargo.lock file>" "" \
"'-' can be used to read from stdin." ; exit 0
esac
# Word splitting is intentional
# shellcheck disable=2046
set -- $(sed '/name =/b;/version =/b;d' "$1" |
sed 's/version = /#/g;s/name = //;s/"//g' |
tr '\n' ' ' | sed 's/ #/#/g')
# We convert the name-version seperator to '#' and back to '-'
# to avoid issues that may arise from version names with a '-'
for crate in "$@" ; do
printf 'https://static.crates.io/crates/%s/%s.crate vendor\n' \
"${crate%#*}" "$crate" | sed 's/#/-/g'
done
|