daml/language-support/codegen-main/BUILD.bazel
associahedron 2713d6978d
Reduce SDK tarball size by 70% by deduplicating Scala dependencies. (#3678)
* Start moving all the jars into a single jar.

* Fold navigator into daml-sdk jar

* include sandbox

* Remove unnecessary compileDeps.

CHANGELOG_BEGIN

- [DAML SDK] Reduced the size of the DAML SDK by about
60% uncompressed, 70% compressed, by deduplicating Scala
dependencies.

CHANGELOG_END

* update copyright header

* buildifier fix
2019-11-29 13:26:47 +00:00

75 lines
2.1 KiB
Python

# Copyright (c) 2019 The DAML Authors. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
load(
"//bazel_tools:scala.bzl",
"da_scala_binary",
"da_scala_library",
"scala_source_jar",
"scaladoc_jar",
)
load(
"@com_github_johnynek_bazel_jar_jar//:jar_jar.bzl",
"jar_jar",
)
load("//bazel_tools:pom_file.bzl", "pom_file")
load("@os_info//:os_info.bzl", "is_windows")
da_scala_library(
name = "codegen-main-lib",
srcs = glob(["src/main/**/*.scala"]),
visibility = ["//visibility:public"],
deps = [
"//daml-assistant/scala-daml-project-config",
"//language-support/codegen-common",
"//language-support/java/codegen:lib",
"//language-support/scala/codegen:codegen-main",
"@maven//:ch_qos_logback_logback_classic",
"@maven//:com_github_scopt_scopt_2_12",
"@maven//:com_typesafe_scala_logging_scala_logging_2_12",
],
)
da_scala_binary(
name = "codegen-main",
srcs = glob(["src/main/**/*.scala"]),
main_class = "com.digitalasset.codegen.CodegenMain",
visibility = ["//visibility:public"],
deps = [
"//daml-assistant/scala-daml-project-config",
"//language-support/codegen-common",
"//language-support/java/codegen:lib",
"//language-support/scala/codegen:codegen-main",
"@maven//:ch_qos_logback_logback_classic",
"@maven//:com_github_scopt_scopt_2_12",
"@maven//:com_typesafe_scala_logging_scala_logging_2_12",
],
)
jar_jar(
name = "shaded_binary",
input_jar = "//language-support/codegen-main:codegen-main_deploy.jar",
rules = "shade_rule",
tags = ["maven_coordinates=com.daml:codegen-main:__VERSION__"],
visibility = ["//visibility:public"],
)
pom_file(
name = "shaded_binary_pom",
target = ":shaded_binary",
visibility = ["//visibility:public"],
)
# Create empty Scaladoc JAR for uploading to Maven Central
scaladoc_jar(
name = "shaded_binary_scaladoc",
srcs = [],
deps = [],
) if is_windows == False else None
# Create empty Sources JAR for uploading to Maven Central
scala_source_jar(
name = "shaded_binary_src",
srcs = [],
)