Skip to content

Commit

Permalink
Manage Java deps with rules_jvm_external [1], and update rules_closure.
Browse files Browse the repository at this point in the history
There are many ways to manage Java deps in Bazel [2], but rules_jvm_external is the only option that is officially maintained by the Bazel team. What we were using is unsupported and complicated. It also leads to dependency conflicts as described in tink-crypto#189.

The new version of rules_closure and the migration to rules_jvm_external together resolve tink-crypto#189, and make it possible to build a binary for Tink Javascript.

[1] https://github.com/bazelbuild/rules_jvm_external
[2] https://blog.bazel.build/2019/03/31/rules-jvm-external-maven.html

PiperOrigin-RevId: 267552697
  • Loading branch information
thaidn authored and copybara-github committed Sep 6, 2019
1 parent 455c59d commit 1f7e0b1
Show file tree
Hide file tree
Showing 11 changed files with 102 additions and 507 deletions.
469 changes: 39 additions & 430 deletions WORKSPACE

Large diffs are not rendered by default.

14 changes: 7 additions & 7 deletions apps/paymentmethodtoken/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,9 @@ java_library(
deps = [
"//java",
"//java:subtle",
"@com_google_http_client//jar",
"@joda_time//jar",
"@org_json//jar",
"@maven//:com_google_http_client_google_http_client",
"@maven//:joda_time_joda_time",
"@maven//:org_json_json",
],
)

Expand Down Expand Up @@ -64,10 +64,10 @@ java_library(
deps = [
":paymentmethodtoken",
"//java:testonly",
"@com_google_http_client//jar",
"@joda_time//jar",
"@junit",
"@org_json//jar",
"@maven//:com_google_http_client_google_http_client",
"@maven//:joda_time_joda_time",
"@maven//:junit_junit",
"@maven//:org_json_json",
],
)

Expand Down
10 changes: 5 additions & 5 deletions apps/rewardedads/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@ java_library(
deps = [
"//java",
"//java:subtle",
"@com_google_http_client",
"@org_json//jar",
"@maven//:com_google_http_client_google_http_client",
"@maven//:org_json_json",
],
)

Expand Down Expand Up @@ -49,9 +49,9 @@ java_library(
deps = [
":rewardedads",
"//java:testonly",
"@com_google_http_client",
"@junit",
"@org_json//jar",
"@maven//:com_google_http_client_google_http_client",
"@maven//:junit_junit",
"@maven//:org_json_json",
],
)

Expand Down
2 changes: 1 addition & 1 deletion apps/webpush/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ java_library(
deps = [
":webpush",
"//java:testonly",
"@junit",
"@maven//:junit_junit",
],
)

Expand Down
4 changes: 2 additions & 2 deletions examples/helloworld/java/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,12 @@ java_binary(
main_class = "com.helloworld.HelloWorld",
runtime_deps = [
"@com_google_protobuf//:protobuf_java",
"@org_json",
"@maven//:org_json_json",
],
deps = [
"//java",
"//java:cleartext_keyset_handle",
"//java:subtle",
"@args4j//jar",
"@maven//:args4j_args4j",
],
)
38 changes: 15 additions & 23 deletions java/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -226,11 +226,10 @@ java_library(
],
deps = [
":testonly",
"@com_google_guava",
"@com_google_protobuf_javalite//:protobuf_java_lite",
"@com_google_truth",
"@junit",
"@org_json",
"@maven//:com_google_truth_truth",
"@maven//:junit_junit",
"@maven//:org_json_json",
],
)

Expand All @@ -244,26 +243,19 @@ java_library(
srcs = glob([
"src/test/**/*.java",
]),
runtime_deps = [
"@net_bytebuddy_byte_buddy",
"@net_bytebuddy_byte_buddy_agent",
"@org_objenesis",
],
deps = [
":awskms",
":gcpkms",
":testonly",
"@com_amazonaws_aws_java_sdk_core",
"@com_amazonaws_aws_java_sdk_kms",
"@com_fasterxml_jackson_core",
"@com_google_api_client",
"@com_google_guava",
"@com_google_http_client",
"@com_google_protobuf_javalite//:protobuf_java_lite",
"@com_google_truth",
"@junit",
"@org_json",
"@org_mockito_core",
"@maven//:com_amazonaws_aws_java_sdk_core",
"@maven//:com_amazonaws_aws_java_sdk_kms",
"@maven//:com_google_api_client_google_api_client",
"@maven//:com_google_http_client_google_http_client",
"@maven//:com_google_truth_truth",
"@maven//:junit_junit",
"@maven//:org_json_json",
"@maven//:org_mockito_mockito_core",
],
)

