include_defs('//tools/git.defs') java_library( name = 'pgm', srcs = glob(['src/**']), resources = glob(['resources/**']), deps = [ ':services', '//org.eclipse.jgit:jgit', '//org.eclipse.jgit.archive:jgit-archive', '//org.eclipse.jgit.http.apache:http-apache', '//org.eclipse.jgit.lfs.server:jgit-lfs-server', '//org.eclipse.jgit.ui:ui', '//lib:args4j', '//lib:httpcomponents', '//lib:httpcore', '//lib/jetty:http', '//lib/jetty:io', '//lib/jetty:server', '//lib/jetty:servlet', '//lib/jetty:security', '//lib/jetty:util', '//lib:servlet-api' ], visibility = ['PUBLIC'], ) prebuilt_jar( name = 'services', binary_jar = ':services__jar', ) genrule( name = 'services__jar', cmd = 'cd $SRCDIR ; zip -qr $OUT .', srcs = glob(['META-INF/services/*']), out = 'services.jar', ) genrule( name = 'jgit', 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'], ) java_binary( name = 'jgit_jar', 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', )