sgammon/GUST

View on GitHub
tools/bundler/BUILD.bazel

Summary

Maintainability
Test Coverage
##
# Copyright © 2020, The Gust Framework Authors. All rights reserved.
#
# The Gust/Elide framework and tools, and all associated source or object computer code, except where otherwise noted,
# are licensed under the Zero Prosperity license, which is enclosed in this repository, in the file LICENSE.txt. Use of
# this code in object or source form requires and implies consent and agreement to that license in principle and
# practice. Source or object code not listing this header, or unless specified otherwise, remain the property of
# Elide LLC and its suppliers, if any. The intellectual and technical concepts contained herein are proprietary to
# Elide LLC and its suppliers and may be covered by U.S. and Foreign Patents, or patents in process, and are protected
# by trade secret and copyright law. Dissemination of this information, or reproduction of this material, in any form,
# is strictly forbidden except in adherence with assigned license requirements.
##

package(
    default_visibility = ["//visibility:public"],
)

load(
    "//defs/toolchain:deps.bzl",
    "maven",
    "javaproto",
)

load(
    "//defs/toolchain/java:rules.bzl",
    "jdk_binary",
)

_COMMON_DEPS = [
    "@javax_annotation_api",
    "@com_google_code_findbugs_jsr305",
    "@com_google_protobuf//:protobuf_java",
    "@com_google_protobuf//:protobuf_java_util",
    maven("com.google.guava:guava"),
    maven("org.slf4j:slf4j-api"),
]


jdk_binary(
    name = "AssetBundler",
    srcs = ["AssetBundler.java"],
    main_class = "tools.bundler.AssetBundler",
    deps = [
        "//java/gust:Core",
        "//java/gust/util:Pair",
        "//java/gust/util:Hex",
        javaproto("//gust/core:crypto"),
        javaproto("//gust/core:data"),
        javaproto("//gust/assets:bundle_proto"),
        javaproto("//gust/page:page_proto"),
        maven("info.picocli:picocli"),
        maven("io.reactivex.rxjava2:rxjava"),
        "@com_google_template_soy",
        "@org_brotli//java/org/brotli/wrapper/enc:enc",
    ] + _COMMON_DEPS,
    data = [
        "@org_brotli//java/org/brotli/wrapper/enc:brotli_jni",
    ],
    jvm_flags = [
        "-DBROTLI_JNI_LIBRARY=$$JAVA_RUNFILES/org_brotli/java/brotli_jni.dll",
    ],
    runtime_deps = [
        "@com_google_template_soy",
        maven("ch.qos.logback:logback-classic"),
    ],
    enable_debug = False,
    classpath_resources = [
        "//tools:logback.xml",
    ],
)