blob: 14df832e838c15867f257c5f6a72841b6b03879a [file] [log] [blame]
#!/bin/bash
BASE_URL="https://plugins.jetbrains.com"
SCRIPT_PATH="$( cd "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )"
STUDIO_DIR=`ls -d $SCRIPT_PATH/../studio/*`
STUDIO_BUILD=`cat "$STUDIO_DIR"/android-studio/product-info.json \
| jq -r '.productCode + "-" + .buildNumber'`
if [[ -z "$1" ]] || [[ "$1" == "help" ]]; then
echo -n \
"usage: plugins <command> [<args>]
A CLI for JB's plugin marketplace that supports querying and installing plugins that support the current version of Studio.
Commands:
help Display this help text
ls [<query>] Query plugin marketplace by plugin name for plugin ids supporting the current version of Studio
install <id> Download and install plugins by plugin id
"
elif [[ $1 == "ls" ]]; then
QUERY="$2"
curl -s "$BASE_URL/plugins/list?build=$STUDIO_BUILD" \
| egrep -o "<name>[^<]+</name><id>[a-zA-Z0-9\.]+</id>" \
| sed 's/<id>/id: /g' \
| sed 's/<\/id>//g' \
| sed 's/<name>/name: /g' \
| sed 's/<\/name>/>/g' \
| grep -i "$QUERY" \
| column -t -s\>
elif [[ $1 == "install" ]]; then
ID="$2"
wget "$BASE_URL/pluginManager?action=download&id=$ID&build=$STUDIO_BUILD" -O ~/.dustinlam_plugins_download \
&& unzip -od "$STUDIO_DIR/android-studio/plugins" ~/.dustinlam_plugins_download
elif [[ $1 == "help" ]]; then
echo "ls [query]"
echo "install [id]"
fi