Bazel java_war и война с сгенерированным веб-контентом (JS/CSS/HTML)
Я хотел бы создать модифицированный пример с использованием этого правила - java_war
https://github.com/bmuschko/rules_java_war
WEB-INF и META-INF доступны в источнике, но содержимое пользовательского интерфейса, то есть JS/HTML/CSS, поступает из удаленной ссылки на артефакты как TGZ.
Есть ли пример создания WAR с веб-контентом, который создается на лету
- Скачивание файла TGZ
- Распаковка файла TGZ
- Перемещение части извлеченного контента в WAR как веб-контент
Я чувствую, что web_app_srcs поможет, но мне трудно собрать все вместе. Любые указатели / примеры помогут.
Пробуем что-то подобное, но не могу даже приблизиться к тому, чтобы заставить его работать (с очень расплывчатыми знаниями Базеля)
// WORKSPACE
http_file(
name = "ui_bundle",
urls = ["https://domain/artifact.tgz"],
sha256 = "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
downloaded_file_path = "@ui_bundle://downloaded_file_path"
)
// BUILD
load("@io_bazel_rules_java_war//java_war:defs.bzl", "java_war")
filegroup(
name = 'ui_source',
srcs = ['//ui_bundle:downloaded_file_path'],
visibility = ['//visibility:public'],
)
java_war(
name = "web-app",
java_srcs = glob(["java/**/*.java"]),
web_app_dir = "web",
web_app_srcs = "ui_source",
deps = [
"@maven//:org_mortbay_jetty_servlet_api",
],
)