diff options
author | Shawn Pearce <sop@google.com> | 2016-01-03 09:30:16 -0800 |
---|---|---|
committer | Shawn Pearce <sop@google.com> | 2016-01-03 09:30:16 -0800 |
commit | 776c3003aa0f6d66f222c2d74d86a59cf9f8fe98 (patch) | |
tree | cb1a72fbeb52a2c1f2673b88ccbb1d8d43684cce /org.eclipse.jgit.pgm/BUCK | |
parent | da3174a812d07b03dd0738f572e187412911e925 (diff) | |
download | jgit-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/BUCK | 31 |
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', ) |