Make bazel build fully hermetic

We no longer reference @bazel_tools//third_party. All of our transitive
dependencies are now specified explicitly in our WORKSPACE file.

I also fixed the way that jar dependencies are exported, so we don't
break strict dependency checking.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=116421176
This commit is contained in:
jart 2016-03-04 17:56:25 -08:00 committed by Justine Tunney
parent ab26b288c1
commit a063508b5b
33 changed files with 124 additions and 70 deletions

View file

@ -156,11 +156,12 @@ maven_jar(
sha1 = "5a2f4be6cf41e27ed7119d26cb8f106300d87d91", sha1 = "5a2f4be6cf41e27ed7119d26cb8f106300d87d91",
) )
new_git_repository( new_http_archive(
name = "closure_library", name = "closure_library",
build_file = "third_party/closure/library/closure_library.BUILD", build_file = "third_party/closure/library/closure_library.BUILD",
remote = "https://github.com/google/closure-library.git", sha256 = "8f610300e4930190137505a574a54d12346426f2a7b4f179026e41674e452a86",
tag = "20160208", strip_prefix = "closure-library-20160208",
url = "https://github.com/google/closure-library/archive/20160208.zip",
) )
maven_jar( maven_jar(
@ -283,6 +284,24 @@ maven_jar(
sha1 = "c11014f06ade0a418b2028df41b17f3b17d9cb21", sha1 = "c11014f06ade0a418b2028df41b17f3b17d9cb21",
) )
maven_jar(
name = "gson",
artifact = "com.google.code.gson:gson:2.4",
sha1 = "0695b63d702f505b9b916e02272e3b6381bade7f",
)
maven_jar(
name = "guava",
artifact = "com.google.guava:guava:19.0",
sha1 = "6ce200f6b23222af3d8abb6b6459e6c44f4bb0e9",
)
maven_jar(
name = "guava_testlib",
artifact = "com.google.guava:guava-testlib:19.0",
sha1 = "ce5b880b206de3f76d364988a6308c68c726f74a",
)
maven_jar( maven_jar(
name = "guice", name = "guice",
artifact = "com.google.inject:guice:3.0", artifact = "com.google.inject:guice:3.0",
@ -391,6 +410,12 @@ maven_jar(
sha1 = "4056712d2e6db043a38b78c4ee2130c74bae7216", sha1 = "4056712d2e6db043a38b78c4ee2130c74bae7216",
) )
maven_jar(
name = "joda_time",
artifact = "joda-time:joda-time:2.3",
sha1 = "56498efd17752898cfcc3868c1b6211a07b12b8f",
)
maven_jar( maven_jar(
name = "json", name = "json",
artifact = "org.json:json:20090211", artifact = "org.json:json:20090211",
@ -403,6 +428,24 @@ maven_jar(
sha1 = "c9ad4a0850ab676c5c64461a05ca524cdfff59f1", sha1 = "c9ad4a0850ab676c5c64461a05ca524cdfff59f1",
) )
maven_jar(
name = "jsr305",
artifact = "com.google.code.findbugs:jsr305:1.3.9",
sha1 = "40719ea6961c0cb6afaeb6a921eaa1f6afd4cfdf",
)
maven_jar(
name = "jsr330_inject",
artifact = "javax.inject:javax.inject:1",
sha1 = "6975da39a7040257bd51d21a231b76c915872d38",
)
maven_jar(
name = "junit",
artifact = "junit:junit:4.11",
sha1 = "4e031bb61df09069aeb2bffb4019e7a5034a4ee0",
)
maven_jar( maven_jar(
name = "jzlib", name = "jzlib",
artifact = "com.jcraft:jzlib:1.1.3", artifact = "com.jcraft:jzlib:1.1.3",
@ -415,6 +458,12 @@ maven_jar(
sha1 = "4ae3550e925c2621eca3ef9fb4de5298d6f91cc4", sha1 = "4ae3550e925c2621eca3ef9fb4de5298d6f91cc4",
) )
maven_jar(
name = "mockito",
artifact = "org.mockito:mockito-all:1.9.5",
sha1 = "79a8984096fc6591c1e3690e07d41be506356fa5",
)
# XXX: new_http_archive() doesn't maintain the executable bit. # XXX: new_http_archive() doesn't maintain the executable bit.
# https://github.com/bazelbuild/bazel/issues/984 # https://github.com/bazelbuild/bazel/issues/984
http_file( http_file(
@ -464,3 +513,9 @@ maven_jar(
artifact = "org.apache.sshd:sshd-core:0.7.0", artifact = "org.apache.sshd:sshd-core:0.7.0",
sha1 = "ef5d0cae23845dead3fc53ecd61bd990ed42f60f", sha1 = "ef5d0cae23845dead3fc53ecd61bd990ed42f60f",
) )
maven_jar(
name = "truth",
artifact = "com.google.truth:truth:0.28",
sha1 = "0a388c7877c845ff4b8e19689dda5ac9d34622c4",
)

View file

@ -2,5 +2,5 @@ package(default_visibility = ["//visibility:public"])
java_library( java_library(
name = "annotations", name = "annotations",
exports = ["@bazel_tools//third_party:guava"], exports = ["@guava//jar"],
) )

View file

@ -2,5 +2,5 @@ package(default_visibility = ["//visibility:public"])
java_library( java_library(
name = "base", name = "base",
exports = ["@bazel_tools//third_party:guava"], exports = ["@guava//jar"],
) )

View file

@ -2,5 +2,5 @@ package(default_visibility = ["//visibility:public"])
java_library( java_library(
name = "cache", name = "cache",
exports = ["@bazel_tools//third_party:guava"], exports = ["@guava//jar"],
) )

View file

@ -2,5 +2,5 @@ package(default_visibility = ["//visibility:public"])
java_library( java_library(
name = "collect", name = "collect",
exports = ["@bazel_tools//third_party:guava"], exports = ["@guava//jar"],
) )

View file

@ -2,5 +2,5 @@ package(default_visibility = ["//visibility:public"])
java_library( java_library(
name = "escape", name = "escape",
exports = ["@bazel_tools//third_party:guava"], exports = ["@guava//jar"],
) )

View file

@ -2,5 +2,5 @@ package(default_visibility = ["//visibility:public"])
java_library( java_library(
name = "hash", name = "hash",
exports = ["@bazel_tools//third_party:guava"], exports = ["@guava//jar"],
) )

View file

@ -2,5 +2,5 @@ package(default_visibility = ["//visibility:public"])
java_library( java_library(
name = "html", name = "html",
exports = ["@bazel_tools//third_party:guava"], exports = ["@guava//jar"],
) )

View file

@ -2,5 +2,5 @@ package(default_visibility = ["//visibility:public"])
java_library( java_library(
name = "io", name = "io",
exports = ["@bazel_tools//third_party:guava"], exports = ["@guava//jar"],
) )

View file

@ -2,5 +2,5 @@ package(default_visibility = ["//visibility:public"])
java_library( java_library(
name = "math", name = "math",
exports = ["@bazel_tools//third_party:guava"], exports = ["@guava//jar"],
) )

View file

@ -2,5 +2,5 @@ package(default_visibility = ["//visibility:public"])
java_library( java_library(
name = "net", name = "net",
exports = ["@bazel_tools//third_party:guava"], exports = ["@guava//jar"],
) )

View file

@ -2,5 +2,5 @@ package(default_visibility = ["//visibility:public"])
java_library( java_library(
name = "primitives", name = "primitives",
exports = ["@bazel_tools//third_party:guava"], exports = ["@guava//jar"],
) )

View file

@ -2,5 +2,5 @@ package(default_visibility = ["//visibility:public"])
java_library( java_library(
name = "reflect", name = "reflect",
exports = ["@bazel_tools//third_party:guava"], exports = ["@guava//jar"],
) )

View file

@ -3,5 +3,6 @@ package(default_visibility = ["//visibility:public"])
java_library( java_library(
name = "testing", name = "testing",
testonly = 1, testonly = 1,
exports = ["@bazel_tools//third_party:guava-testlib"], exports = ["@guava_testlib//jar"],
runtime_deps = ["@guava//jar"],
) )

View file

@ -2,5 +2,5 @@ package(default_visibility = ["//visibility:public"])
java_library( java_library(
name = "concurrent", name = "concurrent",
exports = ["@bazel_tools//third_party:guava"], exports = ["@guava//jar"],
) )

View file

@ -26,5 +26,6 @@ java_library(
"//third_party/java/jsr305_annotations", "//third_party/java/jsr305_annotations",
"//third_party/java/jsr330_inject", "//third_party/java/jsr330_inject",
"//third_party/java/objectify:objectify-v4_1", "//third_party/java/objectify:objectify-v4_1",
"//third_party/java/servlet/servlet_api",
], ],
) )

View file

@ -8,9 +8,9 @@ java_binary(
main_class = "com.google.common.css.compiler.commandline.ClosureCommandLineCompiler", main_class = "com.google.common.css.compiler.commandline.ClosureCommandLineCompiler",
runtime_deps = [ runtime_deps = [
"@args4j//jar", "@args4j//jar",
"@bazel_tools//third_party:gson",
"@bazel_tools//third_party:guava",
"@bazel_tools//third_party:jsr305",
"@closure_stylesheets//jar", "@closure_stylesheets//jar",
"@gson//jar",
"@guava//jar",
"//third_party/java/jsr305_annotations",
], ],
) )

View file

@ -13,13 +13,13 @@ java_library(
"@asm_analysis//jar", "@asm_analysis//jar",
"@asm_commons//jar", "@asm_commons//jar",
"@asm_util//jar", "@asm_util//jar",
"@bazel_tools//third_party:guava", "@guava//jar",
"@bazel_tools//third_party:jsr305",
"@bazel_tools//third_party:jsr330_inject",
"@guice//jar", "@guice//jar",
"@guice_assistedinject//jar", "@guice_assistedinject//jar",
"@guice_multibindings//jar", "@guice_multibindings//jar",
"@icu4j//jar", "@icu4j//jar",
"//third_party/java/jsr305_annotations",
"//third_party/java/jsr330_inject",
], ],
) )

