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
tags/v4.7.0.201704051617-r
Jonathan Nieder 7 years ago
parent
commit
bc5014faec

+ 60
- 0
lib/BUILD View File

@@ -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"],
)

+ 1
- 1
org.eclipse.jgit.archive/BUILD View File

@@ -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",
],
)

+ 2
- 2
org.eclipse.jgit.http.apache/BUILD View File

@@ -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",
],
)

+ 1
- 1
org.eclipse.jgit.http.server/BUILD View File

@@ -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",
],
)

+ 1
- 1
org.eclipse.jgit.junit/BUILD View File

@@ -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",
],
)

+ 4
- 4
org.eclipse.jgit.lfs.server/BUILD View File

@@ -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",
],
)

+ 3
- 5
org.eclipse.jgit/BUILD View File

@@ -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