纯java实现的git操作库。
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

71 lines
1.6 KiB

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.ui:ui',
'//lib:args4j',
],
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',
)