Move Daml Profiler to EE version of sandbox/sandbox-classic (#9054)

* Move Daml Profiler to EE version of sandbox/sandbox-classic

This splits Sandbox targets into EE/CE targets and exposes the option
in the EE version. The option still exists in the CE option for now
until we have released EE artifacts to not break users that might know
about it without an alternative.

There is also a small test that makes sure that this actually works
since classpaths are dumb and it didn’t work at first.

changelog_begin
changelog_end

* Fix publish target

changelog_begin
changelog_end

* Publish transitive dep

changelog_begin
changelog_end

* I hate bash

changelog_begin
changelog_end
This commit is contained in:
Moritz Kiefer 2021-03-09 19:35:14 +01:00 committed by GitHub
parent 7859bc13e1
commit e04bd91eda
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
12 changed files with 374 additions and 196 deletions

View File

@ -6,21 +6,8 @@ load(
"da_scala_binary",
"da_scala_library",
)
deps = [
"//daml-script/runner:script-runner-lib",
"//extractor",
"//language-support/codegen-main:codegen-main-lib",
"//ledger-service/http-json",
"//ledger/sandbox",
"//ledger/sandbox-classic",
"//navigator/backend:navigator-library",
"//triggers/runner:trigger-runner-lib",
"//triggers/service:trigger-service",
"//triggers/service/auth:oauth2-middleware",
"//navigator/backend:backend-resources",
"//navigator/backend:frontend-resources",
]
load("@os_info//:os_info.bzl", "is_windows")
load(":util.bzl", "deps")
scala_deps = [
"@maven//:com_typesafe_akka_akka_http_spray_json",
@ -51,7 +38,7 @@ da_scala_binary(
unused_dependency_checker_mode = "off",
visibility = ["//visibility:public"],
runtime_deps = runtime_deps,
deps = deps,
deps = deps("ce"),
)
da_scala_binary(
@ -67,5 +54,26 @@ da_scala_binary(
runtime_deps = runtime_deps + [
"@maven//:com_oracle_database_jdbc_ojdbc8",
],
deps = deps,
deps = deps("ee"),
)
# This is deliberately an sh_test on the actual SDK jars to test
# that the class paths end up being resolved properly and we really
# have the EE artifacts when we want to and only then.
sh_test(
name = "validate",
srcs = ["validate.sh"],
args = [
"$(location @local_jdk//:bin/java.exe)" if is_windows else "$(location @local_jdk//:bin/java)",
"$(location :sdk_deploy.jar)",
"$(location :sdk_ee_deploy.jar)",
],
data = [
":sdk_deploy.jar",
":sdk_ee_deploy.jar",
"@local_jdk//:bin/java.exe" if is_windows else "@local_jdk//:bin/java",
],
deps = [
"@bazel_tools//tools/bash/runfiles",
],
)

View File

@ -0,0 +1,18 @@
# Copyright (c) 2021 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
def deps(edition):
return [
"//daml-script/runner:script-runner-lib-{}".format(edition),
"//extractor",
"//language-support/codegen-main:codegen-main-lib",
"//ledger-service/http-json",
"//ledger/sandbox:sandbox-{}".format(edition),
"//ledger/sandbox-classic:sandbox-classic-{}".format(edition),
"//navigator/backend:navigator-library",
"//triggers/runner:trigger-runner-lib",
"//triggers/service:trigger-service",
"//triggers/service/auth:oauth2-middleware",
"//navigator/backend:backend-resources",
"//navigator/backend:frontend-resources",
]

View File

@ -0,0 +1,33 @@
#!/usr/bin/env bash
# Copyright (c) 2021 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
# --- begin runfiles.bash initialization v2 ---
# Copy-pasted from the Bazel Bash runfiles library v2.
set -uo pipefail; f=bazel_tools/tools/bash/runfiles/runfiles.bash
source "${RUNFILES_DIR:-/dev/null}/$f" 2>/dev/null || \
source "$(grep -sm1 "^$f " "${RUNFILES_MANIFEST_FILE:-/dev/null}" | cut -f2- -d' ')" 2>/dev/null || \
source "$0.runfiles/$f" 2>/dev/null || \
source "$(grep -sm1 "^$f " "$0.runfiles_manifest" | cut -f2- -d' ')" 2>/dev/null || \
source "$(grep -sm1 "^$f " "$0.exe.runfiles_manifest" | cut -f2- -d' ')" 2>/dev/null || \
{ echo>&2 "ERROR: cannot find $f"; exit 1; }; f=; set -e
# --- end runfiles.bash initialization v2 ---
set -eou pipefail
JAVA=$(rlocation "$TEST_WORKSPACE/$1")
SDK_CE=$(rlocation "$TEST_WORKSPACE/$2")
SDK_EE=$(rlocation "$TEST_WORKSPACE/$3")
for cmd in sandbox sandbox-classic; do
ret=0
$JAVA -jar $SDK_CE $cmd --help | grep -q profile-dir || ret=$?
if [[ $ret -eq 0 ]]; then
echo "Unexpected profile-dir option in CE"
exit 1
fi
done
for cmd in sandbox sandbox-classic; do
$JAVA -jar $SDK_EE $cmd --help | grep -q profile-dir
done

View File

@ -11,56 +11,68 @@ script_scalacopts = ["-P:wartremover:traverser:org.wartremover.warts.%s" % wart
"NonUnitStatements",
]]
da_scala_library(
alias(
name = "script-runner-lib",
srcs = glob(["src/main/scala/**/*.scala"]),
scala_deps = [
"@maven//:com_github_scopt_scopt",
"@maven//:com_typesafe_akka_akka_http",
"@maven//:com_typesafe_akka_akka_http_core",
"@maven//:com_typesafe_akka_akka_http_spray_json",
"@maven//:com_typesafe_akka_akka_stream",
"@maven//:com_typesafe_akka_akka_parsing",
"@maven//:io_spray_spray_json",
"@maven//:org_scala_lang_modules_scala_collection_compat",
"@maven//:org_scalaz_scalaz_core",
"@maven//:org_typelevel_paiges_core",
],
scalacopts = script_scalacopts,
actual = "script-runner-lib-ce",
visibility = ["//visibility:public"],
deps = [
"//daml-lf/archive:daml_lf_archive_reader",
"//daml-lf/archive:daml_lf_dev_archive_proto_java",
"//daml-lf/data",
"//daml-lf/engine",
"//daml-lf/interface",
"//daml-lf/interpreter",
"//daml-lf/language",
"//daml-lf/scenario-interpreter",
"//daml-lf/transaction",
"//daml-script/converter",
"//language-support/scala/bindings",
"//language-support/scala/bindings-akka",
"//ledger-api/rs-grpc-bridge",
"//ledger-service/cli-opts",
"//ledger-service/jwt",
"//ledger-service/lf-value-json",
"//ledger/caching",
"//ledger/ledger-api-auth",
"//ledger/ledger-api-client",
"//ledger/ledger-api-common",
"//ledger/ledger-resources",
"//ledger/participant-integration-api",
"//ledger/participant-state",
"//ledger/sandbox-classic",
"//ledger/sandbox-common",
"//libs-scala/auth-utils",
"//libs-scala/ports",
"//libs-scala/resources",
"//libs-scala/scala-utils",
],
)
[
da_scala_library(
name = "script-runner-lib-{}".format(edition),
srcs = glob(["src/main/scala/**/*.scala"]),
scala_deps = [
"@maven//:com_github_scopt_scopt",
"@maven//:com_typesafe_akka_akka_http",
"@maven//:com_typesafe_akka_akka_http_core",
"@maven//:com_typesafe_akka_akka_http_spray_json",
"@maven//:com_typesafe_akka_akka_stream",
"@maven//:com_typesafe_akka_akka_parsing",
"@maven//:io_spray_spray_json",
"@maven//:org_scala_lang_modules_scala_collection_compat",
"@maven//:org_scalaz_scalaz_core",
"@maven//:org_typelevel_paiges_core",
],
scalacopts = script_scalacopts,
visibility = ["//visibility:public"],
deps = [
"//daml-lf/archive:daml_lf_archive_reader",
"//daml-lf/archive:daml_lf_dev_archive_proto_java",
"//daml-lf/data",
"//daml-lf/engine",
"//daml-lf/interface",
"//daml-lf/interpreter",
"//daml-lf/language",
"//daml-lf/scenario-interpreter",
"//daml-lf/transaction",
"//daml-script/converter",
"//language-support/scala/bindings",
"//language-support/scala/bindings-akka",
"//ledger-api/rs-grpc-bridge",
"//ledger-service/cli-opts",
"//ledger-service/jwt",
"//ledger-service/lf-value-json",
"//ledger/caching",
"//ledger/ledger-api-auth",
"//ledger/ledger-api-client",
"//ledger/ledger-api-common",
"//ledger/ledger-resources",
"//ledger/participant-integration-api",
"//ledger/participant-state",
"//ledger/sandbox-classic:sandbox-classic-{}".format(edition),
"//ledger/sandbox-common",
"//libs-scala/auth-utils",
"//libs-scala/ports",
"//libs-scala/resources",
"//libs-scala/scala-utils",
],
)
for edition in [
"ce",
"ee",
]
]
da_scala_binary(
name = "script-runner",
main_class = "com.daml.lf.engine.script.RunnerMain",

View File

@ -29,7 +29,7 @@ da_scala_library(
"//ledger/participant-integration-api",
"//ledger/participant-state",
"//ledger/sandbox-classic",
"//ledger/sandbox-common",
"//ledger/sandbox-common:sandbox-common-ce",
"//libs-scala/ports",
"//libs-scala/resources",
"@maven//:ch_qos_logback_logback_classic",

View File

@ -11,73 +11,85 @@ load(
"lf_version_configuration_versions",
)
da_scala_library(
alias(
name = "sandbox-classic",
srcs = glob(["src/main/scala/**/*.scala"]),
# Do not include logback.xml into the library: let the user
# of the sandbox-as-a-library decide how to log.
resources = ["//ledger/sandbox-common:src/main/resources/banner.txt"],
scala_deps = [
"@maven//:com_github_scopt_scopt",
"@maven//:com_typesafe_akka_akka_actor",
"@maven//:com_typesafe_akka_akka_stream",
"@maven//:org_scala_lang_modules_scala_java8_compat",
"@maven//:org_scala_lang_modules_scala_collection_compat",
"@maven//:org_scalaz_scalaz_core",
],
scalacopts = [
"-P:silencer:lineContentFilters=import scala.collection.compat",
# retain is deprecated in 2.13 but the replacement filterInPlace
# does not exist in 2.12.
"-P:silencer:lineContentFilters=retain",
],
silent_annotations = True,
tags = ["maven_coordinates=com.daml:sandbox-classic:__VERSION__"],
visibility = [
"//visibility:public",
],
runtime_deps = [
"@maven//:ch_qos_logback_logback_classic",
"@maven//:ch_qos_logback_logback_core",
"@maven//:com_h2database_h2",
"@maven//:org_postgresql_postgresql",
],
deps = [
"//daml-lf/archive:daml_lf_dev_archive_proto_java",
"//daml-lf/data",
"//daml-lf/engine",
"//daml-lf/interpreter",
"//daml-lf/language",
"//daml-lf/scenario-interpreter",
"//daml-lf/transaction",
"//language-support/scala/bindings",
"//ledger-api/rs-grpc-bridge",
"//ledger/caching",
"//ledger/ledger-api-auth",
"//ledger/ledger-api-common",
"//ledger/ledger-api-domain",
"//ledger/ledger-api-health",
"//ledger/ledger-resources",
"//ledger/metrics",
"//ledger/participant-integration-api",
"//ledger/participant-state",
"//ledger/participant-state-index",
"//ledger/participant-state-metrics",
"//ledger/sandbox-common",
"//libs-scala/build-info",
"//libs-scala/concurrent",
"//libs-scala/contextualized-logging",
"//libs-scala/ports",
"//libs-scala/resources",
"//libs-scala/resources-akka",
"//libs-scala/resources-grpc",
"@maven//:ch_qos_logback_logback_classic",
"@maven//:com_typesafe_config",
"@maven//:io_dropwizard_metrics_metrics_core",
"@maven//:org_slf4j_slf4j_api",
],
actual = "sandbox-classic-ce",
visibility = ["//visibility:public"],
)
[
da_scala_library(
name = "sandbox-classic-{}".format(edition),
srcs = glob(["src/main/scala/**/*.scala"]),
# Do not include logback.xml into the library: let the user
# of the sandbox-as-a-library decide how to log.
resources = ["//ledger/sandbox-common:src/main/resources/banner.txt"],
scala_deps = [
"@maven//:com_github_scopt_scopt",
"@maven//:com_typesafe_akka_akka_actor",
"@maven//:com_typesafe_akka_akka_stream",
"@maven//:org_scala_lang_modules_scala_java8_compat",
"@maven//:org_scala_lang_modules_scala_collection_compat",
"@maven//:org_scalaz_scalaz_core",
],
scalacopts = [
"-P:silencer:lineContentFilters=import scala.collection.compat",
# retain is deprecated in 2.13 but the replacement filterInPlace
# does not exist in 2.12.
"-P:silencer:lineContentFilters=retain",
],
silent_annotations = True,
tags = ["maven_coordinates=com.daml:sandbox-classic:__VERSION__"],
visibility = [
"//visibility:public",
],
runtime_deps = [
"@maven//:ch_qos_logback_logback_classic",
"@maven//:ch_qos_logback_logback_core",
"@maven//:com_h2database_h2",
"@maven//:org_postgresql_postgresql",
],
deps = [
"//daml-lf/archive:daml_lf_dev_archive_proto_java",
"//daml-lf/data",
"//daml-lf/engine",
"//daml-lf/interpreter",
"//daml-lf/language",
"//daml-lf/scenario-interpreter",
"//daml-lf/transaction",
"//language-support/scala/bindings",
"//ledger-api/rs-grpc-bridge",
"//ledger/caching",
"//ledger/ledger-api-auth",
"//ledger/ledger-api-common",
"//ledger/ledger-api-domain",
"//ledger/ledger-api-health",
"//ledger/ledger-resources",
"//ledger/metrics",
"//ledger/participant-integration-api",
"//ledger/participant-state",
"//ledger/participant-state-index",
"//ledger/participant-state-metrics",
"//ledger/sandbox-common:sandbox-common-{}".format(edition),
"//libs-scala/build-info",
"//libs-scala/concurrent",
"//libs-scala/contextualized-logging",
"//libs-scala/ports",
"//libs-scala/resources",
"//libs-scala/resources-akka",
"//libs-scala/resources-grpc",
"@maven//:ch_qos_logback_logback_classic",
"@maven//:com_typesafe_config",
"@maven//:io_dropwizard_metrics_metrics_core",
"@maven//:org_slf4j_slf4j_api",
],
)
for edition in [
"ce",
"ee",
]
]
da_scala_binary(
name = "sandbox-classic-binary",
main_class = "com.daml.platform.sandbox.SandboxMain",

View File

@ -57,6 +57,47 @@ da_scala_library(
],
)
da_scala_library(
name = "sandbox-common-ce",
srcs = glob(["src/ce/**/*.scala"]),
scala_deps = [
"@maven//:org_scalaz_scalaz_core",
"@maven//:com_github_scopt_scopt",
],
tags = ["maven_coordinates=com.daml:sandbox-common-ce:__VERSION__"],
visibility = ["//visibility:public"],
exports = [":sandbox-common"],
deps = [
":sandbox-common",
"//daml-lf/data",
"//ledger/caching",
"//ledger/ledger-api-common",
"//ledger/participant-integration-api",
"//ledger/participant-state",
"//libs-scala/ports",
],
)
da_scala_library(
name = "sandbox-common-ee",
srcs = glob(["src/ee/**/*.scala"]),
scala_deps = [
"@maven//:org_scalaz_scalaz_core",
"@maven//:com_github_scopt_scopt",
],
visibility = ["//visibility:public"],
exports = [":sandbox-common"],
deps = [
":sandbox-common",
"//daml-lf/data",
"//ledger/caching",
"//ledger/ledger-api-common",
"//ledger/participant-integration-api",
"//ledger/participant-state",
"//libs-scala/ports",
],
)
alias(
name = "Test-1.5.dar",
actual = ":historical-dars/Test-1.5.dar",

View File

@ -0,0 +1,24 @@
// Copyright (c) 2021 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
package com.daml.platform.sandbox.cli
import java.io.File
import com.daml.platform.sandbox.config.{LedgerName, SandboxConfig}
import scopt.OptionParser
class CommonCli(name: LedgerName) extends CommonCliBase(name) {
override val parser: OptionParser[SandboxConfig] = {
val parser = super.parser
// TODO Remove this once the EE artifacts are consumable for users. Until then
// we keep it as a hidden option.
parser
.opt[File]("profile-dir")
.optional()
.hidden()
.action((dir, config) => config.copy(profileDir = Some(dir.toPath)))
.text("Enable profiling and write the profiles into the given directory.")
parser
}
}

View File

@ -0,0 +1,21 @@
// Copyright (c) 2021 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
package com.daml.platform.sandbox.cli
import java.io.File
import com.daml.platform.sandbox.config.{LedgerName, SandboxConfig}
import scopt.OptionParser
class CommonCli(name: LedgerName) extends CommonCliBase(name) {
override val parser: OptionParser[SandboxConfig] = {
val parser = super.parser
parser
.opt[File]("profile-dir")
.optional()
.action((dir, config) => config.copy(profileDir = Some(dir.toPath)))
.text("Enable profiling and write the profiles into the given directory.")
parser
}
}

View File

@ -18,7 +18,7 @@ import com.daml.lf.data.Ref
import com.daml.platform.common.LedgerIdMode
import com.daml.platform.configuration.Readers._
import com.daml.platform.configuration.MetricsReporter
import com.daml.platform.sandbox.cli.CommonCli._
import com.daml.platform.sandbox.cli.CommonCliBase._
import com.daml.platform.sandbox.config.{LedgerName, SandboxConfig}
import com.daml.platform.services.time.TimeProviderType
import com.daml.ports.Port
@ -31,11 +31,12 @@ import scala.util.Try
// [[SandboxConfig]] should not expose Options for mandatory fields as such validations should not
// leave this class. Due to the limitations of scopt, we either use nulls or use the mutable builder
// instead.
class CommonCli(name: LedgerName) {
class CommonCliBase(name: LedgerName) {
private val KnownLogLevels = Set("ERROR", "WARN", "INFO", "DEBUG", "TRACE")
val parser: OptionParser[SandboxConfig] =
// Def so we can override it
def parser: OptionParser[SandboxConfig] =
new OptionParser[SandboxConfig](name.unwrap.toLowerCase()) {
head(s"$name version ${BuildInfo.Version}")
@ -276,12 +277,6 @@ class CommonCli(name: LedgerName) {
)
)
opt[File]("profile-dir")
.hidden()
.optional()
.action((dir, config) => config.copy(profileDir = Some(dir.toPath)))
.text("Enable profiling and write the profiles into the given directory.")
opt[Boolean]("stack-traces")
.hidden()
.optional()
@ -322,7 +317,7 @@ class CommonCli(name: LedgerName) {
def withContractIdSeeding(
defaultConfig: SandboxConfig,
seedingModes: Option[Seeding]*
): CommonCli = {
): CommonCliBase = {
val seedingModesMap =
seedingModes.map(mode => (mode.map(_.name).getOrElse(Seeding.NoSeedingModeName), mode)).toMap
val allSeedingModeNames = seedingModesMap.keys.mkString(", ")
@ -345,7 +340,7 @@ class CommonCli(name: LedgerName) {
this
}
def withEarlyAccess: CommonCli = {
def withEarlyAccess: CommonCliBase = {
parser
.opt[Unit]("early-access-unsafe")
.optional()
@ -362,7 +357,7 @@ class CommonCli(name: LedgerName) {
this
}
def withDevEngine: CommonCli = {
def withDevEngine: CommonCliBase = {
parser
.opt[Unit]("daml-lf-dev-mode-unsafe")
.optional()
@ -382,7 +377,7 @@ class CommonCli(name: LedgerName) {
}
object CommonCli {
object CommonCliBase {
private def setTimeProviderType(
config: SandboxConfig,

View File

@ -6,62 +6,74 @@ load("//ledger/ledger-api-test-tool:conformance.bzl", "server_conformance_test")
load("@os_info//:os_info.bzl", "is_windows")
load("@build_environment//:configuration.bzl", "mvn_version")
da_scala_library(
alias(
name = "sandbox",
srcs = glob(["src/main/scala/**/*.scala"]),
# Do not include logback.xml into the library: let the user
# of the sandbox-as-a-library decide how to log.
resources = ["//ledger/sandbox-common:src/main/resources/banner.txt"],
scala_deps = [
"@maven//:com_github_scopt_scopt",
"@maven//:com_typesafe_akka_akka_actor",
"@maven//:com_typesafe_akka_akka_stream",
"@maven//:org_scala_lang_modules_scala_java8_compat",
"@maven//:org_scalaz_scalaz_core",
],
tags = ["maven_coordinates=com.daml:sandbox:__VERSION__"],
visibility = [
"//visibility:public",
],
runtime_deps = [
"@maven//:ch_qos_logback_logback_classic",
"@maven//:ch_qos_logback_logback_core",
"@maven//:com_h2database_h2",
"@maven//:org_postgresql_postgresql",
"@maven//:org_xerial_sqlite_jdbc",
],
deps = [
"//daml-lf/archive:daml_lf_archive_reader",
"//daml-lf/archive:daml_lf_dev_archive_proto_java",
"//daml-lf/data",
"//daml-lf/engine",
"//daml-lf/language",
"//language-support/scala/bindings",
"//ledger/caching",
"//ledger/ledger-api-auth",
"//ledger/ledger-api-common",
"//ledger/ledger-api-domain",
"//ledger/ledger-api-health",
"//ledger/ledger-on-sql",
"//ledger/ledger-resources",
"//ledger/metrics",
"//ledger/participant-integration-api",
"//ledger/participant-state",
"//ledger/participant-state-metrics",
"//ledger/participant-state/kvutils",
"//ledger/sandbox-common",
"//libs-scala/build-info",
"//libs-scala/contextualized-logging",
"//libs-scala/ports",
"//libs-scala/resources",
"//libs-scala/resources-akka",
"//libs-scala/resources-grpc",
"@maven//:ch_qos_logback_logback_classic",
"@maven//:com_typesafe_config",
"@maven//:org_slf4j_slf4j_api",
],
actual = "sandbox-ce",
visibility = ["//visibility:public"],
)
[
da_scala_library(
name = "sandbox-{}".format(edition),
srcs = glob(["src/main/scala/**/*.scala"]),
# Do not include logback.xml into the library: let the user
# of the sandbox-as-a-library decide how to log.
resources = ["//ledger/sandbox-common:src/main/resources/banner.txt"],
scala_deps = [
"@maven//:com_github_scopt_scopt",
"@maven//:com_typesafe_akka_akka_actor",
"@maven//:com_typesafe_akka_akka_stream",
"@maven//:org_scala_lang_modules_scala_java8_compat",
"@maven//:org_scalaz_scalaz_core",
],
tags = ["maven_coordinates=com.daml:sandbox:__VERSION__"],
visibility = [
"//visibility:public",
],
runtime_deps = [
"@maven//:ch_qos_logback_logback_classic",
"@maven//:ch_qos_logback_logback_core",
"@maven//:com_h2database_h2",
"@maven//:org_postgresql_postgresql",
"@maven//:org_xerial_sqlite_jdbc",
],
deps = [
"//daml-lf/archive:daml_lf_archive_reader",
"//daml-lf/archive:daml_lf_dev_archive_proto_java",
"//daml-lf/data",
"//daml-lf/engine",
"//daml-lf/language",
"//language-support/scala/bindings",
"//ledger/caching",
"//ledger/ledger-api-auth",
"//ledger/ledger-api-common",
"//ledger/ledger-api-domain",
"//ledger/ledger-api-health",
"//ledger/ledger-on-sql",
"//ledger/ledger-resources",
"//ledger/metrics",
"//ledger/participant-integration-api",
"//ledger/participant-state",
"//ledger/participant-state-metrics",
"//ledger/participant-state/kvutils",
"//ledger/sandbox-common:sandbox-common-{}".format(edition),
"//libs-scala/build-info",
"//libs-scala/contextualized-logging",
"//libs-scala/ports",
"//libs-scala/resources",
"//libs-scala/resources-akka",
"//libs-scala/resources-grpc",
"@maven//:ch_qos_logback_logback_classic",
"@maven//:com_typesafe_config",
"@maven//:org_slf4j_slf4j_api",
],
)
for edition in [
"ce",
"ee",
]
]
da_scala_binary(
name = "sandbox-binary",
main_class = "com.daml.platform.sandboxnext.Main",

View File

@ -141,11 +141,13 @@
type: jar-scala
- target: //ledger/participant-state-metrics:participant-state-metrics
type: jar-scala
- target: //ledger/sandbox:sandbox
- target: //ledger/sandbox:sandbox-ce
type: jar-scala
- target: //ledger/sandbox-common:sandbox-common
type: jar-scala
- target: //ledger/sandbox-classic:sandbox-classic
- target: //ledger/sandbox-common:sandbox-common-ce
type: jar-scala
- target: //ledger/sandbox-classic:sandbox-classic-ce
type: jar-scala
- target: //ledger-service/db-backend:db-backend
type: jar-scala