#!/bin/sh # Update all pom.xml with new build number # # TODO(sop) This should be converted to some sort of # Java based Maven plugin so its fully portable. # POM_FILES=$(git ls-files | grep pom.xml | grep -v /src/main/resources/archetype-resources/pom.xml) case "$1" in --snapshot=*) V=$(echo "$1" | perl -pe 's/^--snapshot=//') if [ -z "$V" ] then echo >&2 "usage: $0 --snapshot=0.n.0" exit 1 fi case "$V" in *-SNAPSHOT) : ;; *) V=$V-SNAPSHOT ;; esac ;; --release) V=$(git describe HEAD) || exit ;; --reset) git checkout HEAD -- $POM_FILES exit $? ;; *) echo >&2 "usage: $0 {--snapshot=2.n | --release}" exit 1 esac case "$V" in v*) V=$(echo "$V" | perl -pe s/^v//) ;; esac perl -pi -e ' if ($ARGV ne $old_argv) { $seen_version = 0; $old_argv = $ARGV; } if (!$seen_version) { $seen_version = 1 if s{().*()}{${1}'"$V"'${2}}; } ' $POM_FILES