View file

@ -4,8 +4,6 @@ licenses(["notice"]) # Apache License 2.0
java_library( java_library(
name = "core", name = "core",
exports = [ exports = ["@mina_core//jar"],
"@mina_core//jar", runtime_deps = ["//third_party/java/slf4j_api"],
"//third_party/java/slf4j_api",
],
) )

View file

@ -4,8 +4,6 @@ licenses(["notice"]) # Apache License 2.0
java_library( java_library(
name = "apache_sshd", name = "apache_sshd",
exports = [ exports = ["@sshd_core//jar"],
"@sshd_core//jar", runtime_deps = ["//third_party/java/apache_mina:core"],
"//third_party/java/apache_mina:core",
],
) )

View file

@ -4,8 +4,8 @@ licenses(["notice"]) # Apache License 2.0
java_library( java_library(
name = "appengine_gcs_client", name = "appengine_gcs_client",
exports = [ exports = ["@appengine_gcs_client//jar"],
"@appengine_gcs_client//jar", runtime_deps = [
"@google_api_client_appengine//jar", "@google_api_client_appengine//jar",
"@google_api_services_storage//jar", "@google_api_services_storage//jar",
"@google_http_client_appengine//jar", "@google_http_client_appengine//jar",

View file

@ -4,23 +4,22 @@ licenses(["notice"]) # Apache License 2.0
java_library( java_library(
name = "appengine_mapreduce", name = "appengine_mapreduce",
exports = [ exports = ["@appengine_mapreduce//jar"],
"@appengine_mapreduce//jar", runtime_deps = [
"@bazel_tools//third_party:guava",
"@bazel_tools//third_party:joda_time",
"@fastutil//jar", "@fastutil//jar",
"@google_api_client//jar", "@google_api_client//jar",
"@google_api_client_appengine//jar", "@google_api_client_appengine//jar",
"@google_api_services_bigquery//jar", "@google_api_services_bigquery//jar",
"@google_http_client_appengine//jar", "@google_http_client_appengine//jar",
"@google_http_client_jackson2//jar", "@google_http_client_jackson2//jar",
"@guava//jar",
"@jackson_core//jar", "@jackson_core//jar",
"@jackson_databind//jar", "@jackson_databind//jar",
"@protobuf_java//jar", "@protobuf_java//jar",
"//third_party/java/appengine:appengine-api",
"//third_party/java/appengine_gcs_client", "//third_party/java/appengine_gcs_client",
"//third_party/java/appengine_pipeline", "//third_party/java/appengine_pipeline",
"//third_party/java/charts4j", "//third_party/java/charts4j",
"//third_party/java/joda_time",
"//third_party/java/servlet/servlet_api", "//third_party/java/servlet/servlet_api",
], ],
) )

View file

@ -4,11 +4,10 @@ licenses(["notice"]) # Apache License 2.0
java_library( java_library(
name = "appengine_pipeline", name = "appengine_pipeline",
exports = [ exports = ["@appengine_pipeline//jar"],
"@appengine_pipeline//jar", runtime_deps = [
"@bazel_tools//third_party:guava", "@guava//jar",
"@json//jar", "@json//jar",
"//third_party/java/appengine:appengine-api",
"//third_party/java/appengine_gcs_client", "//third_party/java/appengine_gcs_client",
"//third_party/java/servlet/servlet_api", "//third_party/java/servlet/servlet_api",
], ],

View file

@ -31,7 +31,7 @@ java_plugin(
visibility = ["//visibility:private"], visibility = ["//visibility:private"],
deps = [ deps = [
"@auto_factory//jar", "@auto_factory//jar",
"@bazel_tools//third_party:guava", "@guava//jar",
"@javawriter//jar", "@javawriter//jar",
":auto_common", ":auto_common",
], ],
@ -43,7 +43,7 @@ java_plugin(
visibility = ["//visibility:private"], visibility = ["//visibility:private"],
deps = [ deps = [
"@auto_service//jar", "@auto_service//jar",
"@bazel_tools//third_party:guava", "@guava//jar",
":auto_common", ":auto_common",
], ],
) )
@ -54,8 +54,8 @@ java_plugin(
visibility = ["//visibility:private"], visibility = ["//visibility:private"],
deps = [ deps = [
"@auto_value//jar", "@auto_value//jar",
"@bazel_tools//third_party:guava", "@guava//jar",
"@bazel_tools//third_party:jsr305",
":auto_common", ":auto_common",
"//third_party/java/jsr305_annotations",
], ],
) )

View file

@ -10,34 +10,34 @@ java_library(
java_library( java_library(
name = "dagger-runtime", name = "dagger-runtime",
exports = [ exports = [
"@bazel_tools//third_party:jsr330_inject",
"@dagger//jar", "@dagger//jar",
"//third_party/java/jsr330_inject",
], ],
) )
java_library( java_library(
name = "dagger-producers", name = "dagger-producers",
exports = [ exports = [
"@bazel_tools//third_party:guava",
"@bazel_tools//third_party:jsr330_inject",
"@dagger_producers//jar", "@dagger_producers//jar",
"@guava//jar",
"//third_party/java/jsr330_inject",
], ],
) )
java_library( java_library(
name = "dagger-compiler", name = "dagger-compiler",
exports = [ exports = ["@dagger_compiler//jar"],
"@bazel_tools//third_party:auto_common", runtime_deps = [
"@bazel_tools//third_party:auto_service", "@gson//jar",
"@bazel_tools//third_party:auto_value", "@guava//jar",
"@bazel_tools//third_party:gson",
"@bazel_tools//third_party:guava",
"@bazel_tools//third_party:jsr305",
"@bazel_tools//third_party:jsr330_inject",
"@dagger_compiler//jar",
":dagger-producers", ":dagger-producers",
":dagger-runtime", ":dagger-runtime",
"//third_party/java/auto:auto_common",
"//third_party/java/auto:auto_service",
"//third_party/java/auto:auto_value",
"//third_party/java/javapoet", "//third_party/java/javapoet",
"//third_party/java/jsr305_annotations",
"//third_party/java/jsr330_inject",
], ],
) )

View file

@ -8,6 +8,6 @@ java_library(
exports = [ exports = [
"@jetty//jar", "@jetty//jar",
"@jetty_util//jar", "@jetty_util//jar",
"@servlet_api//jar",
], ],
runtime_deps = ["@servlet_api//jar"],
) )

View file

@ -4,5 +4,5 @@ licenses(["notice"]) # Apache License 2.0
java_library( java_library(
name = "joda_time", name = "joda_time",
exports = ["@bazel_tools//third_party:joda_time"], exports = ["@joda_time//jar"],
) )

View file

@ -4,5 +4,5 @@ licenses(["notice"]) # BSD License
java_library( java_library(
name = "jsr305_annotations", name = "jsr305_annotations",
exports = ["@bazel_tools//third_party:jsr305"], exports = ["@jsr305//jar"],
) )

View file

@ -4,5 +4,5 @@ licenses(["notice"]) # Apache 2.0
java_library( java_library(
name = "jsr330_inject", name = "jsr330_inject",
exports = ["@bazel_tools//third_party:jsr330_inject"], exports = ["@jsr330_inject//jar"],
) )

View file

@ -5,5 +5,8 @@ licenses(["reciprocal"]) # Common Public License 1.0
java_library( java_library(
name = "junit", name = "junit",
testonly = 1, testonly = 1,
exports = ["@bazel_tools//third_party:junit4"], exports = [
"@hamcrest_core//jar",
"@junit//jar",
],
) )

View file

@ -5,5 +5,5 @@ licenses(["notice"]) # MIT
java_library( java_library(
name = "mockito", name = "mockito",
testonly = 1, testonly = 1,
exports = ["@bazel_tools//third_party:mockito"], exports = ["@mockito//jar"],
) )

View file

@ -4,20 +4,20 @@ licenses(["notice"]) # Apache License 2.0
java_library( java_library(
name = "soy", name = "soy",
exports = [ exports = ["@soy//jar"],
runtime_deps = [
"@aopalliance//jar", "@aopalliance//jar",
"@asm//jar", "@asm//jar",
"@asm_analysis//jar", "@asm_analysis//jar",
"@asm_commons//jar", "@asm_commons//jar",
"@asm_util//jar", "@asm_util//jar",
"@bazel_tools//third_party:guava", "@guava//jar",
"@bazel_tools//third_party:jsr305",
"@bazel_tools//third_party:jsr330_inject",
"@guice//jar", "@guice//jar",
"@guice_assistedinject//jar", "@guice_assistedinject//jar",
"@guice_multibindings//jar", "@guice_multibindings//jar",
"@icu4j//jar", "@icu4j//jar",
"@soy//jar", "//third_party/java/jsr305_annotations",
"//third_party/java/jsr330_inject",
], ],
) )

View file

@ -5,5 +5,5 @@ licenses(["notice"]) # Apache License 2.0
java_library( java_library(
name = "truth", name = "truth",
testonly = 1, testonly = 1,
exports = ["@bazel_tools//third_party:truth"], exports = ["@truth//jar"],
) )