summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-rwxr-xr-x[-rw-r--r--]tools/version.sh55
1 files changed, 55 insertions, 0 deletions
diff --git a/tools/version.sh b/tools/version.sh
index c3cf7ba25b..50f066b2c0 100644..100755
--- 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>}{<${1}>'"$POM_V"'</${1}>};
+ ' 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>}{<${1}>'"$POM_V"'</${1}>};
+ }
+ ' org.eclipse.jgit.packaging/org.eclipse.jgit.updatesite/pom.xml
+
perl -pi -e '
if ($ARGV ne $old_argv) {
$seen_version = 0;