PKG = 'tst/org/eclipse/jgit/' HELPERS = glob(['src/**/*.java']) + [PKG + c for c in [ 'api/AbstractRemoteCommandTest.java', 'diff/AbstractDiffTestCase.java', 'internal/storage/file/GcTestCase.java', 'internal/storage/file/PackIndexTestCase.java', 'internal/storage/file/XInputStream.java', 'nls/GermanTranslatedBundle.java', 'nls/MissingPropertyBundle.java', 'nls/NoPropertiesBundle.java', 'nls/NonTranslatedBundle.java', 'revwalk/RevQueueTestCase.java', 'revwalk/RevWalkTestCase.java', 'transport/SpiTransport.java', 'treewalk/FileTreeIteratorWithTimeControl.java', 'treewalk/filter/AlwaysCloneTreeFilter.java', 'test/resources/SampleDataRepositoryTestCase.java', 'util/CPUTimeStopWatch.java', 'util/io/Strings.java', ]] DATA = [ PKG + 'lib/empty.gitindex.dat', PKG + 'lib/sorttest.gitindex.dat', ] TESTS = glob( ['tst/**/*.java'], excludes = HELPERS + DATA, ) DEPS = { PKG + 'nls/RootLocaleTest.java': [ '//org.eclipse.jgit.pgm:pgm', '//org.eclipse.jgit.ui:ui', ], } for src in TESTS: name = src[len('tst/'):len(src)-len('.java')].replace('/', '.') labels = [] if name.startswith('org.eclipse.jgit.'): l = name[len('org.eclipse.jgit.'):] if l.startswith('internal.storage.'): l = l[len('internal.storage.'):] i = l.find('.') if i > 0: labels.append(l[:i]) else: labels.append(i) if 'lib' not in labels: labels.append('lib') java_test( name = name, labels = labels, srcs = [src], deps = [ ':helpers', ':tst_rsrc', '//org.eclipse.jgit:jgit', '//org.eclipse.jgit.junit:junit', '//lib:hamcrest-core', '//lib:hamcrest-library', '//lib:javaewah', '//lib:junit', '//lib:slf4j-api', '//lib:slf4j-simple', ] + DEPS.get(src, []), source_under_test = ['//org.eclipse.jgit:jgit'], vm_args = ['-Xmx256m', '-Dfile.encoding=UTF-8'], ) java_library( name = 'helpers', srcs = HELPERS, resources = DATA, deps = [ '//org.eclipse.jgit:jgit', '//org.eclipse.jgit.junit:junit', '//lib:junit', ], ) prebuilt_jar( name = 'tst_rsrc', binary_jar = ':tst_rsrc_jar', ) genrule( name = 'tst_rsrc_jar', cmd = 'cd $SRCDIR/tst-rsrc ; zip -qr $OUT .', srcs = glob(['tst-rsrc/**']), out = 'tst_rsrc.jar', )