TESTS = glob(['tst/**/*.java'])

for t in TESTS:
  n = t[len('tst/'):len(t)-len('.java')].replace('/', '.')
  java_test(
    name = n,
    labels = ['lfs'],
    srcs = [t],
    deps = [
      ':helpers',
      '//org.eclipse.jgit.junit:junit',
      '//org.eclipse.jgit.lfs:jgit-lfs',
      '//org.eclipse.jgit:jgit',
      '//lib:hamcrest-core',
      '//lib:hamcrest-library',
      '//lib:junit',
    ],
  )

java_library(
  name = 'helpers',
  srcs = glob(['src/**/*.java']),
  deps = [
    '//org.eclipse.jgit:jgit',
    '//org.eclipse.jgit.lfs:jgit-lfs',
    '//org.eclipse.jgit.junit:junit',
    '//lib:junit',
  ],
  visibility = ['PUBLIC']
)
