summaryrefslogtreecommitdiffstats
path: root/org.eclipse.jgit.pgm/BUCK
diff options
context:
space:
mode:
authorShawn Pearce <sop@google.com>2016-01-03 09:30:16 -0800
committerShawn Pearce <sop@google.com>2016-01-03 09:30:16 -0800
commit776c3003aa0f6d66f222c2d74d86a59cf9f8fe98 (patch)
treecb1a72fbeb52a2c1f2673b88ccbb1d8d43684cce /org.eclipse.jgit.pgm/BUCK
parentda3174a812d07b03dd0738f572e187412911e925 (diff)
downloadjgit-776c3003aa0f6d66f222c2d74d86a59cf9f8fe98.tar.gz
jgit-776c3003aa0f6d66f222c2d74d86a59cf9f8fe98.zip
buck: set Bundle-Version for :jgit_bin
Run git describe during the build to determine the lineage of this working directory and stamp this information into the binary. Change-Id: I0ad24125c31e4280ccf900bac4065924087b05aa
Diffstat (limited to 'org.eclipse.jgit.pgm/BUCK')
-rw-r--r--org.eclipse.jgit.pgm/BUCK31
1 files changed, 28 insertions, 3 deletions
diff --git a/org.eclipse.jgit.pgm/BUCK b/org.eclipse.jgit.pgm/BUCK
index d99c39d031..edcf2fc28f 100644
--- a/org.eclipse.jgit.pgm/BUCK
+++ b/org.eclipse.jgit.pgm/BUCK
@@ -1,3 +1,5 @@
+include_defs('//tools/git.defs')
+
java_library(
name = 'pgm',
srcs = glob(['src/**']),
@@ -27,8 +29,14 @@ genrule(
genrule(
name = 'jgit',
- cmd = 'cat $SRCDIR/jgit.sh $(location :jgit_jar) >$OUT;' +
- 'chmod a+x $OUT',
+ cmd = ''.join([
+ 'mkdir $TMP/META-INF &&',
+ 'cp $(location :binary_manifest) $TMP/META-INF/MANIFEST.MF &&',
+ 'cp $(location :jgit_jar) $TMP/jgit.jar &&',
+ 'cd $TMP && zip $TMP/jgit.jar META-INF/MANIFEST.MF &&',
+ 'cat $SRCDIR/jgit.sh $TMP/jgit.jar >$OUT &&',
+ 'chmod a+x $OUT',
+ ]),
srcs = ['jgit.sh'],
out = 'jgit',
visibility = ['PUBLIC'],
@@ -36,10 +44,27 @@ genrule(
java_binary(
name = 'jgit_jar',
- main_class = 'org.eclipse.jgit.pgm.Main',
deps = [
':pgm',
'//lib:slf4j-simple',
'//lib:tukaani-xz',
],
+ blacklist = [
+ 'META-INF/DEPENDENCIES',
+ 'META-INF/maven/.*',
+ ],
+)
+
+genrule(
+ name = 'binary_manifest',
+ cmd = ';'.join(['echo "%s: %s" >>$OUT' % e for e in [
+ ('Manifest-Version', '1.0'),
+ ('Main-Class', 'org.eclipse.jgit.pgm.Main'),
+ ('Bundle-Version', git_version()),
+ ('Implementation-Title', 'JGit Command Line Interface'),
+ ('Implementation-Vendor', 'Eclipse.org - JGit'),
+ ('Implementation-Vendor-URL', 'http://www.eclipse.org/jgit/'),
+ ('Implementation-Vendor-Id', 'org.eclipse.jgit'),
+ ]] + ['echo >>$OUT']),
+ out = 'MANIFEST.MF',
)