diff --git a/canton-3x/BUILD.bazel b/canton-3x/BUILD.bazel index 514d2c78d4..168cdc800e 100644 --- a/canton-3x/BUILD.bazel +++ b/canton-3x/BUILD.bazel @@ -9,7 +9,6 @@ load("//bazel_tools/java_testing:java_test_suite.bzl", "java_test_suite") load("@os_info//:os_info.bzl", "is_windows") load("//language-support/java:javaopts.bzl", "da_java_bindings_javacopts") load("//language-support/java/codegen:codegen.bzl", "dar_to_java") -load("//language-support/scala/codegen:codegen.bzl", "dar_to_scala") load("//rules_daml:daml.bzl", "daml_compile") load("@build_environment//:configuration.bzl", "sdk_version") load("@io_bazel_rules_scala//scala:scala.bzl", "scala_binary", "scala_library", "scala_macro_library") @@ -325,11 +324,10 @@ scala_library( "//canton-3x:community_util-logging", "//canton-3x:daml-common-staging_daml-errors", "//daml-lf/data", + "//daml-lf/language", "//daml-lf/transaction", "//daml-lf/transaction:transaction_proto_java", "//daml-lf/transaction:value_proto_java", - "//language-support/scala/bindings", - "//language-support/scala/bindings-pekko", "//ledger-api/grpc-definitions:ledger_api_proto_scala", "//libs-scala/concurrent", "//libs-scala/contextualized-logging", @@ -425,8 +423,6 @@ scala_library( "//daml-lf/language", "//daml-lf/transaction", "//daml-lf/transaction:transaction_proto_java", - "//language-support/scala/bindings", - "//language-support/scala/bindings-pekko", "//ledger-api/grpc-definitions:ledger_api_proto_scala", "//libs-scala/concurrent", "//libs-scala/contextualized-logging", @@ -438,6 +434,7 @@ scala_library( "@maven//:ch_qos_logback_logback_classic", "@maven//:ch_qos_logback_logback_core", "@maven//:com_github_pathikrit_better_files_2_13", + "@maven//:com_github_pureconfig_pureconfig_core_2_13", "@maven//:com_github_pureconfig_pureconfig_generic_2_13", "@maven//:com_google_crypto_tink_tink", "@maven//:com_google_guava_guava", @@ -529,8 +526,6 @@ scala_library( "//daml-lf/transaction", "//daml-lf/transaction:value_proto_java", "//daml-lf/validation", - "//language-support/scala/bindings", - "//language-support/scala/bindings-pekko", "//ledger-api/grpc-definitions:ledger_api_proto_scala", "//libs-scala/build-info", "//libs-scala/concurrent", @@ -627,8 +622,6 @@ scala_library( "//daml-lf/data", "//daml-lf/language", "//daml-lf/transaction", - "//language-support/scala/bindings", - "//language-support/scala/bindings-pekko", "//ledger-api/grpc-definitions:ledger_api_proto_scala", "//libs-scala/concurrent", "//libs-scala/contextualized-logging", @@ -641,6 +634,7 @@ scala_library( "//libs-scala/resources-grpc", "//libs-scala/resources-pekko", "//libs-scala/rs-grpc-bridge", + "//libs-scala/rs-grpc-pekko", "//libs-scala/scala-utils", "//libs-scala/struct-json/struct-spray-json", "//libs-scala/timer-utils", @@ -649,7 +643,9 @@ scala_library( "@maven//:ch_qos_logback_logback_classic", "@maven//:ch_qos_logback_logback_core", "@maven//:com_auth0_java_jwt", + "@maven//:com_chuusai_shapeless_2_13", "@maven//:com_github_ben_manes_caffeine_caffeine", + "@maven//:com_github_pureconfig_pureconfig_core_2_13", "@maven//:com_github_scopt_scopt_2_13", "@maven//:com_google_guava_guava", "@maven//:com_google_protobuf_protobuf_java", @@ -722,8 +718,6 @@ scala_library( "//canton-3x:daml-common-staging_daml-errors", "//daml-lf/data", "//daml-lf/transaction", - "//language-support/scala/bindings", - "//language-support/scala/bindings-pekko", "//ledger-api/grpc-definitions:ledger_api_proto_scala", "//libs-scala/executors", "//libs-scala/nameof", @@ -735,6 +729,7 @@ scala_library( "@maven//:com_github_ben_manes_caffeine_caffeine", "@maven//:com_github_blemale_scaffeine_2_13", "@maven//:com_github_pathikrit_better_files_2_13", + "@maven//:com_github_pureconfig_pureconfig_core_2_13", "@maven//:com_google_guava_guava", "@maven//:com_google_protobuf_protobuf_java", "@maven//:com_h2database_h2", @@ -844,16 +839,6 @@ genrule( visibility = ["//visibility:public"], ) -dar_to_scala( - name = "community_participant_dar_scala", - srcs = [ - ":community_participant_admin-workflows-with-vacuuming_dar", - ":community_participant_admin-workflows_dar", - ], - package_prefix = "com.digitalasset.canton.participant.admin.workflows", - srcjar_out = "community_participant_admin-workflow_scala.srcjar", -) - dar_to_java( name = "community_participant_admin-workflows-with-vacuuming_java", src = ":community_participant_admin-workflows-with-vacuuming_dar", @@ -869,7 +854,6 @@ copy_file( scala_library( name = "community_participant", srcs = glob(["community/participant/src/main/scala/**/*.scala"]) + [ - ":community_participant_dar_scala", ":community_participant_proto_scala", ], plugins = [kind_projector_plugin], @@ -884,6 +868,9 @@ scala_library( "-language:postfixOps", ], unused_dependency_checker_mode = "error", + exports = [ + "@maven//:io_netty_netty_handler", + ], deps = [ ":community_participant_admin-workflows-with-vacuuming_java", ":pekko-stream-minus-patched-classes", @@ -905,8 +892,6 @@ scala_library( "//daml-lf/language", "//daml-lf/transaction", "//daml-lf/transaction:transaction_proto_java", - "//language-support/scala/bindings", - "//language-support/scala/bindings-pekko", "//ledger-api/grpc-definitions:ledger_api_proto_scala", "//libs-scala/contextualized-logging", "//libs-scala/executors", @@ -927,6 +912,7 @@ scala_library( "@maven//:com_github_ben_manes_caffeine_caffeine", "@maven//:com_github_blemale_scaffeine_2_13", "@maven//:com_github_pathikrit_better_files_2_13", + "@maven//:com_github_pureconfig_pureconfig_core_2_13", "@maven//:com_google_guava_guava", "@maven//:com_google_protobuf_protobuf_java", "@maven//:com_lihaoyi_pprint_2_13", @@ -986,8 +972,6 @@ scala_library( "//canton-3x:daml-common-staging_daml-errors", "//daml-lf/data", "//daml-lf/transaction", - "//language-support/scala/bindings", - "//language-support/scala/bindings-pekko", "//ledger-api/grpc-definitions:ledger_api_proto_scala", "//libs-scala/contextualized-logging", "//libs-scala/executors", @@ -1001,9 +985,11 @@ scala_library( "//observability/metrics", "@maven//:ch_qos_logback_logback_classic", "@maven//:ch_qos_logback_logback_core", + "@maven//:com_chuusai_shapeless_2_13", "@maven//:com_fasterxml_jackson_core_jackson_core", "@maven//:com_github_pathikrit_better_files_2_13", "@maven//:com_github_pureconfig_pureconfig_cats_2_13", + "@maven//:com_github_pureconfig_pureconfig_core_2_13", "@maven//:com_github_pureconfig_pureconfig_generic_2_13", "@maven//:com_google_api_grpc_proto_google_common_protos", "@maven//:com_google_guava_guava", @@ -1081,8 +1067,6 @@ scala_library( "//canton-3x:community_util-logging", "//canton-3x:daml-common-staging_daml-errors", "//daml-lf/data", - "//language-support/scala/bindings", - "//language-support/scala/bindings-pekko", "//libs-scala/jwt", "//libs-scala/nonempty", "//libs-scala/rs-grpc-bridge", @@ -1090,6 +1074,7 @@ scala_library( "@maven//:ch_qos_logback_logback_classic", "@maven//:ch_qos_logback_logback_core", "@maven//:com_github_pathikrit_better_files_2_13", + "@maven//:com_github_pureconfig_pureconfig_core_2_13", "@maven//:com_github_scopt_scopt_2_13", "@maven//:com_lihaoyi_ammonite_2_13_11", "@maven//:com_lihaoyi_ammonite_compiler_2_13_11", @@ -1118,3 +1103,149 @@ scala_binary( visibility = ["//visibility:public"], deps = [":community_app-lib"], ) + +proto_gen( + name = "ledger-api-java", + srcs = ["//ledger-api/grpc-definitions:ledger_api_proto"], + plugin_name = "java", + visibility = [ + "//visibility:public", + ], +) + +# this is only needed for the uber-javadoc in //language-support/java:javadoc +java_library( + name = "ledger-api-java-lib-for-javadocs", + srcs = [ + ":ledger-api-java", + ":ledger-api-java-grpc", + ], + visibility = [ + "//visibility:public", + ], + deps = [ + "@maven//:com_google_api_grpc_proto_google_common_protos", + "@maven//:com_google_guava_guava", + "@maven//:com_google_protobuf_protobuf_java", + "@maven//:io_grpc_grpc_api", + "@maven//:io_grpc_grpc_core", + "@maven//:io_grpc_grpc_netty", + "@maven//:io_grpc_grpc_protobuf", + "@maven//:io_grpc_grpc_stub", + "@maven//:javax_annotation_javax_annotation_api", + ], +) + +proto_gen( + name = "ledger-api-java-grpc", + srcs = ["//ledger-api/grpc-definitions:ledger_api_proto"], + plugin_exec = "@io_grpc_grpc_java//compiler:grpc_java_plugin", + plugin_name = "java-grpc", + visibility = [ + "//visibility:public", + ], +) + +da_java_library( + name = "bindings-java", + srcs = glob(["community/bindings-java/src/main/java/**/*.java"]) + [ + ":ledger-api-java", + ":ledger-api-java-grpc", + ], + javacopts = da_java_bindings_javacopts, + tags = [ + "javadoc_root_packages=com.daml.ledger.javaapi.data", + "maven_coordinates=com.daml:bindings-java:__VERSION__", + ], + visibility = [ + "//visibility:public", + ], + deps = [ + "@maven//:com_fasterxml_jackson_core_jackson_core", + "@maven//:com_google_api_grpc_proto_google_common_protos", + "@maven//:com_google_code_findbugs_jsr305", + "@maven//:com_google_guava_guava", + "@maven//:com_google_protobuf_protobuf_java", + "@maven//:io_grpc_grpc_api", + "@maven//:io_grpc_grpc_core", + "@maven//:io_grpc_grpc_netty", + "@maven//:io_grpc_grpc_protobuf", + "@maven//:io_grpc_grpc_stub", + "@maven//:javax_annotation_javax_annotation_api", + "@maven//:org_checkerframework_checker_qual", + "@maven//:org_slf4j_slf4j_api", + ], +) + +java_test_suite( + name = "bindings-java-java-tests", + srcs = glob(["community/bindings-java/src/test/java/**/*Test.java"]), + strip = "src/test/java/", + use_short_names = is_windows, + deps = [ + ":bindings-java", + ":bindings-java-test-helpers", + "@maven//:com_google_protobuf_protobuf_java", + "@maven//:org_junit_jupiter_junit_jupiter_api", + "@maven//:org_junit_jupiter_junit_jupiter_engine", + "@maven//:org_junit_platform_junit_platform_runner", + ], +) + +java_library( + name = "bindings-java-test-helpers", + testonly = True, + srcs = glob(["community/bindings-java/src/test/java/**/TestHelpers.java"]), + deps = [":bindings-java"], +) + +da_scala_library( + name = "bindings-java-tests-lib", + srcs = glob( + ["community/bindings-java/src/test/**/*.scala"], + exclude = [ + "community/bindings-java/src/test/**/*Spec.scala", + "community/bindings-java/src/test/**/*Test.scala", + ], + ), + scala_deps = [ + "@maven//:org_scalacheck_scalacheck", + ], + visibility = [ + "//ledger-service/http-json:__subpackages__", + ], + deps = [ + ":bindings-java", + "@maven//:com_google_api_grpc_proto_google_common_protos", + "@maven//:com_google_protobuf_protobuf_java", + ], +) + +da_scala_test_suite( + name = "bindings-java-tests", + srcs = glob([ + "community/bindings-java/src/test/**/*Spec.scala", + "community/bindings-java/src/test/**/*Test.scala", + ]), + scala_deps = [ + "@maven//:org_scalacheck_scalacheck", + "@maven//:org_scalatest_scalatest_core", + "@maven//:org_scalatest_scalatest_matchers_core", + "@maven//:org_scalatest_scalatest_shouldmatchers", + "@maven//:org_scalatest_scalatest_wordspec", + "@maven//:org_scalatestplus_scalacheck_1_15", + ], + deps = [ + ":bindings-java", + ":bindings-java-tests-lib", + "@maven//:com_google_api_grpc_proto_google_common_protos", + "@maven//:com_google_protobuf_protobuf_java", + "@maven//:org_scalatest_scalatest_compatible", + ], +) + +filegroup( + name = "bindings-java-sources", + srcs = glob(["community/bindings-java/src/main/java/**/*.java"]), + visibility = ["//visibility:public"], +) diff --git a/canton/BUILD.bazel b/canton/BUILD.bazel index db75fa2c4c..b711e795cd 100644 --- a/canton/BUILD.bazel +++ b/canton/BUILD.bazel @@ -9,7 +9,6 @@ load("//bazel_tools/java_testing:java_test_suite.bzl", "java_test_suite") load("@os_info//:os_info.bzl", "is_windows") load("//language-support/java:javaopts.bzl", "da_java_bindings_javacopts") load("//language-support/java/codegen:codegen.bzl", "dar_to_java") -load("//language-support/scala/codegen:codegen.bzl", "dar_to_scala") load("//rules_daml:daml.bzl", "daml_compile") load("@build_environment//:configuration.bzl", "sdk_version") load("@io_bazel_rules_scala//scala:scala.bzl", "scala_binary", "scala_library", "scala_macro_library") @@ -328,8 +327,6 @@ scala_library( "//daml-lf/transaction", "//daml-lf/transaction:transaction_proto_java", "//daml-lf/transaction:value_proto_java", - "//language-support/scala/bindings", - "//language-support/scala/bindings-pekko", "//ledger-api/grpc-definitions:ledger_api_proto_scala", "//libs-scala/concurrent", "//libs-scala/contextualized-logging", @@ -425,8 +422,6 @@ scala_library( "//daml-lf/language", "//daml-lf/transaction", "//daml-lf/transaction:transaction_proto_java", - "//language-support/scala/bindings", - "//language-support/scala/bindings-pekko", "//ledger-api/grpc-definitions:ledger_api_proto_scala", "//libs-scala/concurrent", "//libs-scala/contextualized-logging", @@ -438,6 +433,7 @@ scala_library( "@maven//:ch_qos_logback_logback_classic", "@maven//:ch_qos_logback_logback_core", "@maven//:com_github_pathikrit_better_files_2_13", + "@maven//:com_github_pureconfig_pureconfig_core_2_13", "@maven//:com_github_pureconfig_pureconfig_generic_2_13", "@maven//:com_google_crypto_tink_tink", "@maven//:com_google_guava_guava", @@ -529,8 +525,6 @@ scala_library( "//daml-lf/transaction", "//daml-lf/transaction:value_proto_java", "//daml-lf/validation", - "//language-support/scala/bindings", - "//language-support/scala/bindings-pekko", "//ledger-api/grpc-definitions:ledger_api_proto_scala", "//libs-scala/build-info", "//libs-scala/concurrent", @@ -627,8 +621,6 @@ scala_library( "//daml-lf/data", "//daml-lf/language", "//daml-lf/transaction", - "//language-support/scala/bindings", - "//language-support/scala/bindings-pekko", "//ledger-api/grpc-definitions:ledger_api_proto_scala", "//libs-scala/concurrent", "//libs-scala/contextualized-logging", @@ -641,6 +633,7 @@ scala_library( "//libs-scala/resources-grpc", "//libs-scala/resources-pekko", "//libs-scala/rs-grpc-bridge", + "//libs-scala/rs-grpc-pekko", "//libs-scala/scala-utils", "//libs-scala/struct-json/struct-spray-json", "//libs-scala/timer-utils", @@ -649,7 +642,9 @@ scala_library( "@maven//:ch_qos_logback_logback_classic", "@maven//:ch_qos_logback_logback_core", "@maven//:com_auth0_java_jwt", + "@maven//:com_chuusai_shapeless_2_13", "@maven//:com_github_ben_manes_caffeine_caffeine", + "@maven//:com_github_pureconfig_pureconfig_core_2_13", "@maven//:com_github_scopt_scopt_2_13", "@maven//:com_google_guava_guava", "@maven//:com_google_protobuf_protobuf_java", @@ -722,8 +717,6 @@ scala_library( "//canton:daml-common-staging_daml-errors", "//daml-lf/data", "//daml-lf/transaction", - "//language-support/scala/bindings", - "//language-support/scala/bindings-pekko", "//ledger-api/grpc-definitions:ledger_api_proto_scala", "//libs-scala/executors", "//libs-scala/nameof", @@ -735,6 +728,7 @@ scala_library( "@maven//:com_github_ben_manes_caffeine_caffeine", "@maven//:com_github_blemale_scaffeine_2_13", "@maven//:com_github_pathikrit_better_files_2_13", + "@maven//:com_github_pureconfig_pureconfig_core_2_13", "@maven//:com_google_guava_guava", "@maven//:com_google_protobuf_protobuf_java", "@maven//:com_h2database_h2", @@ -844,16 +838,6 @@ genrule( visibility = ["//visibility:public"], ) -dar_to_scala( - name = "community_participant_dar_scala", - srcs = [ - ":community_participant_admin-workflows-with-vacuuming_dar", - ":community_participant_admin-workflows_dar", - ], - package_prefix = "com.digitalasset.canton.participant.admin.workflows", - srcjar_out = "community_participant_admin-workflow_scala.srcjar", -) - dar_to_java( name = "community_participant_admin-workflows-with-vacuuming_java", src = ":community_participant_admin-workflows-with-vacuuming_dar", @@ -869,7 +853,6 @@ copy_file( scala_library( name = "community_participant", srcs = glob(["community/participant/src/main/scala/**/*.scala"]) + [ - ":community_participant_dar_scala", ":community_participant_proto_scala", ], plugins = [kind_projector_plugin], @@ -884,6 +867,9 @@ scala_library( "-language:postfixOps", ], unused_dependency_checker_mode = "error", + exports = [ + "@maven//:io_netty_netty_handler", + ], deps = [ ":community_participant_admin-workflows-with-vacuuming_java", ":pekko-stream-minus-patched-classes", @@ -905,8 +891,6 @@ scala_library( "//daml-lf/language", "//daml-lf/transaction", "//daml-lf/transaction:transaction_proto_java", - "//language-support/scala/bindings", - "//language-support/scala/bindings-pekko", "//ledger-api/grpc-definitions:ledger_api_proto_scala", "//libs-scala/contextualized-logging", "//libs-scala/executors", @@ -927,6 +911,7 @@ scala_library( "@maven//:com_github_ben_manes_caffeine_caffeine", "@maven//:com_github_blemale_scaffeine_2_13", "@maven//:com_github_pathikrit_better_files_2_13", + "@maven//:com_github_pureconfig_pureconfig_core_2_13", "@maven//:com_google_guava_guava", "@maven//:com_google_protobuf_protobuf_java", "@maven//:com_lihaoyi_pprint_2_13", @@ -986,8 +971,6 @@ scala_library( "//canton:daml-common-staging_daml-errors", "//daml-lf/data", "//daml-lf/transaction", - "//language-support/scala/bindings", - "//language-support/scala/bindings-pekko", "//ledger-api/grpc-definitions:ledger_api_proto_scala", "//libs-scala/contextualized-logging", "//libs-scala/executors", @@ -1001,9 +984,11 @@ scala_library( "//observability/metrics", "@maven//:ch_qos_logback_logback_classic", "@maven//:ch_qos_logback_logback_core", + "@maven//:com_chuusai_shapeless_2_13", "@maven//:com_fasterxml_jackson_core_jackson_core", "@maven//:com_github_pathikrit_better_files_2_13", "@maven//:com_github_pureconfig_pureconfig_cats_2_13", + "@maven//:com_github_pureconfig_pureconfig_core_2_13", "@maven//:com_github_pureconfig_pureconfig_generic_2_13", "@maven//:com_google_api_grpc_proto_google_common_protos", "@maven//:com_google_guava_guava", @@ -1068,7 +1053,6 @@ scala_library( ], deps = [ ":pekko-stream-minus-patched-classes", - "//canton:bindings-java", "//canton:community_app-base", "//canton:community_base", "//canton:community_buildinfo", @@ -1081,8 +1065,6 @@ scala_library( "//canton:community_util-logging", "//canton:daml-common-staging_daml-errors", "//daml-lf/data", - "//language-support/scala/bindings", - "//language-support/scala/bindings-pekko", "//libs-scala/jwt", "//libs-scala/nonempty", "//libs-scala/rs-grpc-bridge", @@ -1090,6 +1072,7 @@ scala_library( "@maven//:ch_qos_logback_logback_classic", "@maven//:ch_qos_logback_logback_core", "@maven//:com_github_pathikrit_better_files_2_13", + "@maven//:com_github_pureconfig_pureconfig_core_2_13", "@maven//:com_github_scopt_scopt_2_13", "@maven//:com_lihaoyi_ammonite_2_13_11", "@maven//:com_lihaoyi_ammonite_compiler_2_13_11",