From 764f1635d4fec81e178bd98a08400eee2f633de0 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Thu, 18 Mar 2010 19:18:37 -0700 Subject: [PATCH] tools/version.sh: Update OSGi manifest files Tag the version number and API range in the OSGi manifest files whenever we bump the pom.xml files. Change-Id: I7c38b51f7139c02bef6b0e67d3f9199cbcdc8a39 Signed-off-by: Shawn O. Pearce --- .../org.eclipse.jgit.updatesite/pom.xml | 4 +- tools/version.sh | 55 +++++++++++++++++++ 2 files changed, 57 insertions(+), 2 deletions(-) mode change 100644 => 100755 tools/version.sh diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.updatesite/pom.xml b/org.eclipse.jgit.packaging/org.eclipse.jgit.updatesite/pom.xml index cdf4502b2..e3997ac33 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.updatesite/pom.xml +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.updatesite/pom.xml @@ -57,6 +57,8 @@ eclipse-update-site Eclipse JGit Plugin Update Site (Incubation) + + 0.6.0 @@ -89,7 +91,5 @@ - - 0.6.0 diff --git a/tools/version.sh b/tools/version.sh old mode 100644 new mode 100755 index c3cf7ba25..50f066b2c --- a/tools/version.sh +++ b/tools/version.sh @@ -77,15 +77,70 @@ esac case "$V" in *-SNAPSHOT) POM_V=$V + OSGI_V="${V%%-SNAPSHOT}.qualifier" ;; *-[1-9]*-g[0-9a-f]*) POM_V=$(echo "$V" | perl -pe 's/-(\d+-g.*)$/.$1/') + OSGI_V=$(perl -e ' + $ARGV[0] =~ /^(\d+)(?:\.(\d+)(?:\.(\d+))?)?-(\d+)-g(.*)$/; + my ($a, $b, $c, $p, $r) = ($1, $2, $3, $4, $5); + $b = '0' unless defined $b; + $c = '0' unless defined $c; + + printf "%s.%s.%s.%6.6i_g%s\n", $a, $b, $c, $p, $r; + ' "$V") ;; *) POM_V=$V + OSGI_V=$V ;; esac +API_V=$(perl -e ' + $ARGV[0] =~ /^(\d+(?:\.\d+(?:\.\d+)?)?)/; + print $1 + ' "$V") + +API_N=$(perl -e ' + $ARGV[0] =~ /^(\d+)(?:\.(\d+)(?:\.(\d+))?)?/; + my ($a, $b) = ($1, $2); + $b = 0 unless defined $b; + $b++; + print "$a.$b.0"; + ' "$API_V") + +perl -pi -e ' + s/^(Bundle-Version:\s*).*$/${1}'"$OSGI_V"'/; + s/(org.eclipse.jgit.*;version=")[^"[(]*(")/${1}'"$API_V"'${2}/; + s/(org.eclipse.jgit.*;version="\[)[^"]*(\)")/${1}'"$API_V,$API_N"'${2}/; + ' $(git ls-files | grep META-INF/MANIFEST.MF) + +perl -pi -e ' + if ($ARGV ne $old_argv) { + $seen_version = 0; + $old_argv = $ARGV; + } + if (!$seen_version) { + $seen_version = 1 if (!/<\?xml/ && + s/(version=")[^"]*(")/${1}'"$OSGI_V"'${2}/); + } + ' org.eclipse.jgit.packaging/org.eclipse.jgit.feature/feature.xml + +perl -pi -e ' + s{<(version)>.*}{<${1}>'"$POM_V"'}; + ' org.eclipse.jgit.packaging/org.eclipse.jgit.feature/pom.xml + +perl -pi -e ' + if ($ARGV ne $old_argv) { + $seen_version = 0; + $old_argv = $ARGV; + } + if ($seen_version < 3) { + $seen_version++ if + s{<(version)>.*}{<${1}>'"$POM_V"'}; + } + ' org.eclipse.jgit.packaging/org.eclipse.jgit.updatesite/pom.xml + perl -pi -e ' if ($ARGV ne $old_argv) { $seen_version = 0;