Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env bash
- # Used to convert a single universe repo file with multiple
- # packages in to multiple build definition files
- # Exit on errors
- set -e
- # Takes one argument - valid path to a stub universe json file
- STUB_UNIVERSE_JSON=$1
- if [[ ! -f $STUB_UNIVERSE_JSON ]]; then
- echo "$STUB_UNIVERSE_JSON is not a valid file" && exit 1
- fi
- # Ensure jq is installed
- which jq || $(echo "jq is not installed" && exit 1)
- if [ $(cat "$STUB_UNIVERSE_JSON" | jq -r type) = "object" ]; then
- # Parse each package
- packages=$(cat $STUB_UNIVERSE_JSON | jq .packages)
- for row in $(echo "$packages" | jq -r '.[] | @base64'); do
- data=$(echo "$row" | base64 --decode)
- name=$(echo "$data" | jq -r '.name')
- version=$(echo "$data" | jq -r '.version')
- filename="$name-$version.json"
- packagingVersion=$(echo "$data" | jq -r '.packagingVersion')
- if (( ${packagingVersion%.*} >= 3)); then
- echo "$packagingVersion is supported. Creating $filename"
- else
- echo "$packagingVersion is not supported. Ignoring $filename"
- continue
- fi
- echo "$data" | jq 'del(.releaseVersion,.selected)' > "$filename"
- echo "Created $filename"
- done
- else
- echo "Given file is not a valid json object"
- fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement