Bazel java_war и война с сгенерированным веб-контентом (JS/CSS/HTML)

Я хотел бы создать модифицированный пример с использованием этого правила - java_war

https://github.com/bmuschko/rules_java_war

WEB-INF и META-INF доступны в источнике, но содержимое пользовательского интерфейса, то есть JS/HTML/CSS, поступает из удаленной ссылки на артефакты как TGZ.

Есть ли пример создания WAR с веб-контентом, который создается на лету

  1. Скачивание файла TGZ
  2. Распаковка файла TGZ
  3. Перемещение части извлеченного контента в 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",
   ],
)

0 ответов

Другие вопросы по тегам