summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorShawn O. Pearce <spearce@spearce.org>2010-03-18 19:18:37 -0700
committerShawn O. Pearce <spearce@spearce.org>2010-03-18 19:20:32 -0700
commit764f1635d4fec81e178bd98a08400eee2f633de0 (patch)
tree6ee20636f7298656d52c713e51a252bf81846913
parent0553d4466a7a24f1bb4963e15d5231660e810359 (diff)
downloadjgit-764f1635d4fec81e178bd98a08400eee2f633de0.tar.gz
jgit-764f1635d4fec81e178bd98a08400eee2f633de0.zip
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 <spearce@spearce.org>
-rw-r--r--org.eclipse.jgit.packaging/org.eclipse.jgit.updatesite/pom.xml4
-rwxr-xr-x[-rw-r--r--]tools/version.sh55
2 files changed, 57 insertions, 2 deletions
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 cdf4502b2f..e3997ac339 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 @@
<packaging>eclipse-update-site</packaging>
<name>Eclipse JGit Plugin Update Site (Incubation)</name>
+ <!-- see http://issues.sonatype.org/browse/TYCHO-313 -->
+ <version>0.6.0</version>
<dependencies>
<dependency>
@@ -89,7 +91,5 @@
</plugin>
</plugins>
</build>
- <!-- see http://issues.sonatype.org/browse/TYCHO-313 -->
- <version>0.6.0</version>
</project>
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;