Expand All @@ -283,15 +275,15 @@ gen_java_test_rules(
# b/112019120
"src/test/java/com/google/crypto/tink/subtle/RsaSsaPkcs1VerifyJceTest",
],
no_rbe_tests = [
"src/test/java/com/google/crypto/tink/aead/KmsAeadKeyManagerTest",
"src/test/java/com/google/crypto/tink/aead/KmsEnvelopeAeadKeyManagerTest",
],
medium_tests = [
"src/test/java/com/google/crypto/tink/subtle/AesCtrHmacStreamingTest",
"src/test/java/com/google/crypto/tink/subtle/AesGcmJceTest",
"src/test/java/com/google/crypto/tink/hybrid/EciesAeadHkdfHybridDecryptTest",
],
no_rbe_tests = [
"src/test/java/com/google/crypto/tink/aead/KmsAeadKeyManagerTest",
"src/test/java/com/google/crypto/tink/aead/KmsEnvelopeAeadKeyManagerTest",
],
test_files = glob(
[
"src/test/**/*Test.java",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,29 +24,20 @@ java_library(
plugins = [
":auto_service_plugin",
],
runtime_deps = [
"@com_fasterxml_jackson_core_jackson_annotations",
"@com_fasterxml_jackson_core_jackson_databind",
"@commons_logging",
"@joda_time",
"@org_apache_httpcomponents_httpclient",
"@org_apache_httpcomponents_httpcore",
],
deps = [
"//java/src/main/java/com/google/crypto/tink",
"//java/src/main/java/com/google/crypto/tink/subtle",
"@com_amazonaws_aws_java_sdk_core",
"@com_amazonaws_aws_java_sdk_kms",
"@com_google_auto_service",
"@maven//:com_amazonaws_aws_java_sdk_core",
"@maven//:com_amazonaws_aws_java_sdk_kms",
"@maven//:com_google_auto_service_auto_service_annotations",
],
)

java_plugin(
name = "auto_service_plugin",
processor_class = "com.google.auto.service.processor.AutoServiceProcessor",
deps = [
"@com_google_auto_common_0_8",
"@com_google_auto_service",
"@com_google_guava",
"@maven//:com_google_auto_auto_common",
"@maven//:com_google_auto_service_auto_service",
],
)
Original file line number Diff line number Diff line change
Expand Up @@ -27,21 +27,20 @@ java_library(
deps = [
"//java/src/main/java/com/google/crypto/tink",
"//java/src/main/java/com/google/crypto/tink/subtle",
"@com_google_api_client",
"@com_google_apis_google_api_services_cloudkms",
"@com_google_auto_service",
"@com_google_http_client",
"@com_google_http_client_jackson2",
"@com_google_oauth_client",
"@maven//:com_google_api_client_google_api_client",
"@maven//:com_google_apis_google_api_services_cloudkms",
"@maven//:com_google_auto_service_auto_service_annotations",
"@maven//:com_google_http_client_google_http_client",
"@maven//:com_google_http_client_google_http_client_jackson2",
"@maven//:com_google_oauth_client_google_oauth_client",
],
)

java_plugin(
name = "auto_service_plugin",
processor_class = "com.google.auto.service.processor.AutoServiceProcessor",
deps = [
"@com_google_auto_common_0_8",
"@com_google_auto_service",
"@com_google_guava",
"@maven//:com_google_auto_auto_common",
"@maven//:com_google_auto_service_auto_service",
],
)
6 changes: 3 additions & 3 deletions java/src/main/java/com/google/crypto/tink/util/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@ java_library(
],
javacopts = JAVACOPTS_OSS,
deps = [
"@com_google_code_findbugs_jsr305",
"@com_google_http_client//jar",
"@joda_time//jar",
"@maven//:com_google_code_findbugs_jsr305",
"@maven//:com_google_http_client_google_http_client",
"@maven//:joda_time_joda_time",
],
)
15 changes: 11 additions & 4 deletions javascript/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,24 @@ package(

licenses(["notice"])

load("@io_bazel_rules_closure//closure:defs.bzl", "closure_js_library", "closure_js_test")
load("@io_bazel_rules_closure//closure:defs.bzl", "closure_js_binary", "closure_js_library", "closure_js_test")

closure_js_binary(
name = "javascript_bin",
visibility = ["//visibility:public"],
deps = [":javascript"],
)

closure_js_library(
name = "javascript",
visibility = ["//visibility:public"],
exports = [
":primitives",
":binary_reader",
":binary_writer",
":readers_writers",
":keyset_handle",
":key_manager",
":keyset_handle",
":primitives",
":readers_writers",
":registry",
],
)
Expand Down Expand Up @@ -86,6 +92,7 @@ closure_js_library(
":registry",
":util",
"//javascript/exception",
"//javascript/subtle",
"//proto:tink_closure_proto",
"@io_bazel_rules_closure//closure/library",
],
Expand Down
15 changes: 6 additions & 9 deletions tools/tinkey/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -22,15 +22,15 @@ java_library(
"//java/src/main/java/com/google/crypto/tink/aead",
"//java/src/main/java/com/google/crypto/tink/daead",
"//java/src/main/java/com/google/crypto/tink/hybrid",
"//java/src/main/java/com/google/crypto/tink/integration/awskms",
"//java/src/main/java/com/google/crypto/tink/integration/gcpkms",
"//java/src/main/java/com/google/crypto/tink/mac",
"//java/src/main/java/com/google/crypto/tink/signature",
"//java/src/main/java/com/google/crypto/tink/streamingaead",
"//java/src/main/java/com/google/crypto/tink/integration/gcpkms",
"//java/src/main/java/com/google/crypto/tink/integration/awskms",
"//java/src/main/java/com/google/crypto/tink/subtle",
"//proto:tink_java_proto",
"@args4j//jar",
"@com_google_protobuf_javalite//:protobuf_java_lite",
"@maven//:args4j_args4j",
],
)

Expand All @@ -42,13 +42,10 @@ java_binary(
javacopts = JAVACOPTS_OSS,
main_class = "com.google.crypto.tink.tinkey.Tinkey",
visibility = ["//tools/testing:__subpackages__"],
runtime_deps = [
"@com_fasterxml_jackson_core//jar",
],
deps = [
":libtinkey",
"//java/src/main/java/com/google/crypto/tink/config",
"@args4j//jar",
"@maven//:args4j_args4j",
],
)

Expand All @@ -67,8 +64,8 @@ java_library(
"//java:testonly",
"//java:testutil",
"@com_google_protobuf_javalite//:protobuf_java_lite",
"@com_google_truth//jar",
"@junit",
"@maven//:com_google_truth_truth",
"@maven//:junit_junit",
],
)

Expand Down

0 comments on commit 1f7e0b1

Please sign in to comment.