Browse Source

bazel: Add explicit targets for library dependencies

This provides a place to declare visibility restrictions and
transitive dependencies for each library.

Other targets should only declare dependencies on what they directly
use, making dependencies easier to maintain.

Trim the dependencies of org.eclipse.jgit:jgit to follow that rule.
It declares dependencies on Apache httpcomponents and the servlet
API but doesn't use them.

Tested:
* 'bazel build //...' succeeds
* applying the change https://gerrit-review.googlesource.com/90843
  to a copy of Gerrit, following the instructions there, and running
  'bazel test //...' in that copy of Gerrit still succeeds

Change-Id: I3ab958ce8b3227019cdbe4cc81e0f042e1541034
stable-4.7
Jonathan Nieder 8 years ago
parent
commit
bc5014faec
  1. 60
      lib/BUILD
  2. 2
      org.eclipse.jgit.archive/BUILD
  3. 4
      org.eclipse.jgit.http.apache/BUILD
  4. 2
      org.eclipse.jgit.http.server/BUILD
  5. 2
      org.eclipse.jgit.junit/BUILD
  6. 8
      org.eclipse.jgit.lfs.server/BUILD
  7. 8
      org.eclipse.jgit/BUILD

60
lib/BUILD

@ -0,0 +1,60 @@
java_library(
name = "commons-compress",
visibility = ["//org.eclipse.jgit.archive:__pkg__"],
exports = ["@commons_compress//jar"],
)
java_library(
name = "gson",
visibility = ["//org.eclipse.jgit.lfs.server:__pkg__"],
exports = ["@gson//jar"],
)
java_library(
name = "httpclient",
visibility = ["//org.eclipse.jgit.http.apache:__pkg__"],
exports = ["@httpclient//jar"],
)
java_library(
name = "httpcore",
visibility = [
"//org.eclipse.jgit.http.apache:__pkg__",
"//org.eclipse.jgit.lfs.server:__pkg__",
],
exports = ["@httpcore//jar"],
)
java_library(
name = "javaewah",
visibility = ["//visibility:public"],
exports = ["@javaewah//jar"],
)
java_library(
name = "jsch",
visibility = ["//org.eclipse.jgit:__pkg__"],
exports = ["@jsch//jar"],
)
java_library(
name = "junit",
visibility = ["//org.eclipse.jgit.junit:__pkg__"],
exports = ["@junit//jar"],
)
java_library(
name = "servlet-api",
visibility = [
"//org.eclipse.jgit.http.apache:__pkg__",
"//org.eclipse.jgit.http.server:__pkg__",
"//org.eclipse.jgit.lfs.server:__pkg__",
],
exports = ["@servlet_api_3_1//jar"],
)
java_library(
name = "slf4j-api",
visibility = ["//visibility:public"],
exports = ["@log_api//jar"],
)

2
org.eclipse.jgit.archive/BUILD

@ -9,8 +9,8 @@ java_library(
resource_strip_prefix = "org.eclipse.jgit.archive/resources",
resources = glob(["resources/**"]),
deps = [
"//lib:commons-compress",
# We want these deps to be provided_deps
"//org.eclipse.jgit:jgit",
"@commons_compress//jar",
],
)

4
org.eclipse.jgit.http.apache/BUILD

@ -6,8 +6,8 @@ java_library(
resource_strip_prefix = "org.eclipse.jgit.http.apache/resources",
resources = glob(["resources/**"]),
deps = [
"//lib:httpclient",
"//lib:httpcore",
"//org.eclipse.jgit:jgit",
"@httpclient//jar",
"@httpcore//jar",
],
)

2
org.eclipse.jgit.http.server/BUILD

@ -6,8 +6,8 @@ java_library(
resource_strip_prefix = "org.eclipse.jgit.http.server/resources",
resources = glob(["resources/**"]),
deps = [
"//lib:servlet-api",
# We want these deps to be provided_deps
"//org.eclipse.jgit:jgit",
"@servlet_api_3_1//jar",
],
)

2
org.eclipse.jgit.junit/BUILD

@ -6,8 +6,8 @@ java_library(
resource_strip_prefix = "org.eclipse.jgit.junit/resources",
resources = glob(["resources/**"]),
deps = [
"//lib:junit",
# We want these deps to be provided_deps
"//org.eclipse.jgit:jgit",
"@junit//jar",
],
)

8
org.eclipse.jgit.lfs.server/BUILD

@ -6,12 +6,12 @@ java_library(
resource_strip_prefix = "org.eclipse.jgit.lfs.server/resources",
resources = glob(["resources/**"]),
deps = [
"//lib:gson",
"//lib:httpcore",
"//lib:servlet-api",
"//lib:slf4j-api",
"//org.eclipse.jgit.http.apache:http-apache",
"//org.eclipse.jgit:jgit",
"//org.eclipse.jgit.lfs:jgit-lfs",
"@gson//jar",
"@httpcore//jar",
"@log_api//jar",
"@servlet_api_3_1//jar",
],
)

8
org.eclipse.jgit/BUILD

@ -18,11 +18,9 @@ java_library(
resources = RESOURCES,
deps = [
":insecure_cipher_factory",
"@httpclient//jar",
"@javaewah//jar",
"@jsch//jar",
"@log_api//jar",
"@servlet_api_3_1//jar",
"//lib:javaewah",
"//lib:jsch",
"//lib:slf4j-api",
],
)

Loading…
Cancel
Save