Skip to content

Commit

Permalink
Merge pull request #71 from md5/reorder-stackbrew-library
Browse files Browse the repository at this point in the history
Output stackbrew library file in a canonical order
  • Loading branch information
ndeloof committed Mar 17, 2015
2 parents b75dc1a + 8dc6c80 commit 1b58a95
Showing 1 changed file with 37 additions and 8 deletions.
45 changes: 37 additions & 8 deletions generate-stackbrew-library.sh
Original file line number Diff line number Diff line change
@@ -1,25 +1,54 @@
#!/usr/local/Cellar/bash/4.3.30/bin/bash
#!/bin/bash

set -e
shopt -s extglob

declare -A aliases
aliases=(
[1.605]='weekly'
[1.596.1]='latest'
)

versions=( */ )
versions=( "${versions[@]%/}" )
versions() {
local IFS=$'\n'
local versions=( "${@%/}" )
sort -Vr <<< "${versions[*]}"
}

lts_versions=( $(versions *.*.*/) )
weekly_versions=( $(versions !(*.*.*)/) )
url='git://github.com/cloudbees/jenkins-ci.org-docker'

echo '# maintainer: Nicolas De Loof <[email protected]> (@ndeloof)'
echo '# maintainer: Michael Neale <[email protected]> (@michaelneale)'

echo
for version in "${versions[@]}"; do
commit="$(git log -1 --format='format:%H' -- "$version")"
versionAliases=( $version ${aliases[$version]} )

for va in "${versionAliases[@]}"; do
echo "# group: Current Releases"
for current in $(IFS=$'\n'; sort -V <<< "${!aliases[*]}"); do
commit="$(git log -1 --format='format:%H' -- "$current")"
for va in "$current" ${aliases[$current]}; do
echo "$va: ${url}@${commit} $version"
done
echo
done

echo "# group: Previous LTS Releases"
for version in "${lts_versions[@]}"; do
if [ "${aliases[$version]}" ]; then
continue
fi

commit="$(git log -1 --format='format:%H' -- "$version")"
echo "$version: ${url}@${commit} $version"
done
echo

echo "# group: Previous Weekly Releases"
for version in "${weekly_versions[@]}"; do
if [ "${aliases[$version]}" ]; then
continue
fi

commit="$(git log -1 --format='format:%H' -- "$version")"
echo "$version: ${url}@${commit} $version"
done

0 comments on commit 1b58a95

Please sign in to comment.