diff options
author | David Ostrovsky <david@ostrovsky.org> | 2017-03-18 16:13:26 +0100 |
---|---|---|
committer | Matthias Sohn <matthias.sohn@sap.com> | 2017-03-21 09:24:12 +0100 |
commit | 0f6ddb372bc24a010c85849dfc80f72fc8cd604d (patch) | |
tree | 9b25cdc0b3e54803902559b7c3eeb82627fb0513 | |
parent | cee9d444e97858d441b5de0f4c357bccbe4952f2 (diff) | |
download | jgit-0f6ddb372bc24a010c85849dfc80f72fc8cd604d.tar.gz jgit-0f6ddb372bc24a010c85849dfc80f72fc8cd604d.zip |
Add remaining parts of the bazel build
Add bazel build for ui and junit.http, and the test packages.
A number of different test labels are supported:
api
attributes
dfs
diff
http
lfs
lfs-server
nls
notes
pack
patch
pgm
reftree
revplot
revwalk
storage
submodule
symlinks
transport
treewalk
util
To run all tests:
bazel test //...
To run specific tests, using labels:
bazel test --test_tag_filters=api,dfs,revplot,treewalk //...
Change-Id: Ic41b05a79d855212e67b1b4707e9c6b4dc9ea70d
Signed-off-by: David Ostrovsky <david@ostrovsky.org>
Signed-off-by: Jonathan Nieder <jrn@google.com>
-rw-r--r-- | BUILD | 2 | ||||
-rw-r--r-- | WORKSPACE | 50 | ||||
-rw-r--r-- | lib/BUILD | 111 | ||||
-rw-r--r-- | org.eclipse.jgit.http.test/BUILD | 42 | ||||
-rw-r--r-- | org.eclipse.jgit.junit.http/BUILD | 22 | ||||
-rw-r--r-- | org.eclipse.jgit.lfs.server.test/BUILD | 49 | ||||
-rw-r--r-- | org.eclipse.jgit.lfs.test/BUILD | 31 | ||||
-rw-r--r-- | org.eclipse.jgit.pgm.test/BUILD | 40 | ||||
-rw-r--r-- | org.eclipse.jgit.pgm/BUILD | 38 | ||||
-rw-r--r-- | org.eclipse.jgit.test/BUILD | 61 | ||||
-rw-r--r-- | org.eclipse.jgit.test/tests.bzl | 51 | ||||
-rw-r--r-- | org.eclipse.jgit.ui/BUILD | 9 |
12 files changed, 504 insertions, 2 deletions
@@ -5,6 +5,8 @@ genrule( testonly = 1, srcs = [ "//org.eclipse.jgit:jgit", + "//org.eclipse.jgit.pgm:pgm", + "//org.eclipse.jgit.ui:ui", "//org.eclipse.jgit.archive:jgit-archive", "//org.eclipse.jgit.http.apache:http-apache", "//org.eclipse.jgit.http.server:jgit-servlet", @@ -34,6 +34,12 @@ maven_jar( ) maven_jar( + name = "commons_codec", + artifact = "commons-codec:commons-codec:1.4", + sha1 = "4216af16d38465bbab0f3dff8efa14204f7a399a", +) + +maven_jar( name = "commons_logging", artifact = "commons-logging:commons-logging:1.1.3", sha1 = "f6f66e966c70a83ffbdb6f17a0919eaf7c8aca7f", @@ -98,3 +104,47 @@ maven_jar( artifact = "com.google.code.gson:gson:2.2.4", sha1 = "a60a5e993c98c864010053cb901b7eab25306568", ) + +JETTY_VER = "9.4.1.v20170120" + +maven_jar( + name = "jetty_servlet", + artifact = "org.eclipse.jetty:jetty-servlet:" + JETTY_VER, + sha1 = "406a6edc22311629b41e98ab26901574d243d408", + src_sha1 = "57cf143c4110e0d43635406a1052013bbf29a4da", +) + +maven_jar( + name = "jetty_security", + artifact = "org.eclipse.jetty:jetty-security:" + JETTY_VER, + sha1 = "677aa94298f42d322e2f19045693a233613537b6", + src_sha1 = "933928163506a8d366652fb895e770fcf3f9e8fe", +) + +maven_jar( + name = "jetty_server", + artifact = "org.eclipse.jetty:jetty-server:" + JETTY_VER, + sha1 = "4cf4bea26592de98b9126ac60bc91fb669176a63", + src_sha1 = "2035ab117da534f9a525adfaa9f3a5634d202707", +) + +maven_jar( + name = "jetty_http", + artifact = "org.eclipse.jetty:jetty-http:" + JETTY_VER, + sha1 = "c9c9d5b15b3bb41ae9ae588b7aede301b42186f6", + src_sha1 = "f1cbf0e1329ed722bf8eba74e4c4b94619dfe8a8", +) + +maven_jar( + name = "jetty_io", + artifact = "org.eclipse.jetty:jetty-io:" + JETTY_VER, + sha1 = "6d2d7c82a4b5306ec7bf2d6eb4b67460fce77240", + src_sha1 = "404b560a0d289c904b72d02e2dbb3b9ad73db219", +) + +maven_jar( + name = "jetty_util", + artifact = "org.eclipse.jetty:jetty-util:" + JETTY_VER, + sha1 = "810c4e4275e399feaf6e8bc51aa72645bdc06205", + src_sha1 = "b0dea459e5646e9ccf250a236718d720fba7717c", +) @@ -1,18 +1,58 @@ java_library( + name = "args4j", + visibility = [ + "//org.eclipse.jgit.pgm:__pkg__", + "//org.eclipse.jgit.pgm.test:__pkg__", + ], + exports = ["@args4j//jar"], +) + +java_library( name = "commons-compress", - visibility = ["//org.eclipse.jgit.archive:__pkg__"], + visibility = [ + "//org.eclipse.jgit.archive:__pkg__", + "//org.eclipse.jgit.pgm.test:__pkg__", + ], exports = ["@commons_compress//jar"], ) java_library( + name = "commons-codec", + exports = ["@commons_codec//jar"], +) + +java_library( + name = "commons-logging", + testonly = 1, + visibility = ["//visibility:public"], + exports = ["@commons_logging//jar"], +) + +java_library( name = "gson", visibility = ["//org.eclipse.jgit.lfs.server:__pkg__"], exports = ["@gson//jar"], ) java_library( + name = "hamcrest-core", + testonly = 1, + exports = ["@hamcrest_core//jar"], +) + +java_library( + name = "hamcrest-library", + testonly = 1, + exports = ["@hamcrest_library//jar"], +) + +java_library( name = "httpclient", - visibility = ["//org.eclipse.jgit.http.apache:__pkg__"], + visibility = [ + "//org.eclipse.jgit.http.apache:__pkg__", + "//org.eclipse.jgit.lfs.server.test:__pkg__", + "//org.eclipse.jgit.pgm:__pkg__", + ], exports = ["@httpclient//jar"], ) @@ -21,6 +61,8 @@ java_library( visibility = [ "//org.eclipse.jgit.http.apache:__pkg__", "//org.eclipse.jgit.lfs.server:__pkg__", + "//org.eclipse.jgit.lfs.server.test:__pkg__", + "//org.eclipse.jgit.pgm:__pkg__", ], exports = ["@httpcore//jar"], ) @@ -32,6 +74,49 @@ java_library( ) java_library( + name = "jetty-http", + # TODO: This should be testonly but org.eclipse.jgit.pgm depends on it. + visibility = ["//visibility:public"], + exports = ["@jetty_http//jar"], + runtime_deps = [":commons-codec"], +) + +java_library( + name = "jetty-io", + # TODO: This should be testonly but org.eclipse.jgit.pgm depends on it. + visibility = ["//visibility:public"], + exports = ["@jetty_io//jar"], +) + +java_library( + name = "jetty-security", + # TODO: This should be testonly but org.eclipse.jgit.pgm depends on it. + visibility = ["//visibility:public"], + exports = ["@jetty_security//jar"], +) + +java_library( + name = "jetty-server", + # TODO: This should be testonly but org.eclipse.jgit.pgm depends on it. + visibility = ["//visibility:public"], + exports = ["@jetty_server//jar"], +) + +java_library( + name = "jetty-servlet", + # TODO: This should be testonly but org.eclipse.jgit.pgm depends on it. + visibility = ["//visibility:public"], + exports = ["@jetty_servlet//jar"], +) + +java_library( + name = "jetty-util", + # TODO: This should be testonly but org.eclipse.jgit.pgm depends on it. + visibility = ["//visibility:public"], + exports = ["@jetty_util//jar"], +) + +java_library( name = "jsch", visibility = ["//org.eclipse.jgit:__pkg__"], exports = ["@jsch//jar"], @@ -42,6 +127,10 @@ java_library( testonly = 1, visibility = ["//visibility:public"], exports = ["@junit//jar"], + runtime_deps = [ + ":hamcrest-core", + ":hamcrest-library", + ], ) java_library( @@ -49,7 +138,11 @@ java_library( visibility = [ "//org.eclipse.jgit.http.apache:__pkg__", "//org.eclipse.jgit.http.server:__pkg__", + "//org.eclipse.jgit.http.test:__pkg__", + "//org.eclipse.jgit.junit.http:__pkg__", "//org.eclipse.jgit.lfs.server:__pkg__", + "//org.eclipse.jgit.lfs.server.test:__pkg__", + "//org.eclipse.jgit.pgm:__pkg__", ], exports = ["@servlet_api_3_1//jar"], ) @@ -59,3 +152,17 @@ java_library( visibility = ["//visibility:public"], exports = ["@log_api//jar"], ) + +java_library( + name = "slf4j-simple", + testonly = 1, + visibility = ["//visibility:public"], + exports = ["@slf4j_simple//jar"], +) + +java_library( + name = "xz", + testonly = 1, + visibility = ["//visibility:public"], + exports = ["@tukaani_xz//jar"], +) diff --git a/org.eclipse.jgit.http.test/BUILD b/org.eclipse.jgit.http.test/BUILD new file mode 100644 index 0000000000..ce2d6112f1 --- /dev/null +++ b/org.eclipse.jgit.http.test/BUILD @@ -0,0 +1,42 @@ +load( + "@com_googlesource_gerrit_bazlets//tools:junit.bzl", + "junit_tests", +) + +junit_tests( + name = "http", + srcs = glob(["tst/**/*.java"]), + tags = ["http"], + deps = [ + ":helpers", + "//lib:commons-logging", + "//lib:jetty-http", + "//lib:jetty-io", + "//lib:jetty-security", + "//lib:jetty-server", + "//lib:jetty-servlet", + "//lib:jetty-util", + "//lib:junit", + "//lib:servlet-api", + "//lib:slf4j-api", + "//lib:slf4j-simple", + "//org.eclipse.jgit.http.apache:http-apache", + "//org.eclipse.jgit.http.server:jgit-servlet", + "//org.eclipse.jgit:jgit", + "//org.eclipse.jgit.junit.http:junit-http", + "//org.eclipse.jgit.junit:junit", + ], +) + +java_library( + name = "helpers", + testonly = 1, + srcs = glob(["src/**/*.java"]), + deps = [ + "//lib:junit", + "//org.eclipse.jgit.http.server:jgit-servlet", + "//org.eclipse.jgit:jgit", + "//org.eclipse.jgit.junit.http:junit-http", + "//org.eclipse.jgit.junit:junit", + ], +) diff --git a/org.eclipse.jgit.junit.http/BUILD b/org.eclipse.jgit.junit.http/BUILD new file mode 100644 index 0000000000..be6e1ae3ba --- /dev/null +++ b/org.eclipse.jgit.junit.http/BUILD @@ -0,0 +1,22 @@ +package(default_visibility = ["//visibility:public"]) + +java_library( + name = "junit-http", + testonly = 1, + srcs = glob(["src/**"]), + resources = glob(["resources/**"]), + # TODO(davido): we want here provided deps + deps = [ + "//lib:jetty-http", + "//lib:jetty-security", + "//lib:jetty-server", + "//lib:jetty-servlet", + "//lib:jetty-util", + "//lib:junit", + "//lib:servlet-api", + "//lib:slf4j-api", + "//org.eclipse.jgit.http.server:jgit-servlet", + "//org.eclipse.jgit:jgit", + "//org.eclipse.jgit.junit:junit", + ], +) diff --git a/org.eclipse.jgit.lfs.server.test/BUILD b/org.eclipse.jgit.lfs.server.test/BUILD new file mode 100644 index 0000000000..1341dd6011 --- /dev/null +++ b/org.eclipse.jgit.lfs.server.test/BUILD @@ -0,0 +1,49 @@ +load( + "@com_googlesource_gerrit_bazlets//tools:junit.bzl", + "junit_tests", +) + +TEST_BASE = ["tst/org/eclipse/jgit/lfs/server/fs/LfsServerTest.java"] + +DEPS = [ + "//org.eclipse.jgit.lfs.test:helpers", + "//org.eclipse.jgit:jgit", + "//org.eclipse.jgit.junit:junit", + "//org.eclipse.jgit.junit.http:junit-http", + "//org.eclipse.jgit.lfs:jgit-lfs", + "//org.eclipse.jgit.lfs.server:jgit-lfs-server", + "//lib:commons-logging", + "//lib:httpcore", + "//lib:httpclient", + "//lib:junit", + "//lib:jetty-http", + "//lib:jetty-io", + "//lib:jetty-server", + "//lib:jetty-servlet", + "//lib:jetty-security", + "//lib:jetty-util", + "//lib:servlet-api", +] + +junit_tests( + name = "lfs_server", + srcs = glob( + ["tst/**/*.java"], + exclude = TEST_BASE, + ), + jvm_flags = [ + "-Xmx256m", + "-Dfile.encoding=UTF-8", + ], + tags = ["lfs-server"], + deps = DEPS + [ + ":helpers", + ], +) + +java_library( + name = "helpers", + testonly = 1, + srcs = TEST_BASE, + deps = DEPS, +) diff --git a/org.eclipse.jgit.lfs.test/BUILD b/org.eclipse.jgit.lfs.test/BUILD new file mode 100644 index 0000000000..213ba57947 --- /dev/null +++ b/org.eclipse.jgit.lfs.test/BUILD @@ -0,0 +1,31 @@ +package(default_visibility = ["//visibility:public"]) + +load( + "@com_googlesource_gerrit_bazlets//tools:junit.bzl", + "junit_tests", +) + +junit_tests( + name = "lfs", + srcs = glob(["tst/**/*.java"]), + tags = ["lfs"], + deps = [ + ":helpers", + "//lib:junit", + "//org.eclipse.jgit:jgit", + "//org.eclipse.jgit.junit:junit", + "//org.eclipse.jgit.lfs:jgit-lfs", + ], +) + +java_library( + name = "helpers", + testonly = 1, + srcs = glob(["src/**/*.java"]), + deps = [ + "//lib:junit", + "//org.eclipse.jgit:jgit", + "//org.eclipse.jgit.junit:junit", + "//org.eclipse.jgit.lfs:jgit-lfs", + ], +) diff --git a/org.eclipse.jgit.pgm.test/BUILD b/org.eclipse.jgit.pgm.test/BUILD new file mode 100644 index 0000000000..5d4a175f7a --- /dev/null +++ b/org.eclipse.jgit.pgm.test/BUILD @@ -0,0 +1,40 @@ +load( + "@com_googlesource_gerrit_bazlets//tools:junit.bzl", + "junit_tests", +) + +junit_tests( + name = "pgm", + srcs = glob(["tst/**/*.java"]), + jvm_flags = [ + "-Xmx256m", + "-Dfile.encoding=UTF-8", + ], + tags = ["pgm"], + deps = [ + ":helpers", + "//lib:commons-compress", + "//lib:javaewah", + "//lib:junit", + "//lib:slf4j-api", + "//lib:slf4j-simple", + "//lib:xz", + "//org.eclipse.jgit.archive:jgit-archive", + "//org.eclipse.jgit:jgit", + "//org.eclipse.jgit.junit:junit", + "//org.eclipse.jgit.pgm:pgm", + ], +) + +java_library( + name = "helpers", + testonly = 1, + srcs = glob(["src/**/*.java"]), + deps = [ + "//lib:args4j", + "//lib:junit", + "//org.eclipse.jgit:jgit", + "//org.eclipse.jgit.junit:junit", + "//org.eclipse.jgit.pgm:pgm", + ], +) diff --git a/org.eclipse.jgit.pgm/BUILD b/org.eclipse.jgit.pgm/BUILD new file mode 100644 index 0000000000..6d3279031e --- /dev/null +++ b/org.eclipse.jgit.pgm/BUILD @@ -0,0 +1,38 @@ +java_library( + name = "pgm", + srcs = glob(["src/**"]), + resource_strip_prefix = "org.eclipse.jgit.pgm/resources", + resources = glob(["resources/**"]), + visibility = ["//visibility:public"], + deps = [ + ":services", + "//lib:args4j", + "//lib:httpclient", + "//lib:httpcore", + "//lib:jetty-http", + "//lib:jetty-io", + "//lib:jetty-security", + "//lib:jetty-server", + "//lib:jetty-servlet", + "//lib:jetty-util", + "//lib:servlet-api", + "//org.eclipse.jgit.archive:jgit-archive", + "//org.eclipse.jgit.http.apache:http-apache", + "//org.eclipse.jgit:jgit", + "//org.eclipse.jgit.lfs:jgit-lfs", + "//org.eclipse.jgit.lfs.server:jgit-lfs-server", + "//org.eclipse.jgit.ui:ui", + ], +) + +java_import( + name = "services", + jars = [":services_jar"], +) + +genrule( + name = "services_jar", + srcs = glob(["META-INF/services/*"]), + outs = ["services_jar.jar"], + cmd = "r=$$PWD && cd org.eclipse.jgit.pgm && zip -qr $$r/$@ .", +) diff --git a/org.eclipse.jgit.test/BUILD b/org.eclipse.jgit.test/BUILD new file mode 100644 index 0000000000..ae6f24223c --- /dev/null +++ b/org.eclipse.jgit.test/BUILD @@ -0,0 +1,61 @@ +load(":tests.bzl", "tests") +load( + "@com_googlesource_gerrit_bazlets//tools:genrule2.bzl", + "genrule2", +) + +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"], + exclude = HELPERS + DATA +)) + +java_library( + name = "helpers", + testonly = 1, + srcs = HELPERS, + resources = DATA, + deps = [ + "//lib:junit", + "//org.eclipse.jgit:jgit", + "//org.eclipse.jgit.junit:junit", + ], +) + +java_import( + name = "tst_rsrc", + jars = [":tst_rsrc_jar"], +) + +genrule2( + name = 'tst_rsrc_jar', + cmd = 'o=$$PWD/$@ && tar cf - $(SRCS) | tar -C $$TMP --strip-components=2 -xf - && cd $$TMP && zip -qr $$o .', + srcs = glob(['tst-rsrc/**']), + outs = ['tst_rsrc.jar',], +) diff --git a/org.eclipse.jgit.test/tests.bzl b/org.eclipse.jgit.test/tests.bzl new file mode 100644 index 0000000000..d5cc2c9868 --- /dev/null +++ b/org.eclipse.jgit.test/tests.bzl @@ -0,0 +1,51 @@ +load( + "@com_googlesource_gerrit_bazlets//tools:junit.bzl", + "junit_tests", +) + +def tests(tests): + 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') + + additional_deps = [] + if src.endswith("RootLocaleTest.java"): + additional_deps = [ + '//org.eclipse.jgit.pgm:pgm', + '//org.eclipse.jgit.ui:ui', + ] + if src.endswith("WalkEncryptionTest.java"): + additional_deps = [ + '//org.eclipse.jgit:insecure_cipher_factory', + ] + + junit_tests( + name = name, + tags = labels, + srcs = [src], + deps = additional_deps + [ + ':helpers', + ':tst_rsrc', + '//org.eclipse.jgit:jgit', + '//org.eclipse.jgit.junit:junit', + '//org.eclipse.jgit.lfs:jgit-lfs', + '@hamcrest_core//jar', + '@hamcrest_library//jar', + '@javaewah//jar', + '@junit//jar', + '@log_api//jar', + '@slf4j_simple//jar', + ], + jvm_flags = ["-Xmx256m", "-Dfile.encoding=UTF-8"], + ) diff --git a/org.eclipse.jgit.ui/BUILD b/org.eclipse.jgit.ui/BUILD new file mode 100644 index 0000000000..85ae5c0847 --- /dev/null +++ b/org.eclipse.jgit.ui/BUILD @@ -0,0 +1,9 @@ +package(default_visibility = ["//visibility:public"]) + +java_library( + name = "ui", + srcs = glob(["src/**"]), + resource_strip_prefix = "org.eclipse.jgit.ui/resources", + resources = glob(["resources/**"]), + deps = ["//org.eclipse.jgit:jgit"], +) |