mirror of
https://github.com/digital-asset/daml.git
synced 2024-09-20 01:07:18 +03:00
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:
parent
7859bc13e1
commit
e04bd91eda
@ -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",
|
||||
],
|
||||
)
|
||||
|
18
daml-assistant/daml-sdk/util.bzl
Normal file
18
daml-assistant/daml-sdk/util.bzl
Normal 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",
|
||||
]
|
33
daml-assistant/daml-sdk/validate.sh
Executable file
33
daml-assistant/daml-sdk/validate.sh
Executable 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
|
@ -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",
|
||||
|
@ -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",
|
||||
|
@ -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",
|
||||
|
@ -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",
|
||||
|
@ -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
|
||||
}
|
||||
}
|
@ -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
|
||||
}
|
||||
}
|
@ -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,
|
@ -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",
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user