diff options
author | Shawn O. Pearce <spearce@spearce.org> | 2010-03-18 19:18:37 -0700 |
---|---|---|
committer | Shawn O. Pearce <spearce@spearce.org> | 2010-03-18 19:20:32 -0700 |
commit | 764f1635d4fec81e178bd98a08400eee2f633de0 (patch) | |
tree | 6ee20636f7298656d52c713e51a252bf81846913 | |
parent | 0553d4466a7a24f1bb4963e15d5231660e810359 (diff) | |
download | jgit-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.xml | 4 | ||||
-rwxr-xr-x[-rw-r--r--] | tools/version.sh | 55 |
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; |